2019-12-26 23:01:54 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
using System ;
using System.Collections ;
using System.Collections.Generic ;
2014-04-28 19:56:45 -04:00
using System.Linq ;
2014-03-14 14:13:41 -04:00
using System.IO ;
using System.Diagnostics ;
using System.Security.AccessControl ;
using System.Xml ;
2019-03-19 11:32:16 -04:00
using System.Xml.Linq ;
2014-03-14 14:13:41 -04:00
using System.Text ;
2014-04-23 19:28:13 -04:00
using Ionic.Zip ;
using Ionic.Zlib ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3550452 by Ben.Marsh
UAT: Improve readability of error message when an editor commandlet fails with an error code.
Change 3551179 by Ben.Marsh
Add methods for reading text files into an array of strings.
Change 3551260 by Ben.Marsh
Core: Change FFileHelper routines to use enum classes for flags.
Change 3555697 by Gil.Gribb
Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.
#jira UE-47668
Change 3556464 by Ben.Marsh
UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.
Change 3557630 by Ben.Marsh
Allow the network version to be set via Build.version if it's not overriden from Version.h.
Change 3561357 by Gil.Gribb
Fixed crashes related to loading old unversioned files in the editor.
#jira UE-47806
Change 3565711 by Graeme.Thornton
PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)
Change 3565864 by Robert.Manuszewski
Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.
Change 3569022 by Ben.Marsh
PR #3849: Update gitignore (Contributed by mhutch)
Change 3569113 by Ben.Marsh
Fix Japanese errors not displaying correctly in the cook output log.
#jira UE-47746
Change 3569486 by Ben.Marsh
UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.
Change 3570483 by Graeme.Thornton
Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors
Change 3570513 by Robert.Manuszewski
Fix for a race condition with async loading thread enabled.
Change 3570664 by Ben.Marsh
UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.
Change 3570708 by Robert.Manuszewski
Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.
Change 3571592 by Ben.Marsh
UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.
Change 3572215 by Graeme.Thornton
UBT
- Remove some unnecessary using directives
- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself
Change 3572437 by Robert.Manuszewski
Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.
#jira UE-44996
Change 3572480 by Robert.Manuszewski
MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long
Change 3573547 by Ben.Marsh
Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.
Change 3574562 by Robert.Manuszewski
PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)
Change 3575017 by Ben.Marsh
Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.
Change 3575689 by Ben.Marsh
Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.
Change 3575934 by Steve.Robb
Fix for nested preprocessor definitions.
Change 3575961 by Steve.Robb
Fix for nested zeros.
Change 3576297 by Robert.Manuszewski
Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.
#jira FORT-38977
Change 3576366 by Ben.Marsh
Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.
Change 3578290 by Graeme.Thornton
Changes to Ionic zip library to allow building on dot net core
Change 3578291 by Graeme.Thornton
Ionic zip library binaries built for .NET Core
Change 3578354 by Graeme.Thornton
Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string
Change 3578674 by Robert.Manuszewski
After loading packages flush linker cache on uncooked platforms to free precache memory
Change 3579068 by Steve.Robb
Fix for CLASS_Intrinsic getting stomped.
Fix to EClassFlags so that they are visible in the debugger.
Re-added mysteriously-removed comments.
Change 3579228 by Steve.Robb
BOM removed.
Change 3579297 by Ben.Marsh
Fix exception if a plugin lists the same module twice.
#jira UE-48232
Change 3579898 by Robert.Manuszewski
When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.
Change 3579983 by Robert.Manuszewski
More fixes for freeing linker cache memory in the editor.
Change 3580012 by Graeme.Thornton
Remove redundant copy of FileReference.cs
Change 3580408 by Ben.Marsh
Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.
Change 3582104 by Graeme.Thornton
Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.
Change 3582131 by Graeme.Thornton
#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.
Change 3582645 by Ben.Marsh
PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)
#jira UE-48192
Change 3583955 by Robert.Manuszewski
Support for EDL cooked packages in the editor
Change 3584035 by Graeme.Thornton
Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.
Change 3584177 by Robert.Manuszewski
Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)
Change 3584315 by Ben.Marsh
Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.
Change 3584370 by Ben.Marsh
Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.
Change 3584498 by Ben.Marsh
Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.
Change 3585003 by Steve.Robb
Fix for TChunkedArray ranged-for iteration.
#jira UE-48297
Change 3585235 by Ben.Marsh
Remove LogEngine extern from Core; use the platform log channels instead.
Change 3585942 by Ben.Marsh
Move MessageBoxExt() implementation into application layer for platforms that require it.
Change 3587071 by Ben.Marsh
Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.
Change 3587161 by Ben.Marsh
Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.
Change 3587579 by Steve.Robb
Fix for Children list not being rebuilt after hot reload.
Change 3587584 by Graeme.Thornton
Logging improvements for pak signature check failures
- Added "PakCorrupt" console command which corrupts the master signature table
- Added some extra log information about which block failed
- Re-hash the master signature table and to make sure that it hasn't changed since startup
- Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
- Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again
Change 3587586 by Graeme.Thornton
Changes to make UBT build and run on .NET Core
- Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
- VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
- After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects
Change 3587953 by Steve.Robb
Allow arbitrary UENUM initializers for enumerators.
Editor-only data UENUM support.
Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.
#jira UE-46274
Change 3589827 by Graeme.Thornton
More fixes for VSCode project generation and for UBT running on .NET Core
- Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
- UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
- Added documentation for UEConsoleTraceListener
- All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
- Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
- Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff
Change 3589868 by Graeme.Thornton
Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.
UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases
Change 3589919 by Robert.Manuszewski
Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)
Change 3589940 by Graeme.Thornton
Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.
Change 3590078 by Graeme.Thornton
Fully disable automatic assembly info generation in .NET Core projects
Change 3590534 by Robert.Manuszewski
Marking UObject as intrinsic clas to fix a crash on UFE startup.
Change 3591498 by Gil.Gribb
UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.
Change 3591605 by Gil.Gribb
UE4 - Follow up to fixing several edge cases in the low level async loading code.
Change 3592577 by Graeme.Thornton
.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates
Change 3592684 by Steve.Robb
Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.
Change 3592710 by Steve.Robb
Fix for invalid casts in ListProps command.
Some name changes in command output.
Change 3592715 by Ben.Marsh
Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.
Change 3592767 by Gil.Gribb
UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.
Change 3592770 by Gil.Gribb
UE4 - Fixed a race condition with async read completion in the prescence of cancels.
Change 3593090 by Steve.Robb
Better error message when there two clashing type names are found.
Change 3593697 by Steve.Robb
VisitTupleElements function, which calls a functor for each element in the tuple.
Change 3595206 by Ben.Marsh
Include additional diagnostics for missing imports when a module load fails.
Change 3596140 by Graeme.Thornton
Batch file for running MSBuild
Change 3596267 by Steve.Robb
Thread safety fix to FPaths::GetProjectFilePath().
Change 3596271 by Robert.Manuszewski
Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor
#jira UE-47535
Change 3596283 by Steve.Robb
Redundant casts removed from UHT.
Change 3596303 by Ben.Marsh
EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.
Change 3596337 by Ben.Marsh
UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.
Change 3596367 by Steve.Robb
Iterator checks in ranged-for on TMap, TSet and TSparseArray.
Change 3596410 by Gil.Gribb
UE4 - Improved some error messages on runtime failures in the EDL.
Change 3596532 by Ben.Marsh
UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.
#jira UE-48119
Change 3596631 by Steve.Robb
Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.
Change 3596807 by Ben.Marsh
Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.
* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.
Change 3596957 by Steve.Robb
UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
Renaming of ObjMap to ObjSrcMap in MapFileParser.
Change 3597213 by Ben.Marsh
Remove AutoReporter. We don't support this any more.
Change 3597558 by Ben.Marsh
UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:
+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")
The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.
Change 3597982 by Ben.Marsh
Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).
#jira UE-47173
Change 3598045 by Ben.Marsh
UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).
Change 3599214 by Ben.Marsh
Avoid string duplication when comparing extensions.
Change 3600038 by Steve.Robb
Fix for maps being modified during iteration in cache compaction.
Change 3600136 by Steve.Robb
GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool
Change 3600214 by Steve.Robb
More accurate error message when unsupported template parameters are provided in a TSet property.
Change 3600232 by Ben.Marsh
UBT: Force UHT to run again if the .build.cs file for a module has changed.
#jira UE-46119
Change 3600246 by Steve.Robb
GitHub #3045 : allow multiple interface definition in a file
Change 3600645 by Ben.Marsh
Convert QAGame to Include-What-You-Use.
Change 3600897 by Ben.Marsh
Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.
Change 3601558 by Graeme.Thornton
Simple first pass VSCode editor integration plugin
Change 3601658 by Graeme.Thornton
Enable intellisense generation for VS Code project files and setup include paths properly
Change 3601762 by Ben.Marsh
UBT: Add support for adaptive non-unity builds when working from a Git repository.
The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.
Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:
<SourceFileWorkingSet>
<Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
<RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
<GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
</SourceFileWorkingSet>
Change 3604032 by Graeme.Thornton
First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.
Change 3604038 by Graeme.Thornton
Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.
Change 3604106 by Steve.Robb
GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro
Change 3604192 by Steve.Robb
GitHub #3911 : Improving ToUpper/ToLower efficiency
Change 3604273 by Graeme.Thornton
IWYU build fixes when malloc profiler is enabled
Change 3605457 by Ben.Marsh
Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.
Change 3606720 by James.Hopkin
Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.
Change 3606807 by Graeme.Thornton
Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.
Change 3607026 by James.Hopkin
Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed
Change 3607142 by Graeme.Thornton
UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.
Change 3607146 by Ben.Marsh
UGS: Fix exception due to formatting string when Perforce throws an error.
Change 3607147 by Steve.Robb
Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
Float and double conversion support added to int properties.
NAME_DoubleProperty added.
Fix for converting enum class enumerators > 255 to int properties.
Change 3607516 by Ben.Marsh
PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)
Change 3610421 by Ben.Marsh
UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.
Change 3610657 by Ben.Marsh
UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.
Change 3611000 by Ben.Marsh
UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.
Change 3612471 by Ben.Marsh
UBT: Move FastJSON into DotNETUtilities.
Change 3613479 by Ben.Marsh
UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.
Change 3613910 by Ben.Marsh
UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.
Change 3614075 by Ben.Marsh
UBT: Remove hacks for testing project file attributes by name.
Change 3614090 by Ben.Marsh
UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.
Change 3614488 by Ben.Marsh
UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.
Change 3614490 by Ben.Marsh
UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.
Change 3614962 by Ben.Marsh
UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.
Change 3615416 by Ben.Marsh
EC: Include an icon showing the overall status of a build in the grid view.
Change 3615713 by Ben.Marsh
UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.
#jira UE-48987
Change 3616652 by Ben.Marsh
Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.
#jira UE-49007
Change 3616680 by Ben.Marsh
Add the CodeAPI-HTML.tgz file into the installed engine build.
Change 3616767 by Ben.Marsh
Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.
Change 3616864 by Ben.Marsh
Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.
#jira UE-48711
Change 3619964 by Ben.Marsh
UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.
Change 3548930 by Ben.Marsh
UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.
Change 3558056 by Ben.Marsh
Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).
Change 3563309 by Graeme.Thornton
Moved some common C# classes into the DotNETCommon assembly
Change 3570283 by Graeme.Thornton
Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore
Change 3572811 by Ben.Marsh
UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).
Change 3573397 by Ben.Marsh
UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.
Change 3575659 by Ben.Marsh
Remove CHM API documentation.
Change 3582103 by Graeme.Thornton
Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core
Removed reference to System.Windows.Form from UBT.
Change 3584113 by Ben.Marsh
Move key-mapping functionality into the InputCore module.
Change 3584278 by Ben.Marsh
Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.
Change 3584453 by Ben.Marsh
Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.
Change 3585301 by Ben.Marsh
Move PlatformPostInit() into an FPlatformApplicationMisc function.
Change 3587050 by Ben.Marsh
Move IsThisApplicationForeground() into FPlatformApplicationMisc.
Change 3587059 by Ben.Marsh
Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.
Change 3587119 by Ben.Marsh
Move GetAbsoluteLogFilename() into FPlatformMisc.
Change 3587800 by Steve.Robb
Fixes to container visualizers for types whose pointer type isn't simply Type*.
Change 3588393 by Ben.Marsh
Move platform output devices into their own headers.
Change 3588868 by Ben.Marsh
Move creation of console, error and warning output devices int PlatformApplicationMisc.
Change 3589879 by Graeme.Thornton
All automation projects now have a reference to DotNETUtilities
Fixed a build error in the WEX automation library
Change 3590034 by Ben.Marsh
Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).
Change 3593754 by Steve.Robb
Fix for tuple debugger visualization.
Change 3597208 by Ben.Marsh
Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.
Change 3600163 by Ben.Marsh
UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.
#jira UE-46725
Change 3604279 by Graeme.Thornton
Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects
Change 3606685 by James.Hopkin
Removed redundant 'Cast's (casting to either the same type or a base).
In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.
Change 3610950 by Ben.Marsh
UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.
Change 3610991 by Ben.Marsh
UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.
Change 3612342 by Ben.Marsh
UBT: Change JsonObject.Read() to take a FileReference parameter.
Change 3612362 by Ben.Marsh
UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.
Change 3619128 by Ben.Marsh
Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.
[CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
using Tools.DotNETCommon ;
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
using System.Security.Cryptography.X509Certificates ;
2014-03-14 14:13:41 -04:00
namespace UnrealBuildTool
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
class IOSToolChainSettings : AppleToolChainSettings
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
/// <summary>
2019-10-11 16:59:16 -04:00
/// The version of the iOS SDK to target at build time.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
/// </summary>
[XmlConfigFile(Category = "IOSToolChain")]
public string IOSSDKVersion = "latest" ;
public readonly float IOSSDKVersionFloat = 0.0f ;
2015-09-30 16:40:04 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
/// <summary>
2019-10-11 16:59:16 -04:00
/// The version of the iOS to allow at build time.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
/// </summary>
[XmlConfigFile(Category = "IOSToolChain")]
public string BuildIOSVersion = "7.0" ;
/// <summary>
/// Directory for the developer binaries
/// </summary>
public string ToolchainDir = "" ;
/// <summary>
/// Location of the SDKs
/// </summary>
public readonly string BaseSDKDir ;
public readonly string BaseSDKDirSim ;
public readonly string DevicePlatformName ;
public readonly string SimulatorPlatformName ;
public IOSToolChainSettings ( ) : this ( "iPhoneOS" , "iPhoneSimulator" )
2015-12-10 16:56:55 -05:00
{
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
protected IOSToolChainSettings ( string DevicePlatformName , string SimulatorPlatformName ) : base ( true )
{
XmlConfig . ApplyTo ( this ) ;
this . DevicePlatformName = DevicePlatformName ;
this . SimulatorPlatformName = SimulatorPlatformName ;
// update cached paths
BaseSDKDir = XcodeDeveloperDir + "Platforms/" + DevicePlatformName + ".platform/Developer/SDKs" ;
BaseSDKDirSim = XcodeDeveloperDir + "Platforms/" + SimulatorPlatformName + ".platform/Developer/SDKs" ;
ToolchainDir = XcodeDeveloperDir + "Toolchains/XcodeDefault.xctoolchain/usr/bin/" ;
// make sure SDK is selected
SelectSDK ( BaseSDKDir , DevicePlatformName , ref IOSSDKVersion , true ) ;
// convert to float for easy comparison
IOSSDKVersionFloat = float . Parse ( IOSSDKVersion , System . Globalization . CultureInfo . InvariantCulture ) ;
}
}
class IOSToolChain : AppleToolChain
{
2019-12-18 13:52:12 -05:00
private static List < FileItem > BundleDependencies = new List < FileItem > ( ) ;
2019-01-14 12:11:24 -05:00
public readonly ReadOnlyTargetRules Target ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
protected IOSProjectSettings ProjectSettings ;
2019-01-14 12:11:24 -05:00
public IOSToolChain ( ReadOnlyTargetRules Target , IOSProjectSettings InProjectSettings )
2019-05-24 11:51:54 -04:00
: this ( Target , InProjectSettings , ( ) = > new IOSToolChainSettings ( ) )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
{
}
2019-05-24 11:51:54 -04:00
protected IOSToolChain ( ReadOnlyTargetRules Target , IOSProjectSettings InProjectSettings , Func < IOSToolChainSettings > InCreateSettings )
: base ( ( Target = = null ) ? null : Target . ProjectFile )
2014-03-14 14:13:41 -04:00
{
2019-01-14 12:11:24 -05:00
this . Target = Target ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
ProjectSettings = InProjectSettings ;
Settings = new Lazy < IOSToolChainSettings > ( InCreateSettings ) ;
2014-03-14 14:13:41 -04:00
}
2017-01-31 12:01:21 -05:00
// ***********************************************************************
// * NOTE:
// * Do NOT change the defaults to set your values, instead you should set the environment variables
// * properly in your system, as other tools make use of them to work properly!
// * The defaults are there simply for examples so you know what to put in your env vars...
// ***********************************************************************
2014-03-14 14:13:41 -04:00
// If you are looking for where to change the remote compile server name, look in RemoteToolChain.cs
2015-09-24 13:47:13 -04:00
/// <summary>
2019-10-11 16:59:16 -04:00
/// If this is set, then we do not do any post-compile steps -- except moving the executable into the proper spot on Mac.
2015-09-24 13:47:13 -04:00
/// </summary>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
[XmlConfigFile]
2014-04-23 18:00:27 -04:00
public static bool bUseDangerouslyFastMode = false ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
/// The lazily constructed settings for the toolchain
2015-09-24 13:47:13 -04:00
/// </summary>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
private Lazy < IOSToolChainSettings > Settings ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Which compiler frontend to use
/// </summary>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
private const string IOSCompiler = "clang++" ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Which linker frontend to use
/// </summary>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
private const string IOSLinker = "clang++" ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Which library archiver to use
/// </summary>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
private const string IOSArchiver = "libtool" ;
2014-03-14 14:13:41 -04:00
2019-08-30 17:54:29 -04:00
public override string GetSDKVersion ( )
{
return Settings . Value . IOSSDKVersionFloat . ToString ( ) ;
}
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3627362)
#lockdown Nick.Penwarden
#rb None
============================
MAJOR FEATURES & CHANGES
============================
Change 3600639 by Nick.Shin
HTML5 remove old emscripten toolchain
forgot to remove this (was checked out in another changelist)
#jira UE-47813
Change 3600641 by Nick.Shin
HTML5 TM-Core crash fixes
new PhysX HTML5 libs
#jira UE-47813 Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox
Change 3600644 by Nick.Shin
HTML5 TM-Core crash fixes
emscripten doesn't seem to know how to look at <PxRigidActor> from the PxActor class...
#jira UE-47813 Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox
Change 3600647 by Nick.Shin
HTML5 UInterpTrackInst::GetGroupActor()
pre-null check
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
Change 3601439 by Dmitriy.Dyomin
Fixed: Protostar leads to device reboot in Galaxy S7 Adreno device. (SM-G930V)
#jira UE-48323
Change 3601440 by Dmitriy.Dyomin
Fixed: Texture streaming after world origin was rebased
Change 3601456 by Dmitriy.Dyomin
Added: Async loading bytecode from shader library
- Shader library will be packed into single file
- Shader library will be created only when packaging project by the book
#jira UEMOB-381
Change 3601624 by Jack.Porter
Fix landscape crash on HTML5 Exception !IsInRenderingThread() failed.
#jira UE-48527
Change 3603890 by Dmitriy.Dyomin
GitHub 3905 : Engine crash in LandscapeComponent when streaming levels
#3905
#jira UE-48422
Change 3603933 by Dmitriy.Dyomin
Fixed: Crash after Splash Screen on Android (ETC2) when Adding r.UseShaderCaching and r.UseShaderPredraw
- Added r.SaveShaderCache command to save current cache on demand
- Removed support for caching multiple platfroms at the same time, each platform now uses separate cache/file
- Significantly reduced size of draw log on disk
- Mobile platfroms support only basic caching, logging shaders and bound shader states without full gfx state
#jira UE-47553
Change 3604050 by Sorin.Gradinaru
#jira UE-47428 Android virtual keyboard polishing
Done:
Multiline should be disabled when not needed
Hide suggestions and autocorrect
"Done" / back button behavior to make it feel natural - Done/Enter and the Back key event sent to the engine
If the keyboard is up and you click on the same control you're currently inputting into, it will hide the keyboard.
Look into animation - not critical.
S6 with Swiftkey. The numbers don't show up in our textedit but the string is updated (we see dots in the Slate control) with the password entry
Could not reproduce/test:
Make sure we don't use negative coords for the input box if the keyboard is at the top of the screen
Change 3604081 by Allan.Bentham
Reduce redundant log spam from SustainedPerformanceMode on android.
Change 3604152 by Allan.Bentham
Improved vulkanRHI availability and selection reporting.
Change 3604186 by Dmitriy.Dyomin
Vulkan: Write to buffers directly on UMA devices (no staging)
Change 3604396 by Nick.Shin
HTML5 - stats and multi-threading checks
more null & multi-threading - and some functions flat out disabled for HTML5 platform
the big "don't use on HTML5" is TLockFreeFixedSizeAllocator_TLSCacheBase's manual TLS.PartialBundle memory handler... i'm not sure it's working properly... switched on USE_NIEVE_TLockFreeFixedSizeAllocator_TLSCacheBase sections of code (i.e. basic malloc and free) for PLATFORM_HTML5
- it seems only the stats function was exacerbating the memory bug ... but, shutting this completely out for HTML5... don't know if it's an emscripten compiler/corruption that's causing this...
- will send this to emscripten makers as another test case for them to help see what's going on...
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
Change 3604752 by Allan.Bentham
Reduce battery status log spam.
Change 3604825 by Nick.Shin
HTML5 emscripten 1.37.19 updated license file
#jira UE-47813
Change 3606486 by Jack.Porter
Enabled refraction on tvOS
#jira UE-47229
Change 3606546 by Dmitriy.Dyomin
Vulkan: Missed null check from CL# 3601439
Change 3606654 by Allan.Bentham
mobile post process shaders will not attempt depth buffer fetch, instead they will always read from the depth texture.
#jira UE-41919
Change 3606672 by Dmitriy.Dyomin
Fixed: Vulkan mode crashes without error on Tegra K1 Nvidia Shield due to OOM
- fixed r.MobileReduceLoadedMips has no effect
- added r.MobileMaxLoadedMips to set a limit to a number of mips
- reduced size of vulkan allocation pages on android
#jira UE-42838
Change 3607204 by Allan.Bentham
Do not attempt getprocaddress for GL_EXT_DEBUG_LABEL functions when the extension is not declared.
Change 3607214 by Nick.Shin
HTML5 - stats font crash fix
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
Change 3609164 by Chris.Babcock
More informative Android SDK license requirements and errors
#jra UE-48837
#ue4
#android
Change 3609175 by Chris.Babcock
Linux build fix
#jira none
Change 3609516 by Dmitriy.Dyomin
Fixed: Decals in TM-ShaderModels appearing and disappearing when viewed at certain angles on Android
#jira UE-45342
Change 3609618 by Dmitriy.Dyomin
Back out changelist 3603933, to help merge from main
Change 3610979 by Peter.Sauerbrei
addition of asset catalogs for icons on Xcode 9 for iOS 11
Change 3612145 by Dmitriy.Dyomin
Resubmitting CL #3603933 (shader cache fixes)
Change 3613981 by Chris.Babcock
Fix issue with Android password keyboard input
#jira WEX-7343
#ue4
#android
Change 3614375 by Sorin.Gradinaru
#jira UE-44656 StrategyGame Crashes on launch on KindleFire 5th Gen.
Kindle Fire HD7 5th (CPU Mali 450) seems to have problems with thread rendering, crashing when returning to the main thread.
Added new device profile [Android_Mali_4xx_KindleFire] with a new cvar r.AndroidDisableThreadedRenderingFirstLoad=1, disabling movie player rendering on the intial screen. For subsequent loading screens, the (same) code apparently runs Ok.
A warning "Initial loading screen disabled from BaseDeviceProfiles.ini: r.AndroidDisableThreadedRenderingFirstLoad=1" should appear when the thread rendering is disabled
Change 3614971 by Cosmin.Sulea
UE-46769 - GitHub 3745 : bForcePVRTC4 was ignored.
#jira UE-46769
Change 3616431 by Peter.Sauerbrei
PR3657,3658 - fixes for InApp purchase bugs courtesy of nverenik
Change 3617306 by Jack.Porter
Fix issue where undocked tabs had no way to be made visible again when hidden
#jira UE-12044
Change 3617312 by Jack.Porter
Find a new best MobileDirectionalLights[channel] when then current one is removed from the world (eg by a level streaming operation)
#jira UE-47135
#3785
Change 3617383 by Dmitriy.Dyomin
Vk - only dynamic buffers in HostVisible on UMA devices
Change 3617437 by Dmitriy.Dyomin
Vk - SRV allocates one BufferView for each buffer in FVulkanResourceMultiBuffer, so they can be reused (contributed by Samsung)
Change 3617474 by Dmitriy.Dyomin
Vk - Don't use fences on image acquire on Android
Change 3617483 by Dmitriy.Dyomin
Vk - Remove redundant dynamic state setup (viewport, scissor, stencilref) (contributed by Samsung)
Change 3617521 by Dmitriy.Dyomin
Fix CIS warnings
Change 3617574 by Dmitriy.Dyomin
Vk - Optimized RenderPass pool and Framebuffer pool (reduced vkObject count) (contributed by Samsung)
ProtoStar: Framebuffer count : 133 -> 108, Renderpass count : 21 -> 18
Change 3617585 by Dmitriy.Dyomin
compile fix for CL# 3617574
Change 3617849 by Allan.Bentham
Log UnsatisfiedLinkError's content when loadlibrary fails.
Change 3617945 by Chris.Babcock
Allow UPL variable expansion in addPermission, addFeature, and addLibrary
#jira UE-47421
#ue4
#android
Change 3618097 by Allan.Bentham
Fix Y axis switch with android GLES when rendering triangles to canvas.
#jira UE-44510
Change 3618733 by Peter.Sauerbrei
fix from Dev-Rendering for tvOS shader compilation
Change 3618761 by Peter.Sauerbrei
fix for shader crash on startup on iOS
Change 3618769 by Peter.Sauerbrei
bump metal shader guid to force a rebuild of shaders
Change 3620061 by Peter.Sauerbrei
fix for resource directory on Asset catalogs
#jira UE-49074
Change 3620520 by Peter.Sauerbrei
remove the texture warning, the logic was incorrect and in the end we don't need the warning
#jira UE-49057
Change 3621811 by Allan.Bentham
Add mipindex and array slice index to framebuffer hashing code.
#jira UE-49171
Change 3624410 by Jack.Porter
Fix issue where the Shared Material Native Libraries checkbox causes packaging for Android to fail
#jira UE-49105
Change 3627361 by Jack.Porter
Fixing case on iOS files
#jira None
Change 3627362 by Jack.Porter
Fixed case on IOS files
#jira None
[CL 3627373 by Jack Porter in Main branch]
2017-09-06 01:04:25 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
public override void ModifyBuildProducts ( ReadOnlyTargetRules Target , UEBuildBinary Binary , List < string > Libraries , List < UEBuildBundleResource > BundleResources , Dictionary < FileReference , BuildProductType > BuildProducts )
2015-06-15 11:06:51 -04:00
{
2019-12-11 17:49:50 -05:00
if ( Target . IOSPlatform . bCreateStubIPA & & Binary . Type ! = UEBuildBinaryType . StaticLibrary )
2014-04-23 19:28:13 -04:00
{
2018-04-02 13:13:17 -04:00
FileReference StubFile = FileReference . Combine ( Binary . OutputFilePath . Directory , Binary . OutputFilePath . GetFileNameWithoutExtension ( ) + ".stub" ) ;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
BuildProducts . Add ( StubFile , BuildProductType . Package ) ;
2018-04-02 13:13:17 -04:00
2019-08-30 17:54:29 -04:00
if ( Target . Platform = = UnrealTargetPlatform . TVOS )
{
2018-02-22 11:25:06 -05:00
FileReference AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "AssetCatalog" , "Assets.car" ) ;
2019-08-30 17:54:29 -04:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
}
2019-05-24 11:51:54 -04:00
else if ( Target . Platform = = UnrealTargetPlatform . IOS & & Settings . Value . IOSSDKVersionFloat > = 11.0f )
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
{
2018-02-22 11:25:06 -05:00
int Index = Binary . OutputFilePath . GetFileNameWithoutExtension ( ) . IndexOf ( "-" ) ;
string OutputFile = Binary . OutputFilePath . GetFileNameWithoutExtension ( ) . Substring ( 0 , Index > 0 ? Index : Binary . OutputFilePath . GetFileNameWithoutExtension ( ) . Length ) ;
FileReference AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "Assets.car" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon20x20@2x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon20x20@2x~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon20x20@3x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon20x20~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon29x29@2x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon29x29@2x~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon29x29@3x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon29x29~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon40x40@2x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon40x40@2x~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon40x40@3x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon40x40~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon60x60@2x.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon76x76@2x~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon76x76~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
2018-02-22 11:25:06 -05:00
AssetFile = FileReference . Combine ( Binary . OutputFilePath . Directory , "Payload" , OutputFile + ".app" , "AppIcon83.5x83.5@2x~ipad.png" ) ;
Copying WEX-Staging @ (WEX/Main @ 3740665) to //UE4/Main
#lockdown Nick.Penwarden
#rb none
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main/Engine @ 3740665)
#lockdown Nick.Penwarden
Change 3739326 by Ben.Zeigler
Change iteration order of depends nodes so it lists hard management references before soft management references, this is better for the UI when lots of references exist
Update text for loading custom asset registry bin to be clearer
Change 3739000 by John.Opila
Caching optimization for text widget desired size.
Change 3713551 by David.Nikdel
Allow Set Properties to recognize Json array values as importable.
Change 3712485 by Josh.May
Added Pete's fix for the PLATFORM_TVOS/PLATFORM_IOS #define conflict introduced by mach-o/loader.h
Change 3700174 by Chris.Babcock
Fix setFilters crash on some Android devices
Change 3691531 by Josh.May
Fixed an intermittent crash that occurred when opening the AssetAuditBrower. AssetManagerEditorModule's CurrentRegistrySource was getting set too early, becoming invalid in the event that RegistrySourceMap is resized.
Change 3688409 by Gil.Gribb
Critical fix for an extremely rare race condition on async IO.
Change 3687529 by josh.may
Force layout recalculations for single-pass layout SScaleBoxes when their final scale is zero. This tends to occur in calls to SearchForWidgetRecursively before a SScaleBox's AllottedGeometry has been calculated.
Change 3684788 by Peter.Sauerbrei
fix for archive generation on the build machines
Change 3684320 by john.opila
Workaround for widgets disappering. Ensuring scale is never 0 so we don't get divide by zero.
Change 3684042 by Peter.Sauerbrei
more logging to figure out why there is not data in the Applicaiton diretory of the archive
Change 3678620 by Ben.Zeigler
Minor text changes to size map
Change 3678314 by Ben.Zeigler
Add Make Collection With References and Audit References to Size Map to easily allow inspecting the specific set of filtered packages in other tools
Change 3677875 by Ben.Zeigler
Fix crash in size map from keeping reference to node after map was resized, and undo the Name->DisplayName rename as it could affect licensees
Change 3676899 by Peter.Sauerbrei
narrowed down to the plist data, trying to figure out if it is missing or not
Change 3676570 by Peter.Sauerbrei
more logging to track down the archive error
Change 3676293 by Peter.Sauerbrei
fix for compile failure on IOS
Change 3676172 by Peter.Sauerbrei
potential fix for missing icons in the ipa when run through the build machines
Change 3673544 by Ben.Zeigler
Sort AllChunksInfo alphabetically so the order is consistent accross build and platforms to facillitate diffing
Change 3671597 by Peter.Sauerbrei
Merging
//UE4/Dev-Mobile/Engine/...
to //WEX/Main/Engine/...
Change 3670932 by Ben.Zeigler
Change it so cooking with the AssetManager writes out AllChunksInfo.csv next to the DevelopmentAssetRegistry, but not the per-chunk csv files as those are not useful. Also made the size counts platform accurate
Change 3670906 by Peter.Sauerbrei
update WEX for building with Xcode 9
Change 3660026 by Josh.May
Moved SWebBrowserView's parent window "searches" to OnPaint. There's definitely something wrong with FindWidgetWindow... Even after deferring SWebBrowserView's calls to FindWidgetWindow until first Tick, the same widget layout artifacts could occur after opening multiple SWebBrowserViews. And, as Nick pointed out in the related email thread, this approach is also more efficient.
Change 3655411 by Josh.May
Ensure SWebBrowserView's parent window searches are deferred until after Construct. We haven't puzzled through it yet, but calling FindWidgetWindow during Construct seems to corrupt some Slate state. Deferring this search until later gets around the issue and makes sense anyway, given the widget isn't added to the hierarchy until after Construct.
Change 3655407 by John.Opila
Sneaking in some stats for SpawnActor.
Change 3654649 by Ben.Zeigler
Refactor SizeMap and ReferenceViewer into the AssetManagerEditor plugin, and delete the old modules.
Fix SizeMap crash that I temporarily added. TreeMap is initialized weirdly
Change 3648912 by Ben.Zeigler
First half of changes to refactor sizemap/reference viewer into the asset manager editor plugin
Add GetAllContentBrowserCommandExtenders to ContentBrowserModule that allows registering commands/keybinds to extend the content browser via plugins
Add GetSharedMenu/ToolbarExtensibilityManager to AssetEditorToolkit that allows extending the generic asset editor via plugin
Move the code to spawn the Reference Viewer and SizeMap into the AssetManagerEditor plugin so these UIs can be tightly bound and share data. This also enables keybinds for Size Map and Audit.
Remove size map from the save as dialog, it created a special modal size map window that will not work after my refactor
Change 3639419 by Ben.Marsh
Use DirectoryInfo instead of DirectoryReference to enumerate projects. Tracking down UHT compile failures on Mac.
Change 3638619 by David.Nikdel
AsyncLoading: Suggested change by Gil to add lock prior to changing LoadPhase to WaitingForHeader (presumably to make FArchiveAsync2::StartReadingHeader's assumption about locking true)
Change 3633562 by Chris.Babcock
Update Android virtual keyboard support
Change 3630564 by Peter.Sauerbrei
fix for the manifest stage problem
Change 3629577 by Chris.Babcock
Fix merge errors in GameActivity.java
Change 3629154 by David.Nikdel
Disable debug device output in shipping builds (even if logs are enabled)
Change 3626542 by John.Opila
Back out changelist 3603452
Undoing the OpenGL load changes as the initial load time was just too damn high!
Change 3620472 by David.Nikdel
Fix from Nick to fix a BP that crashes on Compile
Change 3618090 by Josh.May
Reset inertial scrolling for SScrollboxes and STableView-based Slate widgets when scrolling to specific scroll offsets.
Change 3613980 by Chris.Babcock
Fix issue with Android password keyboard input
Change 3603825 by John.Opila
Shader change doesn't seem to like standalone PC.
Change 3603452 by John.Opila
Moving openGL shader compilation into loading instead of at the last minute.
Change 3593008 by David.Nikdel
Merging CL 3504471
from //Fortnite/Dev-Cinematics/Engine/...
to //WEX/Main/Engine/...
----------------------------------------
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS
=================================================================================================
Change 3739931 by Ben.Zeigler
changes to some asset manager code modified on WEX, and fix several FStringAssetReference->FSoftObjectPath
Change 3723451 by Josh.May
Exposed OnBeforePopup to UMG and Blueprint for UWebBrowser. This is triggered by the CEFBrowserHandler when attempting to open hyperlinks targeting _blank and, when not handled, would result in the page never loading.
Added OnBeforePopup handling for the HTMLNewsWidget, ensuring the URLs are opened in an external browser.
Change 3711256 by Dmitriy.Dyomin
Fixed: Friend list invalidation panel relative transform caching issues
Also fixed issues with and set slate.cacherenderdata=0 for better batching
Change 3698695 by Josh.May
Made the UMG default font overridable via config, allowing us to replace it with a game-scope localized Font asset. If there's a better place for this mechanism/accessor to live, please let me know.
Added a new 'Default' font that replicates '/Engine/EngineFonts/Roboto'. This also has a localized Font asset variant for zh-Hans.
Change 3676085 by Josh.May
Implemented MulticastBroadcastReceiver, a BroadcastReceiver capable of "multicasting" intents to other receivers. AppsFlyer defines a similar MultiInstallBroadcastReceiver class specific to the INSTALL_REFERRER intent, but it MUST be the very first one defined (cannot be guaranteed in our build pipeline AFAIK).
Added MulticastBroadcastReceiver (for INSTALL_REFERRER) to the AndroidManifest generation logic, allowing BOTH Adjust and AppsFlyer to receive the intent.
Added dev channel support for AndroidAppsFlyer, enabled conditionally based on shipping/distribution and whether or not a valid AppsFlyerDevChannel name is specified. For WEX, our dev channel is WEX_Dev.
Fixed AppsFlyer_EventAttribute's Java class lookups and constructor signature.
Change 3670860 by Ben.Zeigler
First version of improvements to tools to analyze chunks
Size Map and Reference Viewer now support reading cooked asset data and displaying chunks. Changing the platform dropdown in the Asset Audit window switches the other windows as well
Asset Audit window now has "Add Chunks" button, and selecting AllTypes in the Primary Asset drop down will add all primary assets
Size Map now shows Disk Size by default, and supports a right click context menu
Significant UI improvements to all 3 tools, including keybind support
Split Manage references into Hard and Soft, where Hard are set explicitly and soft are inherited. This allows determining why an asset was included in a chunk/primary asset
When the AssetManager builds management information for the audit browser/cooker, it now precomputes a chunk mapping for relevant assets. PackageChunkType is used to refer to these virtual primary assets
Add callback to content browser delegates to handle adding arbitrary FAssetData to an asset view, used to show chunks
Several changes to the ITreeMap UI used by size map
Change 3670290 by Josh.May
Added AppleAppID configs for AppsFlyer.
Added AdSupport and iAd frameworks for IOSAppsFlyer. According to the AppsFlyer documentation, these are required for IDFA and Apple Search Ads tracking.
Change 3643531 by Peter.Sauerbrei
fix for save game location and certain data backed up to the cloud when it shouldn't
Change 3629303 by Ben.Zeigler
Merge fix for shared ptr corruption in async loading thread from Main, and enable asnyc loading thread for WEX
Copy of CL #3623261 and 3625806
Change 3629219 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging
bringing over the files that Stan didn't have access to
Change 3629063 by Stanley.Hayes
Engine Merge: Merging using WEX_Main_to_UE4_WEX_Staging(flipped)
Change 3618988 by Josh.May
Reimplemented DevicePerformanceBucket-based WorldMap class selection to account for the WorldMap actor being pre-serialized into the UMAP.
On a related note, ChildActorComponents marked as "editor only" now mark their spawned Actors as Transient to prevent them from getting serialized at cook-time.
Change 3597981 by Josh.May
Converted WExpCampaignDefinition's RegionDefinition refs back to hard references and, to compensate, converted WExpZoneDefinition's ZoneBoss refs to soft references. This moves the RegionDefinitions and ZoneDefinitions from chunk 2 to chunk 1 without pulling in assets for the ZoneBosses. This also allows us to grab the ZoneBoss refs during UWExpAssetManager::GetMainMenuAssetList.
Reworked UWExpAssetManager::GetMainMenuAssetList and UWExpAssetManager::GetLevelAssetList to build more "complete" asset lists by expanding lists of PrimaryAssetIds.
Tweaked the WorldMap's ZoneBoss spawning to account for the switch to AssetPtrs.
Change 3581214 by Josh.Markiewicz
added cookie deletion for Google on logout
[CL 3750870 by Stanley Hayes in Main branch]
2017-11-10 17:20:53 -05:00
BuildProducts . Add ( AssetFile , BuildProductType . RequiredResource ) ;
}
2014-04-23 19:28:13 -04:00
}
2019-08-30 17:54:29 -04:00
if ( Target . IOSPlatform . bGeneratedSYM & & ( ProjectSettings . bGenerateCrashReportSymbols | | Target . bUseMallocProfiler ) & & Binary . Type = = UEBuildBinaryType . StaticLibrary )
{
FileReference DebugFile = FileReference . Combine ( Binary . OutputFilePath . Directory , Binary . OutputFilePath . GetFileNameWithoutExtension ( ) + ".udebugsymbols" ) ;
BuildProducts . Add ( DebugFile , BuildProductType . SymbolFile ) ;
}
}
2014-04-23 18:33:14 -04:00
2015-08-04 13:08:35 -04:00
/// <summary>
/// Adds a build product and its associated debug file to a receipt.
/// </summary>
/// <param name="OutputFile">Build product to add</param>
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
/// <param name="OutputType">Type of build product</param>
2015-09-03 08:47:24 -04:00
public override bool ShouldAddDebugFileToReceipt ( FileReference OutputFile , BuildProductType OutputType )
2015-08-04 13:08:35 -04:00
{
2019-05-30 16:27:49 -04:00
return OutputType = = BuildProductType . Executable | | OutputType = = BuildProductType . DynamicLibrary ;
2015-08-04 13:08:35 -04:00
}
2019-05-30 16:27:49 -04:00
public override FileReference GetDebugFile ( FileReference OutputFile , string DebugExtension )
{
if ( OutputFile . FullName . Contains ( ".framework" ) )
{
// need to put the debug info outside of the framework
return FileReference . Combine ( OutputFile . Directory . ParentDirectory , OutputFile . ChangeExtension ( DebugExtension ) . GetFileName ( ) ) ;
}
// by default, just change the extension to the debug extension
return OutputFile . ChangeExtension ( DebugExtension ) ;
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
string GetCompileArguments_Global ( CppCompileEnvironment CompileEnvironment )
2014-03-14 14:13:41 -04:00
{
2019-08-30 17:54:29 -04:00
string Result = "" ;
2014-03-14 14:13:41 -04:00
Result + = " -fmessage-length=0" ;
Result + = " -pipe" ;
Result + = " -fpascal-strings" ;
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
if ( ! Utils . IsRunningOnMono )
{
Result + = " -fdiagnostics-format=msvc" ;
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
// Optionally enable exception handling (off by default since it generates extra code needed to propagate exceptions)
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . bEnableExceptions )
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
{
Result + = " -fexceptions" ;
}
else
{
Result + = " -fno-exceptions" ;
}
Copying //UE4/WEX-Staging/... to //UE4/Main (Source: //WEX/Main @ 3580612)
#rb none
#lockdown nick.penwarden
=================================================================================================
MAJOR FEATURES + CHANGES
=================================================================================================
Change 3526838 by David.Nikdel
#WEX: make map elements support TitleProperty on their values in the editor
#JIRA: none
Change 3517937 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3498765 by David.Nikdel
#WEX: Added a way to bind a delegate that fires whenever an analytics event is queued.
- Bind this delegate and use it to log analytics events (for now)
#JIRA: none
Change 3495796 by Josh.May
#WEX
#JIRA: None
- Reworked the LoadTimes.DumpReport console command to accept command arguments and added options for alphanumeric sorting (-alphasort), tweakable asset time cutoff (lowtime=X), and file output to the Saved/Profiling directory (file).
- Added hooks for automatically generating load time reports for every map load (enabled using the DUMP_LOAD_REPORT_PER_MAP #define).
Change 3489241 by Josh.Markiewicz
#UE4 - First unfinished pass to GoogleIOS
- SDK auth token data needs to copy auth into TMap properly
#jira none
Change 3487767 by David.Nikdel
#Analytics: Make FAnalyticsEventAttribute support typed values
- This makes sure the value types in the resultant JSON reflect the code.
- Added support for Number (double), Boolean, Null, and JsonFragment types
- This should make it so we don't have to whitelist everything to be converted to number on the Grafana processing side.
- Made all attributes on FAnalyticsEventAttribute immutable
#JIRA: WEX-6696, WEX-6706
Change 3478818 by Chris.Babcock
Add detection of Houdini (running on Intel Android CPU)
#jira WEX-5009
#ue4
#android
#robomerge R1.2
Change 3475449 by Allan.Bentham
Add disable force inline option for iOS build, enabled for WEX.
#jira UEMOB-167
[CL 3588553 by Peter Sauerbrei in Main branch]
2017-08-15 16:16:21 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
string SanitizerMode = Environment . GetEnvironmentVariable ( "ENABLE_ADDRESS_SANITIZER" ) ;
2019-08-30 17:54:29 -04:00
if ( SanitizerMode ! = null & & SanitizerMode = = "YES" )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
{
Result + = " -fsanitize=address" ;
}
2019-08-30 17:54:29 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
string UndefSanitizerMode = Environment . GetEnvironmentVariable ( "ENABLE_UNDEFINED_BEHAVIOR_SANITIZER" ) ;
2019-08-30 17:54:29 -04:00
if ( UndefSanitizerMode ! = null & & UndefSanitizerMode = = "YES" )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
{
Result + = " -fsanitize=undefined -fno-sanitize=bounds,enum,return,float-divide-by-zero" ;
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
Result + = GetRTTIFlag ( CompileEnvironment ) ;
2014-03-14 14:13:41 -04:00
Result + = " -fvisibility=hidden" ; // hides the linker warnings with PhysX
2019-05-24 13:20:29 -04:00
// use LTO if desired (like VCToolchain does)
if ( CompileEnvironment . bAllowLTCG )
2019-08-30 17:54:29 -04:00
{
Result + = " -flto" ;
}
2014-03-14 14:13:41 -04:00
Result + = " -Wall -Werror" ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3386262 on 2017/04/10 by Ben.Marsh
Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.
Change 3386999 on 2017/04/10 by Ben.Marsh
Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.
Change 3387073 on 2017/04/10 by Ben.Marsh
Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.
Change 3387988 on 2017/04/11 by Steve.Robb
Comments added to clarify the role of DestructItem and DestructItems.
Change 3388085 on 2017/04/11 by Ben.Marsh
UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.
Change 3390048 on 2017/04/12 by Richard.Hinckley
#jira UE-43876
Fixed description of Streaming settings (within Project Settings).
Change 3390697 on 2017/04/12 by Steve.Robb
CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.
Change 3390711 on 2017/04/12 by Steve.Robb
AGRESSIVE_ARRAY_FORCEINLINE removed.
Change 3392167 on 2017/04/13 by Robert.Manuszewski
UObject can be added to GC cluster only if all of its Outers can also be added to it.
Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.
#jira UE-42948
Change 3392309 on 2017/04/13 by Robert.Manuszewski
When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.
Change 3392620 on 2017/04/13 by Ben.Marsh
UGS: Only check for updates every 5 minutes.
Change 3392623 on 2017/04/13 by Ben.Marsh
UGS: Only poll for new changes every 60 seconds.
Change 3392744 on 2017/04/13 by Ben.Marsh
UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.
Change 3392874 on 2017/04/13 by Ben.Marsh
UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...
Change 3392878 on 2017/04/13 by Ben.Marsh
Update UGS to version 1.96
Change 3395635 on 2017/04/17 by Ben.Marsh
UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.
Change 3395655 on 2017/04/17 by Ben.Marsh
UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.
Change 3396989 on 2017/04/17 by Wes.Hunt
CrashReporter configurable tweaks.
* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
- When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
- Zero means never alert.
* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
- Interval by which to report disk space availability.
- Default is never (Zero)
* Updated config file to match production config.
#codereview:jin.zhang
Change 3397656 on 2017/04/18 by Ben.Marsh
UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.
Change 3397677 on 2017/04/18 by Robert.Manuszewski
PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)
Change 3397722 on 2017/04/18 by Robert.Manuszewski
PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)
Change 3397739 on 2017/04/18 by Richard.Hinckley
#jira UE-44100
Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.
Change 3398023 on 2017/04/18 by Ben.Marsh
PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)
Change 3398095 on 2017/04/18 by Ben.Marsh
PR #3051: Generate map file from UAT (Contributed by projectgheist)
Change 3398212 on 2017/04/18 by Ben.Marsh
PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)
Change 3399304 on 2017/04/19 by Ben.Marsh
UGS: Prevent editor target files being removed when running custom tools.
Change 3399306 on 2017/04/19 by Robert.Manuszewski
Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe
Change 3399729 on 2017/04/19 by Steve.Robb
Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
Checks for a positive count added to RemoveAt() and RemoveAtSwap().
Change 3399750 on 2017/04/19 by Jin.Zhang
Order branch alphabetically #RB
Change 3400186 on 2017/04/19 by Steve.Robb
Per-header generated code.
Change 3401458 on 2017/04/20 by Steve.Robb
Static log categories moved out of headers to prevent duplicates when the header is included multiple times.
#jira UE-37507
Change 3401657 on 2017/04/20 by Gil.Gribb
UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.
Change 3401735 on 2017/04/20 by Gil.Gribb
UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.
Change 3403362 on 2017/04/21 by Steve.Robb
Algo::Sort() fixed to support C arrays.
Size+count versions of Also::IsSorted() deprecated.
Algo::IsSortedBy() added.
Algo::FindBy() added to allow an element to be found by projection.
Simplifications and generalizations.
Change 3404017 on 2017/04/21 by Ben.Marsh
Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.
Change 3405299 on 2017/04/24 by Steve.Robb
Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.
#jira UE-35106
Change 3405302 on 2017/04/24 by Ben.Marsh
UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.
Change 3405629 on 2017/04/24 by Ben.Marsh
Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.
Change 3406431 on 2017/04/24 by Ben.Marsh
UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.
Change 3406670 on 2017/04/24 by Ben.Marsh
UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).
Change 3407080 on 2017/04/25 by Gil.Gribb
UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.
Change 3407486 on 2017/04/25 by Gil.Gribb
UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.
Change 3407495 on 2017/04/25 by Gil.Gribb
UE4 - Tweaked out XBox and Windows low level file IO.
Change 3407497 on 2017/04/25 by Gil.Gribb
UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.
Change 3407705 on 2017/04/25 by Ben.Marsh
Removing most of the junk in DotNETUtilities.
Change 3409701 on 2017/04/26 by Ben.Marsh
Disable another static analyzer warning for third party libraries.
Change 3410074 on 2017/04/26 by Daniel.Lamb
Network platform file runs heart beats and responds to modified file changes.
Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
Fixed issue with network platform file not using correct sandbox.
#test cook on the side shootergame
Change 3411131 on 2017/04/27 by Steve.Robb
TIsTriviallyDestructible now supports forward-declared enums.
Change 3411186 on 2017/04/27 by Steve.Robb
Fix for #includes in generated code for Within classes which are in a different module from the generated class.
Change 3411917 on 2017/04/27 by Steve.Robb
Fixes to pushing/popping the CPP macro.
Change 3411966 on 2017/04/27 by Steve.Robb
Include spam reduced in generated code.
Change 3412155 on 2017/04/27 by Ben.Marsh
Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.
Change 3412223 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.
Change 3412273 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Duplicated variable name.
Change 3412511 on 2017/04/27 by Ben.Marsh
PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)
Change 3412582 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code
Change 3413136 on 2017/04/28 by Robert.Manuszewski
Helper functions for dissolving specific GC clusters
Change 3413310 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.
Change 3413341 on 2017/04/28 by Gil.Gribb
UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.
Change 3413351 on 2017/04/28 by Ben.Marsh
Include code analysis macros directly from Platform.h, so that macros are available to everything.
Change 3413352 on 2017/04/28 by Ben.Marsh
Fixing a few more PVS studio warnings.
Change 3413437 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Comparison is always true.
Change 3413759 on 2017/04/28 by Ben.Marsh
Suppressing warnings for PVS-Studio.
Change 3413784 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning.
Change 3413898 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning: Same conditional is checked twice.
Change 3413915 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning: LHS of expression is identical to RHS.
Change 3413989 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.
Change 3414053 on 2017/04/28 by Ben.Marsh
More PVS-Studio fixes.
Change 3414062 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.
Change 3414070 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Fix incorrect condition.
Change 3414071 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Array index is always zero.
Change 3414116 on 2017/04/28 by Ben.Marsh
BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.
Change 3414160 on 2017/04/28 by Ben.Marsh
Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.
Change 3414237 on 2017/04/28 by Ben.Marsh
EC: Allow disabling and enabling the log preprocessor via special markers in the log.
To disable: <-- Suspend Log Parsing -->
To enable: <-- Resume Log Parsing -->
Change 3414343 on 2017/04/28 by Ben.Marsh
UBT: Exclude ThirdParty folders from PVS output.
Change 3414392 on 2017/04/28 by Ben.Marsh
Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.
Change 3414459 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Object goes out of scope without being freed.
Change 3414495 on 2017/04/28 by Ben.Marsh
Suppress some more PVS-Studio warnings.
Change 3414514 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.
Change 3414526 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Variable assigned to itself has no effect.
Change 3415183 on 2017/04/29 by Ben.Marsh
Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.
Change 3415765 on 2017/05/01 by Ben.Marsh
Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.
Change 3415853 on 2017/05/01 by Ben.Marsh
EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.
Change 3416138 on 2017/05/01 by Ben.Marsh
Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.
Change 3416309 on 2017/05/01 by Ben.Marsh
Build: Fix node names for static analysis.
Change 3416360 on 2017/05/01 by Ben.Marsh
UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.
Change 3416398 on 2017/05/01 by Daniel.Lamb
Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.
#test Cook on the side shootergame.
Change 3416826 on 2017/05/01 by Daniel.Lamb
Added callback to game when files are requested reload from networkfileserver.
Game will need to unload / reload effected objects.
Working on simple reload capability in shootergame.
#test Cook on the side shootergame with reloading
Change 3417983 on 2017/05/02 by Ben.Marsh
EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.
Change 3418747 on 2017/05/02 by Steve.Robb
Fix for const pointer properties.
Fix for UHT debugging manifest.
Test added for pointer properties.
Change 3420477 on 2017/05/03 by Gil.Gribb
UE4 - Removed check from windows async IO layer.
[CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
Result + = " -Wdelete-non-virtual-dtor" ;
2015-09-24 12:37:21 -04:00
2019-10-25 10:39:37 -04:00
if ( CompileEnvironment . ShadowVariableWarningLevel ! = WarningLevel . Off )
2015-04-22 09:58:49 -04:00
{
2019-10-25 10:39:37 -04:00
Result + = " -Wshadow" + ( ( CompileEnvironment . ShadowVariableWarningLevel = = WarningLevel . Error ) ? "" : " -Wno-error=shadow" ) ;
2015-04-22 09:58:49 -04:00
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . bEnableUndefinedIdentifierWarnings )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
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 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Result + = " -Wundef" + ( CompileEnvironment . bUndefinedIdentifierWarningsAsErrors ? "" : " -Wno-error=undef" ) ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
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 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
}
2018-08-29 15:51:31 -04:00
// fix for Xcode 8.3 enabling nonportable include checks, but p4 has some invalid cases in it
if ( Settings . Value . IOSSDKVersionFloat > = 10.3 )
{
Result + = " -Wno-nonportable-include-path" ;
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
if ( IsBitcodeCompilingEnabled ( CompileEnvironment . Configuration ) )
2016-06-20 16:57:06 -04:00
{
Result + = " -fembed-bitcode" ;
}
2014-03-14 14:13:41 -04:00
Result + = " -c" ;
// What architecture(s) to build for
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Result + = GetArchitectureArgument ( CompileEnvironment . Configuration , CompileEnvironment . Architecture ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . Architecture = = "-simulator" )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Result + = " -isysroot " + Settings . Value . BaseSDKDirSim + "/" + Settings . Value . SimulatorPlatformName + Settings . Value . IOSSDKVersion + ".sdk" ;
2014-03-14 14:13:41 -04:00
}
else
{
2019-08-30 17:54:29 -04:00
Result + = " -isysroot " + Settings . Value . BaseSDKDir + "/" + Settings . Value . DevicePlatformName + Settings . Value . IOSSDKVersion + ".sdk" ;
2014-03-14 14:13:41 -04:00
}
2018-05-23 21:04:31 -04:00
Result + = " -m" + GetXcodeMinVersionParam ( ) + "=" + ProjectSettings . RuntimeVersion ;
2019-08-30 17:54:29 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
bool bStaticAnalysis = false ;
string StaticAnalysisMode = Environment . GetEnvironmentVariable ( "CLANG_STATIC_ANALYZER_MODE" ) ;
2019-08-30 17:54:29 -04:00
if ( StaticAnalysisMode ! = null & & StaticAnalysisMode ! = "" )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
{
bStaticAnalysis = true ;
}
2014-03-14 14:13:41 -04:00
// Optimize non- debug builds.
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
if ( CompileEnvironment . bOptimizeCode & & ! bStaticAnalysis )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . bOptimizeForSize )
2014-06-10 17:14:29 -04:00
{
Result + = " -Oz" ;
}
else
{
Result + = " -O3" ;
}
2014-03-14 14:13:41 -04:00
}
else
{
Result + = " -O0" ;
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3623004 by Ben.Marsh
Fix RemoteExecutor not taking the remote machine specs into account.
Change 3623172 by Ben.Marsh
UGS: Fix "More Info..." button not using P4 server override.
Change 3628820 by Ben.Marsh
PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)
Change 3630424 by Graeme.Thornton
Make the AES key parameter const in FAES::EncryptData()
Change 3632786 by Steve.Robb
FString constructor fixed to not take an ignored void* parameter, which can be misleading.
Change 3639534 by Ben.Marsh
Remove old P4.NET library. Doesn't seem to be used by anything.
Change 3640536 by Steve.Robb
GitHub #4007 : Delete unnecessary specialization of MakeArrayView
#jira UE-49617
Change 3641155 by Gil.Gribb
UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.
Change 3643932 by Ben.Marsh
Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).
Change 3644825 by Ben.Marsh
Use VSWHERE to find the location of MsBuild.exe, if available.
https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645
Change 3647395 by Ben.Marsh
Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.
Change 3650300 by Ben.Marsh
UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.
Change 3650856 by Robert.Manuszewski
Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread
Change 3651022 by Gil.Gribb
UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.
Change 3658331 by Steve.Robb
Fix for the parsing of large integer values.
Change 3661958 by Gil.Gribb
UE4 - Fixed rare hang in task graph.
Change 3664021 by Robert.Manuszewski
Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy
See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html
Change 3664254 by Steve.Robb
Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports.
Change 3664436 by Steve.Robb
Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.
Change 3666461 by Graeme.Thornton
Improvements to signing/encryption key embedding and runtime access
- Changed method of embedding key into the executable to make it more secure
- Added FAESKey class to wrap a 32 byte key
Change 3666462 by Graeme.Thornton
Cut ShooterGame AES key down to 32 characters
Change 3677560 by Ben.Marsh
PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)
Change 3683534 by Steve.Robb
Refactoring of enum/struct lookup during hot reload.
Change 3683754 by Steve.Robb
Alignment fixes to allow int64 on 32-bit platforms
Support for integral types in IsAligned.
Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
Some fixes to existing code.
Change 3686670 by Steve.Robb
Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.
Change 3687540 by Ben.Marsh
Fix all UBT/UAT output going to stderr rather than stdout.
Change 3688931 by Gil.Gribb
UE4 - Critical fix for a rare race condition in the pak file async IO layer.
Change 3690000 by Graeme.Thornton
Manual copy of 4.18 CL 3687869
Make UBT include the destination INI file for a given hierarchy if it exists
Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name
Change 3690030 by Graeme.Thornton
VSCode fixes
- Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
- GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
- Various fixes for vscode project file generation
#jira UE-50554
Change 3690885 by Steve.Robb
Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.
Change 3691052 by Steve.Robb
Free stats thread on shutdown.
Change 3695138 by Steve.Robb
AsConst helper function added.
Change 3696627 by James.Hopkin
Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr
(review-3606695)
Change 3697099 by Steve.Robb
GitHub #4105 : Removed redundant class access modifier
Change 3697154 by Steve.Robb
Removal of deprecated functions in delegates.
Mutable lambdas to can now be bound to delegates.
Change 3697180 by Steve.Robb
GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty
Change 3697239 by Steve.Robb
Allow TArray::Insert to take an array with any allocator type.
Change 3697269 by Steve.Robb
RelocateConstructItems instead of MoveConstructItems.
Change 3697558 by Steve.Robb
New _GetRef functions for TArray, which return a reference to the newly-added element.
Unit tests for these functions.
Change 3699776 by Steve.Robb
TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.
Change 3702397 by Steve.Robb
TIsTrivial type trait.
Change 3702569 by Steve.Robb
Allow a TGuardValue to be assigned to a different type from the one being guarded.
Change 3706644 by Robert.Manuszewski
Different stack ingore count for development builds for FArchiveStackTrace
Change 3709272 by Steve.Robb
Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.
Change 3709452 by Robert.Manuszewski
Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies
Change 3709454 by Robert.Manuszewski
Added command line option -NOEDL to disable EDL
Change 3709487 by Steve.Robb
Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.
Change 3709645 by Ben.Marsh
Fix race condition between multiple instances of UBT trying to write out the XML config cache.
Change 3711193 by Ben.Marsh
Add an editor setting for the shared DDC location to use.
#jira UE-51487
Change 3713811 by Steve.Robb
Update .modules files after a hot reload.
Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
Pass hotreload flags around in UBT instead of relying on global state.
This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.
#jira UE-51472
Change 3715654 by Steve.Robb
GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.
Change 3718782 by Steve.Robb
TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.
Change 3720830 by Steve.Robb
Initial import of TAtomic object wrapper, which guarantees atomic access to an object.
Change 3720881 by Steve.Robb
FCompression ThreadSanitizer data race fixes.
Change 3722640 by Graeme.Thornton
Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.
#jira UE-51463
Change 3722655 by Steve.Robb
Don't null name table because it's already zeroed at startup.
Some tidy-ups.
Change 3722754 by Steve.Robb
Thread sanitizer fix.
Small typo fix.
Change 3722849 by Graeme.Thornton
Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server
Change 3723081 by Steve.Robb
TAtomic is now aligned to the underlying integer type.
TAtomic will now static assert with a better error message when given an unsupported type.
Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
Misc renames.
Change 3723270 by Ben.Marsh
Include /d2cgsummary argument when running UBT with -Timing.
Change 3723683 by Ben.Marsh
Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.
Change 3725422 by Robert.Manuszewski
When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.
Change 3725735 by Robert.Manuszewski
Making all CheckDefaultSubobjects related functions const
Change 3726167 by Steve.Robb
FMinimalName::IsNone added.
Change 3726458 by Steve.Robb
TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.
Change 3726542 by Ben.Marsh
UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.
Change 3726595 by Ben.Marsh
Allow building multiple game targets in the example BuildEditorAndTools.xml script.
Change 3726724 by Ben.Marsh
Fix ambiguities in calculating root directory. (GitHub #4172)
Change 3726959 by Ben.Marsh
Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.
Change 3728437 by Steve.Robb
VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
Some improved documentation.
NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping.
Change 3732262 by Gil.Gribb
UE4 - Fixed rare hangs in the task graph.
Change 3732755 by Steve.Robb
Stats TSAN fixes.
Optimizations to FCycleCounter::Start() to only read the stat name once.
Change 3735000 by Robert.Manuszewski
Always preload the AssetRegistry module on startup. even if EDL is disabled.
Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.
Change 3735292 by Robert.Manuszewski
Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.
Change 3735332 by Steve.Robb
Refactoring of UDelegateProperty::Identical() to clarify logic.
Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
PPF_DeltaComparison removed, as it doesn't seem useful.
Change 3737960 by Graeme.Thornton
VSCode - Add launch task for generating project files for the given folder
Change 3738398 by Graeme.Thornton
Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor
#jira UE-51451
Change 3738405 by Graeme.Thornton
VSCode: Format c/cpp settings strings using comment path formatting function
Change 3738928 by Steve.Robb
Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)
#jira UE-51842
Change 3739135 by Ben.Marsh
Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.
#jira UE-51855
Change 3739360 by Ben.Marsh
UAT: Fix issue with P4PORT setting not being parsed correctly.
Change 3745959 by James.Hopkin
#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types
Change 3746125 by Steve.Robb
FName ThreadSanitizer fixes.
Change 3747274 by Steve.Robb
TSAN fix for FMediaTicker::Stopping.
Change 3747618 by Steve.Robb
ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.
Change 3747720 by Steve.Robb
ThreadSanitizer fix for FMessageRouter::Stopping.
Change 3749207 by Graeme.Thornton
First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.
Change 3749323 by Graeme.Thornton
Fix UAT crash when only -targetplatform is specifiied
Change 3749349 by Steve.Robb
TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.
Change 3749617 by Steve.Robb
Logf static_assert for formatting string enabled.
Change 3749897 by Steve.Robb
FDebug::LogAssertFailedMessage static assert for formatting string enabled.
Change 3754011 by Steve.Robb
Static asserts that the allocator supports move.
Move-enabled our allocators which don't support move.
Change 3754227 by Ben.Marsh
Fix build command line in generated projects missing a space before the compiler version override.
#jira UE-52226
Change 3754562 by Ben.Marsh
PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)
Change 3755616 by Graeme.Thornton
Runtime code for using the new crypto ini files to define signing/encryption keys
#jira UE-46580
Change 3755666 by James.Hopkin
Used ImplicitConv to remove Casts being used for up-casts
#review-3745965
Change 3755671 by Graeme.Thornton
Add log message in unrealpak to say which config file system it is using for crypto keys
Change 3755672 by Graeme.Thornton
Updating ShooterGame with new CryptoKeys based security setup
Change 3756778 by Ben.Marsh
Add support for running multiple jobs simultaneously on a single builder.
When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.
Change 3758498 by Ben.Marsh
Re-throw exceptions when a file cannot be deleted when cleaning a target.
Change 3758921 by Steve.Robb
ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.
Change 3760599 by Graeme.Thornton
Added missing epic header comment to some new source files
Change 3760642 by Steve.Robb
ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.
Change 3760669 by Graeme.Thornton
Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.
Added a test mode to the cryptokeys commandlet to test signing key generation
Change 3760711 by Steve.Robb
ThreadSanitizer fixes to GIsRenderingThreadSuspended.
Change 3760739 by Steve.Robb
ThreadSanitizer fix for FQueuedThread::TimeToDie.
Change 3760763 by Steve.Robb
ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.
Change 3760793 by Steve.Robb
Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.
Change 3760817 by Steve.Robb
ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.
Change 3761331 by Josh.Engebretson
UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj
#jira UE-52416
Change 3761521 by Steve.Robb
ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.
Change 3763117 by Graeme.Thornton
PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)
Change 3763358 by Graeme.Thornton
Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path
Derived from the content of this PR:
PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)
Change 3764058 by Graeme.Thornton
Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes
#jira UE-52359
Change 3764705 by Steve.Robb
Better handling of whitespace in ImportText_Internal() for set and map properties.
Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
Fix to USetProperty's temp buffer size to avoid buffer overruns.
Duplicate map keys are now skipped during import, same as USetProperty's behavior.
Change 3764731 by Steve.Robb
Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that.
Change 3765923 by Graeme.Thornton
VSCode - "taskName" -> "label" for C# build tasks
Change 3766018 by Steve.Robb
constexpr constructor for TAtomic.
Change 3766037 by Steve.Robb
Misc tidyings in HotReload.cpp.
Change 3766046 by Steve.Robb
ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.
Change 3766288 by Steve.Robb
Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.
Change 3766374 by Josh.Engebretson
Fix issue with ini quoted value comparison
#jira UE-52066
Change 3766532 by Josh.Engebretson
PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
#jira UE-46156
Change 3766740 by Steve.Robb
TMultiMap::Append added.
Change 3767523 by Steve.Robb
ThreadSanitizer fix for UE4Delegates_Private::GNextID.
Change 3767601 by Steve.Robb
ThreadSanitizer fix for FStats::GameThreadStatsFrame.
Change 3770567 by Ben.Marsh
Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.
Change 3770826 by Ben.Marsh
Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.
Change 3770875 by Steve.Robb
Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.
Change 3772167 by Ben.Marsh
Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.
Change 3772248 by Steve.Robb
ThreadSanitizer fixes to FMalloc call counters.
Change 3772383 by Ben.Marsh
Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.
Change 3772906 by Graeme.Thornton
TextAssetCommandlet - Utility commandlet for testing/converting to text asset format
Change 3772932 by Ben.Marsh
Fix "String:" prefix not being stripped from escaped string values.
Change 3772942 by Graeme.Thornton
Add experimental setting to enable in-editor text asset format functionality
Add "export to text" option into the content browser asset actions context menu
Change 3772955 by Ben.Marsh
Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.
Change 3772963 by Ben.Marsh
Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.
Change 3773010 by Graeme.Thornton
Added CORE_API to FArchiveFromStructuredArchive
Gave text asset format experimental option a slightly less random tooltip comment
Change 3773057 by Ben.Marsh
Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).
Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.
Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().
Change 3773118 by Steve.Robb
TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.
Change 3773122 by Steve.Robb
TAtomic fixes for pointer arithmetic.
TSignedIntType used instead of reimplementing its own trait.
Change 3773123 by Steve.Robb
Unit tests for TAtomic.
Change 3773138 by Steve.Robb
Run numeric tests on integer types instead of basic tests.
Fix for compiler warnings when subtracting from unsigned atomics.
Change 3773166 by Steve.Robb
Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.
Change 3774216 by Gil.Gribb
UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.
Change 3774426 by Ben.Marsh
Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.
See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html
Change 3774658 by Ben.Marsh
Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.
Change 3775141 by Ben.Marsh
Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.
Change 3775459 by Ben.Marsh
Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.
Change 3775522 by Ben.Marsh
UGS: Treat .uproject and .uplugin files as code changes.
Change 3775597 by Ben.Marsh
Fix post-build steps for plugins not being executed.
#jira UE-52754
Change 3777895 by Graeme.Thornton
StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive
Change 3777931 by Graeme.Thornton
Refactored FArchiveUObjects serialization code into some static helpers
Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers
Change 3777942 by Graeme.Thornton
Added missing CORE_API to FStructuredArchive::FStream
Added FStructuredArchive::FSlot insertion operator for char
Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value
Change 3778084 by Graeme.Thornton
Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files
Change 3778096 by Graeme.Thornton
Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class
Change 3778389 by Josh.Engebretson
Fix an optimization issue with CPU benchmarking
Add better support for debugging/testing local rocket builds
UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html
#jira UE-52192
Change 3778701 by Josh.Engebretson
Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets
UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html
#jira UE-40317
Change 3778832 by Chad.Garyet
Adding enterprise path support for PCB's for UGS
Change 3780258 by Graeme.Thornton
TextAssetCommandlet - Accumulate timings for loading packages and saving packages
Change 3780463 by Graeme.Thornton
CryptoKeys improvements
- Enable CryptoKeys plugin by default
- Attempt to inherit settings from the old system by default
- Hide ini/index encryption settings from packaging settings and just inherit previous values into new system
Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings
Change 3780557 by Ben.Marsh
Fix LoginFlow module not being precompiled for the binary release.
Change 3780846 by Josh.Engebretson
Improve filename to long package name resolution when provided a relative path
Change 3780863 by Ben.Marsh
UAT: Add a better error message when a C# project has an invalid reference.
Change 3780911 by Ben.Marsh
Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.
The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.
Change 3780956 by Josh.Engebretson
Add support for ! (RemoveKey) config command to UBT
UDN Link: https://udn.unrealengine.com/questions/397267/index.html
#jira UE-52033
Change 3782957 by Robert.Manuszewski
UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.
Change 3784503 by Ben.Marsh
Optimizations for FStructuredArchive:
* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
* Prevent shrinking of arrays when removing elements.
* Add an inline allocator to the scope and container stacks.
Change 3784700 by Ben.Marsh
Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.
Change 3784989 by Ben.Marsh
Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.
Change 3786860 by Gil.Gribb
UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.
Change 3787159 by Ben.Marsh
Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.
Change 3787493 by Josh.Engebretson
Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
Fix for multiple threads parsing ini keys (PR 3995)
#PR 3995
#jira 52913
#jira 49503
Change 3787773 by Steve.Robb
Fix for missing final values from FOREACH_ENUM_ macros.
Change 3788287 by Ben.Marsh
TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.
Change 3788678 by Ben.Marsh
Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.
Change 3789353 by Graeme.Thornton
Removed unused/rotten modes from TextAsset commandlet.
Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.
Change 3789396 by Ben.Marsh
Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h
Change 3789772 by Ben.Marsh
Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.
Change 3790003 by Ben.Marsh
TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.
Change 3790051 by Steve.Robb
PIE is disabled during a hot reload.
Hot reload in editor is disabled during PIE.
Hot reload from IDE is deferred until after PIE is exited.
Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.
#jira UE-20357
#jira UE-52137
Change 3790709 by Steve.Robb
Better move support for TVariant.
EVariantTypes switched over to using an enum class to aid debugger visualization.
Change 3791422 by Ben.Marsh
TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.
Change 3791489 by Graeme.Thornton
TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record
Change 3792344 by Ben.Marsh
Improvements to base64 encoding library.
* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
* Added support for decoding base-64 blobs without padding marks.
* Added support for decoding into pre-allocated buffer.
* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).
Change 3792949 by Ben.Marsh
TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.
Change 3794078 by Robert.Manuszewski
Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine
#jira UE-52392
Change 3794413 by Ben.Marsh
TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.
Change 3794731 by Ben.Marsh
TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.
Change 3795081 by Ben.Marsh
UBT: Move LinuxCommon.cs into Platform/Linux folder.
Change 3795137 by Ben.Marsh
UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).
Change 3795247 by Ben.Marsh
Fix missing header when creating a new interface from the editor new code wizard.
#jira UE-53174
Change 3796025 by Graeme.Thornton
Fixed some deprecated "Definitions" warnings in OpenCV build files
Change 3796103 by Graeme.Thornton
Disable experimental text asset option - it does nothing useful yet.
Change 3796157 by Graeme.Thornton
Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.
#jira UE-53206
Change 3796315 by Ben.Marsh
Move Formatter to the correct position for initializer.
#jira UE-53208
Change 3797082 by Ben.Marsh
UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.
#jira UE-53232
Change 3799050 by Ben.Marsh
Make UnrealPak.version files writable for Mac and Linux.
Change 3801012 by Graeme.Thornton
VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory
Change 3801214 by Gil.Gribb
UE4 - Remove assert to work around minor problem with lock free lists.
#jira UE-49600
Change 3801219 by Steve.Robb
WeakObjectPtrs now warn when casting away const.
Change 3801299 by Graeme.Thornton
Fix quote issue with foreign project build tasks on PC
Change 3803292 by Graeme.Thornton
Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries
Change 3803559 by Steve.Robb
TSAN fix for FMalloc::MaxSingleAlloc.
Change 3803735 by Graeme.Thornton
Last set of cryptokeys changes
- Added some comments for editor exposed settings
- Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"
Change 3803929 by Ben.Marsh
UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.
Change 3624590 by Steve.Robb
AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
Tidy-up of existing calls to AddReferencedObjects.
Change 3629473 by Ben.Marsh
Build: Rename the option for embedding source server information in PDB files for installed engine builds.
Change 3632894 by Steve.Robb
VARARG* macros deprecated and usage replaced with variadic templates.
Change 3640704 by Steve.Robb
MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
Fix to TWeakObjectPtr's constructor which implicitly removed const.
Fixes to everything which didn't compile as a result.
Change 3650813 by Graeme.Thornton
Removed FStartupPackages and associated code
Change 3651000 by Ben.Marsh
Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.
#jira UE-49980
Change 3690842 by Steve.Robb
FPlatformAtomics::AtomicRead added - needs optimizing.
AtomicRead() used in FThreadSafeCounter::GetValue().
Change 3699416 by Steve.Robb
Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
Improved readability of TSparseArray visualization.
Change 3720812 by Steve.Robb
Atomic functions for 8-bit and 16-bit.
Android, Linux and Switch implementations now just use the Clang implementation.
AtomicRead64 deprecated in favor of the int64* AtomicRead overload.
Change 3722698 by Steve.Robb
VS debugger visualizers for TAtomic.
Change 3732270 by Steve.Robb
Relaxed stores and loads.
Change 3749315 by Graeme.Thornton
If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform
#jira UE-52034
Change 3750657 by Josh.Engebretson
Fixed issue when debugging editor cook/package and project launch operations
#jira UE-52207
Change 3758514 by Steve.Robb
Fixes to FString::Printf having non-literals being passed as its formatting string.
Change 3763356 by Steve.Robb
ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.
Change 3770549 by Steve.Robb
Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
Tidy up of existing code which uses it.
Change 3770553 by Ben.Marsh
Adding structured serialization API to Core/CoreUObject for use with text-based assets.
* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Maps are string -> value dictionaries where the key names are present regardless of the build type.
* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Includes implementations of FArchiveFormatter for binary and JSON formats.
Change 3771105 by Steve.Robb
Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
Fix for incorrect warning formatting on Clang platforms.
Change 3771520 by Steve.Robb
Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.
Change 3771564 by Steve.Robb
More common macros moved to the Clang pre-setup header.
Change 3771613 by Steve.Robb
EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.
Change 3772881 by Ben.Marsh
Add support for serializing FName and UObject through FStructuredArchive.
In order to allow custom linker behavior when serializing objects:
* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)
Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).
Change 3772941 by Graeme.Thornton
Make build work when including StructuredArchive.h from core container types
Added standard header to new files
Add structured archive serializer for TArray
Fix bug in structured archive where containers weren't being popped from the scope stack
Change 3772972 by Ben.Marsh
Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.
Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.
When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.
Change 3773006 by Ben.Marsh
Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().
Change 3773013 by Steve.Robb
bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.
Change 3774499 by Ben.Marsh
Minor fixes for FStructuredArchive related classes:
* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.
Change 3774600 by Ben.Marsh
Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.
This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.
Change 3789721 by Ben.Marsh
TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.
Change 3789920 by Ben.Marsh
TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.
#jira UECORE-364
Change 3789982 by Ben.Marsh
TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.
Change 3792466 by Ben.Marsh
TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.
In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.
Change 3792935 by Ben.Marsh
TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.
Change 3795100 by Ben.Marsh
UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.
Change 3795106 by Ben.Marsh
Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.
Change 3796275 by Ben.Marsh
Fix paths to Version.h includes from resource files.
Change 3800683 by Josh.Engebretson
Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
#jira UE-50073
Change 3803545 by Steve.Robb
TWeakObjPtr const-dropping assignment fix.
Fixes to change.
[CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
if ( ! CompileEnvironment . bUseInlining )
{
Result + = " -fno-inline-functions" ;
}
2014-03-14 14:13:41 -04:00
// Create DWARF format debug info if wanted,
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . bCreateDebugInfo )
2014-03-14 14:13:41 -04:00
{
Result + = " -gdwarf-2" ;
}
2014-07-01 11:28:39 -04:00
// Add additional frameworks so that their headers can be found
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
foreach ( UEBuildFramework Framework in CompileEnvironment . AdditionalFrameworks )
2014-07-01 11:28:39 -04:00
{
2020-03-18 15:46:36 -04:00
if ( Framework . FrameworkDirectory ! = null )
2014-07-01 11:28:39 -04:00
{
2020-03-18 15:46:36 -04:00
string FrameworkDir = Framework . FrameworkDirectory . FullName ;
2019-02-27 11:57:17 -05:00
// embedded frameworks have a framework inside of this directory, so we use this directory. regular frameworks need to go one up to point to the
// directory containing the framework. -F gives a path to look for the -framework
2020-03-18 15:46:36 -04:00
if ( FrameworkDir . EndsWith ( ".framework" ) )
2019-02-27 11:57:17 -05:00
{
FrameworkDir = Path . GetDirectoryName ( FrameworkDir ) ;
}
Result + = String . Format ( " -F\"{0}\"" , FrameworkDir ) ;
2014-07-01 11:28:39 -04:00
}
}
2014-03-14 14:13:41 -04:00
return Result ;
}
static string GetCompileArguments_CPP ( )
{
string Result = "" ;
Result + = " -x objective-c++" ;
Result + = " -fobjc-abi-version=2" ;
Result + = " -fobjc-legacy-dispatch" ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
Result + = " -std=c++14" ;
2015-02-27 16:10:22 -05:00
Result + = " -stdlib=libc++" ;
2014-03-14 14:13:41 -04:00
return Result ;
}
static string GetCompileArguments_MM ( )
{
string Result = "" ;
Result + = " -x objective-c++" ;
Result + = " -fobjc-abi-version=2" ;
Result + = " -fobjc-legacy-dispatch" ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
Result + = " -std=c++14" ;
2015-02-27 16:10:22 -05:00
Result + = " -stdlib=libc++" ;
2014-03-14 14:13:41 -04:00
return Result ;
}
static string GetCompileArguments_M ( )
{
string Result = "" ;
Result + = " -x objective-c" ;
Result + = " -fobjc-abi-version=2" ;
Result + = " -fobjc-legacy-dispatch" ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
Result + = " -std=c++14" ;
2015-02-27 16:10:22 -05:00
Result + = " -stdlib=libc++" ;
2014-03-14 14:13:41 -04:00
return Result ;
}
static string GetCompileArguments_C ( )
{
string Result = "" ;
Result + = " -x c" ;
return Result ;
}
static string GetCompileArguments_PCH ( )
{
string Result = "" ;
Result + = " -x objective-c++-header" ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]
Change 3207431 on 2016/11/22 by Keith.Judge
Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.
#jira UE-36921
#jira UE-38560
Change 3208206 on 2016/11/22 by Josh.Adams
- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
#jira UE-38929
Change 3209137 on 2016/11/23 by Alicia.Cano
Add a check to iOS tool chain for exception flag
#jira UE-36528
#ios
Change 3209296 on 2016/11/23 by Ben.Marsh
Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com
Change 3211316 on 2016/11/28 by Joe.Barnes
Fix some typos
Change 3211318 on 2016/11/28 by Joe.Barnes
Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp
Change 3213227 on 2016/11/29 by Dmitry.Rekman
Add -fPIC to libwebsockets on Linux.
Change 3213463 on 2016/11/29 by Nick.Shin
helper build scripts for CentOS 7 Linux (via Docker)
LINUX: pull source and compile: zlib openssl libcurl & libwebsockets
using [ glibc 2.17 ] & [ gcc 4.8.5 ]
Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container). think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 3213939 on 2016/11/29 by Michael.Trepka
Ignore parent widget's geometry scale when showing a popup menu in a separate window
#jira UE-38706
Change 3215583 on 2016/11/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3216345 on 2016/11/30 by Josh.Adams
Better fix for poison proxy fix
Change 3217106 on 2016/12/01 by Michael.Trepka
Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()
#jira UE-38816
Change 3217223 on 2016/12/01 by Josh.Adams
- Fixed some TEXT macro warnings that crept in from IWYU changes
Change 3217253 on 2016/12/01 by Dmitry.Rekman
Linux: fix GL crash (UE-17649).
- Making sure all streams are set up. Fix by Cengiz.
Change 3217473 on 2016/12/01 by Daniel.Lamb
Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
#test cook run QAGame
Change 3217588 on 2016/12/01 by Peter.Sauerbrei
Pull in IPv6 fix
Change 3217654 on 2016/12/01 by Michael.Trepka
Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.
Change 3217873 on 2016/12/01 by Josh.Adams
- Added some logging to a tvOS assert, since debugging it right away is tricky
Change 3218097 on 2016/12/01 by Josh.Adams
- Fixed up the Switch MediaFramework, making editor better, etc
- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)
Change 3218133 on 2016/12/01 by Dmitry.Rekman
Linux: report server hangs by crashing the hung thread (UE-39164).
Change 3218512 on 2016/12/01 by Josh.Adams
- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox
Change 3219804 on 2016/12/02 by Dmitry.Rekman
Linux: fix project settings crash (UE-38800).
- Also submitted as a pull request #2945.
Change 3220027 on 2016/12/02 by Nick.Shin
plow all physx libs into build
NOTE: most browsers will not function
- chrome and firefox nightly only works
checking this in as per email
#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5
Change 3221620 on 2016/12/05 by Joe.Barnes
UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.
Change 3221689 on 2016/12/05 by Dmitry.Rekman
Attempt to change/rename.
Change 3221700 on 2016/12/05 by Dmitry.Rekman
Another attempt to change renamed file (from Linux).
Change 3221731 on 2016/12/05 by Michael.Trepka
Added missing initialization for FAvfVideoSampler::MetalTextureCache
#jira UE-38689
Change 3221792 on 2016/12/05 by Michael.Trepka
Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures
Change 3222675 on 2016/12/05 by Josh.Adams
- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
#jira UE-39188
Change 3223546 on 2016/12/06 by Brent.Pease
+ Properly set and use the realtime compression for ios.
+ Reduce unused memory on ios from the precached first buffer
+ Fix a resource tracking issue that was causing a double free on the sound buffer
Change 3223785 on 2016/12/06 by Brent.Pease
+ Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)
#jira ue-38701
Change 3224314 on 2016/12/06 by Chris.Babcock
Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
#jira UE-38361
#ue4
#android
Change 3225367 on 2016/12/07 by Josh.Adams
- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons
Change 3225426 on 2016/12/07 by Chris.Babcock
Add missing Android UPL file for binary builds
#jira UE-39420
#ue4
#android
Change 3225471 on 2016/12/07 by Dmitry.Rekman
Update all platforms to C++14.
Change 3225525 on 2016/12/07 by Nick.Shin
Cook-On-The-Fly for HTML5
- re-enabled: ENetworkFileServerProtocol::NFSP_Http
- cleaned up port numbers used with cook-on-the-fly situations
- fixed null_ptr in NetworkFileServerHttp.cpp
- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)
- finally, the core of the jira issue:
o fix serialization bug: do not append zero sized data
o fix de-serialization bug: removed double insertion of packet "Marker and Size" header
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3225690 on 2016/12/07 by Dmitry.Rekman
Linux: improvements in touch support.
- Multiple fingers.
- Filtering out "moved" events from the same location.
- Consistent logging.
(Edigrating 3225194 from Wombat to Dev-Platform)
Change 3225868 on 2016/12/07 by Josh.Stoddard
Gracefully handle delete without matching new on iOS & Mac
#jira UE-39395
Change 3226159 on 2016/12/07 by Omar.Rodriguez
UEPLAT-1423 WEX: Improved virtual keyboard for Android
* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
* Hide the virtual keyboard, if shown, onPause
* Slate edit box decides which functions to call for showing/hiding keyboard
- eventually will be based on command line parameter like in IOS
#jira UEPLAT-1423
Change 3226167 on 2016/12/07 by Dmitry.Rekman
Allow running as root on ARM.
(Edigrating 3204974 to Dev-Platform)
Change 3226168 on 2016/12/07 by Dmitry.Rekman
Print current CVar value when denying an override.
(Based on CL 3205476).
Change 3226169 on 2016/12/07 by Dmitry.Rekman
Allow enabling sound (if disabled by default).
(Based on CL 3205505)
Change 3226171 on 2016/12/07 by Dmitry.Rekman
Allow running from symlinks.
(Edigrating 3205518 to Dev-Platform).
Change 3226174 on 2016/12/07 by Dmitry.Rekman
Linux: do not init SDL audio (we do not use it anyway).
(Based on CL 3205505).
Change 3226327 on 2016/12/07 by Nick.Shin
fix CIS warning
#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size
Change 3226506 on 2016/12/08 by Dmitry.Rekman
Fix one more case-sensitive misspelling (UE-39030).
- Submitted as part of PR #2976.
Change 3226542 on 2016/12/08 by Dmitry.Rekman
Linux: fix weirdness with tesselation in GL4 (UE-32865).
- Workaround by CengizT. Proper fix tracked as UE-39489.
Change 3226570 on 2016/12/08 by Dmitry.Rekman
Fix for ar failing due to too long command line (UE-39009).
- Based on PR #2973.
Change 3226575 on 2016/12/08 by Dmitry.Rekman
Add build-essential to dependencies (UE-39053).
- PR #2981 contributed by cpyarger.
Change 3227129 on 2016/12/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Fixed up a deferred GL error as well
Fixed some copyrights of files not in main
Change 3227260 on 2016/12/08 by Omar.Rodriguez
UE-39140 Projects with iCloud are failing provisioning check when code signing.
* Set default value of bEnableCloudKitSupport to False
* Set value of get-task-allow to true only on non-distribution builds
* Only write out the entitlements file if changes have been made
#jira UE-39140
Change 3229312 on 2016/12/09 by Dmitry.Rekman
Fix missing responses (UE-39572).
- Proper implementation of UE-39009.
Change 3230849 on 2016/12/12 by Dmitry.Rekman
Linux: fixed Android packaging (UE-39635).
- Misspelled case; fixed by JohnHenry Carawon.
#jira UE-39635
Change 3231591 on 2016/12/12 by Peter.Sauerbrei
fix for splash screen not being turned off by default
#jira UE-39591
Change 3231880 on 2016/12/12 by Josh.Adams
- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
#jira UE-39680
Change 3232816 on 2016/12/13 by Dmitry.Rekman
Linux: fix for CEF (UE-39682)
- Fix by Cengiz.Terzibas.
Change 3232873 on 2016/12/13 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3232933 on 2016/12/13 by Josh.Adams
- Missed the files that were needed to fix up after merge from main, but didn';t come from main
Change 3233066 on 2016/12/13 by Ben.Marsh
UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.
Change 3233512 on 2016/12/13 by Ben.Marsh
Fix static analysis warnings.
[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -05:00
Result + = " -std=c++14" ;
2015-02-27 16:10:22 -05:00
Result + = " -stdlib=libc++" ;
2014-03-14 14:13:41 -04:00
return Result ;
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
// Conditionally enable (default disabled) generation of information about every class with virtual functions for use by the C++ runtime type identification features
// (`dynamic_cast' and `typeid'). If you don't use those parts of the language, you can save some space by using -fno-rtti.
// Note that exception handling uses the same information, but it will generate it as needed.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
static string GetRTTIFlag ( CppCompileEnvironment CompileEnvironment )
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
{
string Result = "" ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . bUseRTTI )
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
{
Result = " -frtti" ;
}
else
{
Result = " -fno-rtti" ;
}
return Result ;
}
2019-01-11 18:09:39 -05:00
// Conditionally enable (default disabled) Objective-C exceptions
static string GetObjCExceptionsFlag ( CppCompileEnvironment CompileEnvironment )
{
string Result = "" ;
if ( CompileEnvironment . bEnableObjCExceptions )
{
Result + = " -fobjc-exceptions" ;
}
else
2019-03-28 12:09:05 -04:00
{
2019-01-11 18:09:39 -05:00
Result + = " -fno-objc-exceptions" ;
}
return Result ;
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
static void CleanIntermediateDirectory ( string Path )
2014-05-12 18:51:03 -04:00
{
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 ResultsText ;
2014-05-12 18:51:03 -04:00
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
// Delete the local dest directory if it exists
if ( Directory . Exists ( Path ) )
2014-05-12 18:51:03 -04:00
{
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
// this can deal with linked files
RunExecutableAndWait ( "rm" , String . Format ( "-rf \"{0}\"" , Path ) , out ResultsText ) ;
2014-05-12 18:51:03 -04:00
}
2018-05-23 21:04:31 -04:00
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
// Create the intermediate local directory
RunExecutableAndWait ( "mkdir" , String . Format ( "-p \"{0}\"" , Path ) , out ResultsText ) ;
2014-05-12 18:51:03 -04:00
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
bool IsBitcodeCompilingEnabled ( CppConfiguration Configuration )
{
return Configuration = = CppConfiguration . Shipping & & ProjectSettings . bShipForBitcode ;
}
public virtual string GetXcodeMinVersionParam ( )
{
return "iphoneos-version-min" ;
}
public virtual string GetArchitectureArgument ( CppConfiguration Configuration , string UBTArchitecture )
{
2019-08-30 17:54:29 -04:00
// get the list of architectures to compile
string Archs =
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
UBTArchitecture = = "-simulator" ? "i386" :
String . Join ( "," , ( Configuration = = CppConfiguration . Shipping ) ? ProjectSettings . ShippingArchitectures : ProjectSettings . NonShippingArchitectures ) ;
Log . TraceLogOnce ( "Compiling with these architectures: " + Archs ) ;
// parse the string
string [ ] Tokens = Archs . Split ( "," . ToCharArray ( ) ) ;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3383462)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3292174 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- Linux toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292193 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- ThirdParty libs compiled with new toolchain with wasm support
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292215 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and wbegl2 support
- emscripten toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292222 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm support
- ENGINE changes (c# & cpp files)
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292223 on 2017/02/08 by Nick.Shin
HTML5 merge ThirdParty lib build scripts from Dev-Platform to Dev-Mobile
Change 3292228 on 2017/02/08 by Nick.Shin
HTML5 emscripten: webgl support
- webgl patches
- and a lot of UE4 patches to package HTML5 on LINUX
- mostly from mozilla's jukka -- thx jukka!
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3292285 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- Windows toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3293994 on 2017/02/09 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- OSX toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3294391 on 2017/02/09 by Nick.Shin
HTML5 "black box issues" revisited
- jukka rewrote the window resize handler -- much cleaner and more straightforward
#jira UE-36341 HTML5 - View is incorrectly drawn
#jira UE-32311 Templates on Firefox/Chrome on HTML5 are not full screen during Launch On
Change 3296421 on 2017/02/10 by Jack.Porter
Fix landscape spline segment splitting placing when using streaming levels
Change 3296587 on 2017/02/10 by Jack.Porter
Additional fix for landscape spline segment splitting when using streaming levels
Change 3301241 on 2017/02/14 by Mi.Wang
Fixed DeviceProfileEditor bug for incorrect clamp the Texture Mip LOD size. #jira UE-36237 #rb jack.porter
Change 3301387 on 2017/02/14 by Nick.Shin
HTML5 emscripten: webgl support
- webgl patches from mozilla's jukka
+ hardware instancing
+ glBlitFramebuffer
+ GL AlaphaBlendOperation
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3301405 on 2017/02/14 by Nick.Shin
HTML5 plugin fix when blueprint projects are promoted to code projects automatically.
#jira UE-41710 HTML5 - Package Failure - Failed to Produce item ProjectName-OnlineSubsystemNull.bc
Change 3302278 on 2017/02/14 by Omar.Rodriguez
UE-36651: Mac Vulkan Android Projects crash on launch.
* Glslang library has been built for Mac but flag was not updated
* Set GlslangAvailable to true for Mac when building an Android project with vulkan
#jira UE-36651
Change 3302773 on 2017/02/14 by Chris.Babcock
Add a dropdown with some common console commands on Android (contributed by rafortis)
#jira UE-40834
#PR #3143
#ue4
#android
Change 3305604 on 2017/02/16 by Nick.Shin
HTML5 webgl2 shader- turn on: instance static mesh vertex factory
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3308154 on 2017/02/16 by Nick.Shin
HTML5 GitHub PR
#jira UE-42019 GitHub 3258 : Added suport for emscripten --pre-js and --post-js option when building for HTML5
Change 3308510 on 2017/02/16 by Nick.Shin
HTML5 webgl2 shader fixes
#jria UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3308971 on 2017/02/17 by Jack.Porter
Fix for landscape painting when height<0 in the Ortho viewports
Change 3309075 on 2017/02/17 by Allan.Bentham
Include static subject meshes when masking out modulated shadow casters.
#jira UE-41581
Change 3309531 on 2017/02/17 by Chris.Babcock
Handle large OBB files in APK
#jira UE-41443
#ue4
#android
Change 3311320 on 2017/02/19 by Dmitriy.Dyomin
Fixed: Particle Cutout Crashes On Mobile Devices That Don't Support Hardware Instancing (Mali-400 GPU)
#jira UE-41970
Change 3311347 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Engine Crashes When Previewing ES3_1 With Material Using World Position Offset (Need Custom Stencil)
#jira UE-41976
Change 3311398 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Landscapes do not render on PowerVR device
#jira UE-35530
Change 3311428 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Exposure Is More Extreme In High-End Mobile Preview Modes
#jira UE-42036
Change 3311448 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Packaged game Crashes on android after entering "Help" command twice
#jira UE-41956
Change 3311587 on 2017/02/20 by Allan.Bentham
ES2 GLSL - Silently swap all uint to ints
#jira UE-41548
Change 3313930 on 2017/02/21 by Allan.Bentham
Print literal uints as ints when generating ES2 code.
#jira UE-41548
Change 3317924 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- Linux toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3317929 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- ThirdParty libs compiled with new toolchain with wasm and webgl2 support
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3317951 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318004 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- windows toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318669 on 2017/02/23 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318672 on 2017/02/23 by Nick.Shin
HTML5 webgl2 shader fixes
#jria UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318819 on 2017/02/23 by Dmitriy.Dyomin
Fixed: Rendering artifacts with bloom on iPhone7 Metal
#jira UE-40978
Change 3319702 on 2017/02/23 by Chris.Babcock
Disable eglSwapInterval since it can cause issues with some drivers
#ue4
#android
Change 3320880 on 2017/02/24 by Dmitriy.Dyomin
Added r.Mobile.TonemapperFilm cvar which can be used to enable/disable filmic tonemapper on mobile, independently from desktop (disabled by default)
#jira UEMOB-195
Change 3321042 on 2017/02/24 by Jack.Porter
Fixed incorrect sizeof in Vulkan pipleine cache
pointed out here: http://coconutlizard.co.uk/blog/ue4/ue4-its-a-size-jim/
#code_review: rolando.caloca
Change 3322383 on 2017/02/24 by Chris.Babcock
Fix issue with ad banner on Android 7.0 devices
#jira UE-42390
#ue4
#android
Change 3322479 on 2017/02/24 by Omar.Rodriguez
UEMOB-199 - WEX: Improved virtual keyboard for Android
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira UEMOB-199
Change 3323353 on 2017/02/27 by Allan.Bentham
Fix broken mobile scene captures when !mobileHDR and RHINeedsToSwitchVerticalAxis
#jira UE-42191
Change 3323431 on 2017/02/27 by Allan.Bentham
CIS fix
Change 3323687 on 2017/02/27 by Allan.Bentham
Disable GRHINeedsUnatlasedCSMDepthsWorkaround for mobile devices.
#jira UE-42131
Change 3324652 on 2017/02/28 by Dmitriy.Dyomin
Fixed: Canvas elements appear darker on iOS Metal
Change 3324885 on 2017/02/28 by Jack.Porter
Fixed "Minimum iOS Version" setting display name
#jira UE-42270
Change 3324899 on 2017/02/28 by Jack.Porter
GitHub 3063 : removed duplicate gc.MaxObjectsInGame setting in IOSEngine.ini
#jira UE-40018
#3063
Change 3324932 on 2017/02/28 by Jack.Porter
GitHub 3257 : iPhonePackager errors in output log when opening project settings on Windows
#jira UE-41984
#3257
#codereview: Peter.Sauerbrei
Change 3324956 on 2017/02/28 by Jack.Porter
FOpenGLFrontend::GetMaxSamplers incorrect for IOS
#jira UE-42038
#3264
Change 3325478 on 2017/02/28 by Allan.Bentham
PR # 3188 : Fix far distance bug with cascaded shadows on mobile (Metal) and PC mobile preview (Contributed by ufna)
#jira UE-41442
Change 3327300 on 2017/03/01 by Allan.Bentham
PR #3175 : Fixes high quality reflection blending seams (Contributed by kallehamalainen)
#jira UE-41257
Change 3328917 on 2017/03/02 by Nick.Shin
HTML5 project settings
expose ini settings to edtior HTML5 project settings panel
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
#jira UE-41584 Editor locks up when adding an element for HTML5 devices on Mac
#jira UE-41701 Editor freezes when setting browser filepath for inserted element in project settings
Change 3329169 on 2017/03/02 by Allan.Bentham
increase render thread timeout to 1 minute for suntemple / android.
Prevents low end devices timing out during load.
#jira UE-40696
Change 3330849 on 2017/03/02 by Nick.Shin
HTML5 project settings
expose ini settings to edtior HTML5 project settings panel
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3331078 on 2017/03/03 by Dmitriy.Dyomin
Fixed: Device output log partial lines
integrated from WEX (3250488)
Change 3331112 on 2017/03/03 by Dmitriy.Dyomin
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
integrated from WEX (3256584)
Change 3331117 on 2017/03/03 by Dmitriy.Dyomin
Fixed redundant blend state changes in opengl
integrated from WEX (3256586)
Change 3331173 on 2017/03/03 by Dmitriy.Dyomin
Slate pixel shaders will use half precision where possible on mobile
integrated from WEX (3256656)
Change 3332865 on 2017/03/06 by Dmitriy.Dyomin
Better MobileContentScaleFactor defaults for iOS devices
#jira UEMOB-330
Change 3333129 on 2017/03/06 by Peter.Sauerbrei
move to Library/Caches instead of documents for saved files
re-enable iterative deploy on TVOS
#jira UEMOB-284
Change 3334692 on 2017/03/06 by Jack.Porter
Allow r.MobileContentScaleFactor to be changed at runtime on Android
#jira UEMOB-173
Change 3336255 on 2017/03/07 by Nick.Shin
HTML5 project settings
marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3337094 on 2017/03/08 by Nick.Shin
HTML5 project settings
marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3338800 on 2017/03/08 by Chris.Babcock
Update AAR handling to deal with versioning, subproject dependencies for resources, and scope
#jira UE-42677
#ue4
#android
Change 3338813 on 2017/03/08 by Chris.Babcock
Pass build configuration to UPL for access during packaging as $S(Configuration)
#jira UE-42678
#ue4
#android
#ios
Change 3339401 on 2017/03/09 by Alicia.Cano
Android runtime permissions
- Fix for WRITE_EXTERNAL_STORAGE if it is not granted at time of onCreate for non-shipping builds
- Fix for Location Services
- Fix for if target sdk is not set to 23+
#jira UE-38512
#android
#rb: chris.babcock
Change 3340736 on 2017/03/09 by Chris.Babcock
Implement support for new controllers (Xbox Wireless, SteelSeries Stratus XL, PS4) (contributed by TRS-justing)
#jira UE-41965
#PR #3254
#ue4
#android
Change 3340744 on 2017/03/09 by Jack.Porter
Expose Custom Depth to Foliage
#jira UE-6061
Change 3340849 on 2017/03/09 by Dmitriy.Dyomin
Fixed: iOS movie become laggy and crashes when played in iPhone 6/6s.
#jira UE-42351
Change 3341268 on 2017/03/10 by Alicia.Cano
PR #2894: Initial VoiceModuleAndroid support. (Contributed by devbm)
#jira UE-37945
#android
#rb: chris.babcock, jack.porter
Change 3341303 on 2017/03/10 by Allan.Bentham
Remove optimisation that prevents full specular occulsion on mobile.
PR #3186 : Specular can't be blocked on high-end mobile.
#jira UE-41393
Change 3342304 on 2017/03/10 by Alicia.Cano
build fix
#rb: chris.babcock
Change 3343344 on 2017/03/13 by Alicia.Cano
build fix
#rb: chris.babcock
Change 3343591 on 2017/03/13 by Brent.Pease
iOS multiplayer fix part 1. Correct byte ordering.
#jira UE-34875
Change 3343669 on 2017/03/13 by Chris.Babcock
Update carefullyredist script version
#jira UE-42832
Change 3344212 on 2017/03/13 by Will.Fissler
Various compile fixes for Xcode 8.3.
These fixes must also be added to //UE4/Release-4.15.
#jira UE-41313
Change 3344396 on 2017/03/13 by Chris.Babcock
Fix Java 1.5 obsolete warnings
#jira UE-42851
#ue4
#android
Change 3345132 on 2017/03/14 by Will.Fissler
Added ifdef wrapper to check clang version for presentDrawable.
Change 3345336 on 2017/03/14 by Will.Fissler
Moved #if (__clang_major__ > 8) || (__clang_major__ == 8 && __clang_minor__ >= 1) check inside of the presentDrawable method.
Change 3345460 on 2017/03/14 by Will.Fissler
ifdef changes for presentDrawable. The last submission duped the changes, instead of merging. #rb none
Change 3346046 on 2017/03/14 by Will.Fissler
Fixed MetalCommandBuffer.cpp [again] after last submission duped changes instead of merging.
Change 3346367 on 2017/03/14 by Chris.Babcock
Fix issue with GoogleVR ARMv7 libraries included for other architectures in link
#ue4
#android
Change 3347682 on 2017/03/15 by Allan.Bentham
Enable HW sRGB correction with retainer widget's render target.
Use slate's gamma correction for mobile (where no such support exists)
Render retainer box RT content with gamma correction.
#jira UE-40967
Change 3348712 on 2017/03/15 by Nick.Shin
HTML5 - upload to S3
updated to AWS "signature version 4" authentication
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3349254 on 2017/03/16 by Jack.Porter
Fix for crash using the mobile previewer when the LQ lightmap shader permutation is disabled.
#jira UE-42971
Change 3349739 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
better error message feedback on upload failures
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3349765 on 2017/03/16 by Alicia.Cano
Disable mouseover events in Mobile Previewer
#jira UE-19903
#mobile
#rb: Jack.Porter
Change 3350049 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
folder in bucket is optional
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3350153 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
updated S3 public link generator
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3351582 on 2017/03/17 by Will.Fissler
Reverting the attempted fix for Xcode 8.3: Result += " -mcpu=cortex-a9";
Currently we cannot build arm64 for iOS with this change.
Change 3352085 on 2017/03/17 by Alicia.Cano
iOS doesn't honor request to close the virtual keyboard leading to a crash
#jira UE-36447
#ios
#rb:Peter.Sauerbrei
Change 3353313 on 2017/03/19 by Ben.Marsh
Always allow large *.js files in Github.
Change 3354444 on 2017/03/20 by Nick.Shin
HTML5 - upload to S3
to help make it obvious that "upload to S3" checkbox is set/or not -- disable S3 details if checkbox for "uploading to S3" is not set
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3355618 on 2017/03/20 by Nick.Shin
HTML5 Save Game System
- ripped out HTML5 code [from Engine's SaveGameSystem.h] and placed it in HTML5Platform.cpp
- cleaned up HTML5PlatformFile.cpp (make it match as clost to linux's version)
- created HTML5's own PlatformFeature & SaveGameSystem files -- and updated HTML5PlatformMisc to make use of the the new HTML5 SaveGame code
#jira UE-42081 Remove heinous HTML5 code from engine
Change 3355621 on 2017/03/20 by Nick.Shin
remove temp debugging code
#jira UE-42081 Remove heinous HTML5 code from engine
Change 3356937 on 2017/03/21 by Chris.Babcock
Add "stat vulkanrhi" to new console dropdown
#jira UE-43149
#ue4
#android
Change 3357652 on 2017/03/21 by Nick.Shin
HTML5 performance speed ups
added "use fixed timestep" setting option for HTML5 builds (this has been separated from Engine - General Settings - Framerate)
- this is slightly different to smooth framerate and fixed framerate - thus, the timestep option was put in the HTML5 specific panel
this option is based on the suggestions by jukka's post:
- https://answers.unrealengine.com/questions/409629/smooth-frame-rate-and-use-fixed-frame-rate-should.html
however, using this option will make the player "run faster" on (for example) thirdperson blueprint template -- but, it has no effect on other (for example) zen garden...
#jira UE-30214 - Implement a warning message for fps settings
Change 3360415 on 2017/03/23 by Allan.Bentham
Fix crash that occurs when ES3.1 preview is used with r.MobileHDR32bppMode modes.
Change 3360418 on 2017/03/23 by Allan.Bentham
Disable filmic tonemapper if r.MobileHDR32bppMode is in use.
#jira UE-40913
Change 3360557 on 2017/03/23 by Allan.Bentham
Better fix for mobile CSM shadow flickering (UE-42131), now works for PC OpenGL based mobile preview.
#jira UE-42131
Change 3362258 on 2017/03/23 by Dmitriy.Dyomin
Fixed: Canvas texture element gamma issues on iOS Metal
Change 3362321 on 2017/03/24 by Dmitriy.Dyomin
GitHub 3173 : MaterialAO support for mobile rendering path (contributed by kallehamalainen)
#3173
Change 3363550 on 2017/03/24 by Alicia.Cano
build fix for devices < Android 5.0
#jira UE-43299
#android
#rb: chris.babcock
Change 3363687 on 2017/03/24 by Chris.Babcock
Fix Android password hiding in input dialog
#jira WEX-5159
#ue4
#android
Change 3365280 on 2017/03/27 by Dmitriy.Dyomin
Fix for GL_EXT_shader_framebuffer_fetch on Zenfone5. Use UE_EXT_shader_framebuffer_fetch define on all devices to enable extension
Change 3365291 on 2017/03/27 by Dmitriy.Dyomin
Copied form WEX CL# 3308653
Fixed: Enabling shader cache causes crash on NVIDIA Shield
#jira UE-41639
Change 3365293 on 2017/03/27 by Dmitriy.Dyomin
GitHub 3411 : Fix crash in patching utils mount method (contributed by nverenik)
#jira UE-43247
#3411
Change 3365340 on 2017/03/27 by Dmitriy.Dyomin
Fixed: Moving sublevel in world composition browser does not appear in Undo History
#jira UE-35535
Change 3365564 on 2017/03/27 by Allan.Bentham
SkyLightComponent now serializes IrradianceMap SH values.
clicking Recapture sky button in mobile preview switches back to SM4/5 to update captures.
Skylights that are dirty from load will trigger reflection capture update once shaders are rebuilt.
#jira UE-42436
Change 3366282 on 2017/03/27 by Nick.Shin
remove dead links
these files to not exist anywhere in the make-3.81 subfolders
#UDN-354501
#jira none
Change 3366306 on 2017/03/27 by Nick.Shin
HTML5 - disable multi-threading for wasm
#jira UE-43219 - HTML5 disable multi-threading for wasm
Change 3366307 on 2017/03/27 by Nick.Shin
HTML5 packaging Shipping builds
big cleanup / additions to *gz file support for amazon s3
* both, uploading to s3
* and allowing s3 to host the games there
#jira UE-43002 HTML5 in Shipping fails downloading symbols files
#jria UE-43001 HTML5 Shipping Projects fail looking for compressed files when "Compress files during shipping packaging" is not selected.
Change 3367385 on 2017/03/28 by Allan.Bentham
Display skylight serialization warning only when cooking for mobile platforms.
#jira UE-42436
Change 3368583 on 2017/03/28 by Chris.Babcock
Expose JAVA_HOME setting in Android SDK project settings on Mac
#jira UE-43418
#ue4
#android
Change 3368803 on 2017/03/28 by Chris.Babcock
Fix features requested in manifest for "Daydream and Cardboard" mode
#jira UE-43314
#ue4
#android
Change 3369087 on 2017/03/28 by Jack.Porter
Changed tooltip and added supported devices in paretheses for Android Mobile Deferred / ES31+AEP
#jira UE-42438
Change 3369372 on 2017/03/29 by Allan.Bentham
Fix disappearing meshes when r.mobile.allowdistancefieldshadows is disabled.
#jira UE-43366
Change 3369381 on 2017/03/29 by Jack.Porter
Show warnings when mobile shader permutations required for rendering are disbaled
Made FReadOnlyCVARCache a singleton and added mobile CVars, used for MobileBasePassRendering.
#jira UE-43050
Change 3369430 on 2017/03/29 by Allan.Bentham
fix CIS build
Change 3369740 on 2017/03/29 by Allan.Bentham
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fixed up existing JNI functions to use macro.
Add support for map file generation with android.
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira UEMOB-168
Change 3369975 on 2017/03/29 by Nick.Shin
HTML5 - AWS S3 shareable link for shipping builds corrected
#jira UE-43379 Amazon S3 Shareable link does not generate correct filepath.
Change 3369998 on 2017/03/29 by Nick.Shin
HTML5 python build scripts
PR:
https://github.com/Mozilla-Games/UnrealEngine/commit/1cb836d43c3015c6ca0fdd039072bb6c5c273db3
#jira none
Change 3370214 on 2017/03/29 by Nick.Shin
HTML5 - default bUseFixedTimeStep to false...
#jira UE-43380 - Default HTML5 gamespeed is faster than equivalent platforms
Change 3370762 on 2017/03/29 by Chris.Babcock
Fixes to new keyboard for Android
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing when changing focus between multiple EditableTextBox widgets.
#ue4
#android
Change 3371344 on 2017/03/30 by Jack.Porter
Fixed issue where Vulkan screenshot R/B channels were reversed on Android
#jira UE-43479
Change 3372926 on 2017/03/30 by Peter.Sauerbrei
start the process of sunsetting 32-bit and GLES2 on iOS
#jira UE-42266
Change 3372970 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- windows toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3372989 on 2017/03/30 by Peter.Sauerbrei
fix for Xcode 8.3 build with 32-bit
Change 3373007 on 2017/03/30 by Peter.Sauerbrei
fix for crash when online subsystem is disabled on IOS
Change 3373108 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373163 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373169 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
license file updated
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rnx
Change 3373287 on 2017/03/30 by Nick.Shin
HTML5 - 1.36.11 emscripten - remove old SDK
#jira none
#rnx
Change 3373289 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- Linux toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373595 on 2017/03/30 by Chris.Babcock
Reenable GooglePlay for ARM64 now that it doesn't crash
#jira UE-36198
#ue4
#android
Change 3373606 on 2017/03/30 by Chris.Babcock
Submitting Allan's shelved EXT_shader_framebuffer_fetch fix
#ue4
#android
Change 3375456 on 2017/03/31 by Chris.Babcock
Add missing keycodes for Android keyboard (@ and #)
#jira WEX-5777
#ue4
#android
Change 3376309 on 2017/04/03 by Allan.Bentham
Fix overflow issues with mobile DoF.
Change 3377041 on 2017/04/03 by Will.Fissler
Adding Testbed content for PlatformShowcase.
Change 3377582 on 2017/04/03 by Alicia.Cano
adding back in GET_ACCOUNTS permission as it is required for Reset Achievements
#jira: UE-43265
#android
#rb: Chris.Babcock
Change 3377643 on 2017/04/03 by Peter.Sauerbrei
fix for memory leak in MallocBinned
#jira UE-43008
Change 3378033 on 2017/04/04 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- ThirdParty libs compiled with new toolchain with wasm and webgl2 support
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3378034 on 2017/04/04 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- ThirdParty build scripts
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3378035 on 2017/04/04 by Nick.Shin
HTML5 - Update GameX template to make it work with trunk Emscripten
PR
https://github.com/Mozilla-Games/UnrealEngine/commit/dc2b26f452948f8ee07178bc3e8742af80d8919a#commitcomment-21454978
#jira none
#rn
Change 3378044 on 2017/04/04 by Nick.Shin
HTML5 harfbuzz - double checking recompiled with NO multithreading
wasm currently does not support pthreads
*** THIS IS STILL WIP ***
checking in to match 3rd party libs compiled configuration
#jira UE-28588 - Build HarfBuzz for HTML5
#rnx
Change 3378264 on 2017/04/04 by Allan.Bentham
Fix crash when using consolas font on android sdk 24
#jira UE-43464
Change 3379097 on 2017/04/04 by Nick.Shin
CIS HTML5 build warning fix
#jria none
#rnx
Change 3379333 on 2017/04/04 by Chris.Babcock
Prevent inserting extra permissions into manifest multiple times
#jira UE-43583
#ue4
#android
Change 3380870 on 2017/04/05 by Chris.Babcock
Fix merge issue
Change 3380898 on 2017/04/05 by Chris.Babcock
Fixed again
Change 3381443 on 2017/04/05 by Chris.Babcock
Fix for GearVR non-unity build
#ue4
#android
Change 3381941 on 2017/04/05 by Chris.Babcock
Fix HTTPChunkInstaller texture format checks and missing #define warning
#jira UE-43706
#ue4
#android
Change 3382056 on 2017/04/05 by Chris.Babcock
Updates to Android AARs needed for Facebook plugin
Change 3382097 on 2017/04/05 by Chris.Babcock
Disable java console cmd receiver only in shipping builds
#jira UE-43710
#ue4
#android
Change 3382497 on 2017/04/06 by Allan.Bentham
Fix Fortnite Cooked Server crashes when joining game from lobby.
#jira UE-43695
Change 3383227 on 2017/04/06 by Will.Fissler
Reverted case sensitive change, from yesterday, and implemented a pragma instead.
#jira UE-41313
[CL 3383473 by Jack Porter in Main branch]
2017-04-06 16:13:17 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
string Result = "" ;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3383462)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3292174 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- Linux toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292193 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- ThirdParty libs compiled with new toolchain with wasm support
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292215 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and wbegl2 support
- emscripten toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292222 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm support
- ENGINE changes (c# & cpp files)
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292223 on 2017/02/08 by Nick.Shin
HTML5 merge ThirdParty lib build scripts from Dev-Platform to Dev-Mobile
Change 3292228 on 2017/02/08 by Nick.Shin
HTML5 emscripten: webgl support
- webgl patches
- and a lot of UE4 patches to package HTML5 on LINUX
- mostly from mozilla's jukka -- thx jukka!
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3292285 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- Windows toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3293994 on 2017/02/09 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- OSX toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3294391 on 2017/02/09 by Nick.Shin
HTML5 "black box issues" revisited
- jukka rewrote the window resize handler -- much cleaner and more straightforward
#jira UE-36341 HTML5 - View is incorrectly drawn
#jira UE-32311 Templates on Firefox/Chrome on HTML5 are not full screen during Launch On
Change 3296421 on 2017/02/10 by Jack.Porter
Fix landscape spline segment splitting placing when using streaming levels
Change 3296587 on 2017/02/10 by Jack.Porter
Additional fix for landscape spline segment splitting when using streaming levels
Change 3301241 on 2017/02/14 by Mi.Wang
Fixed DeviceProfileEditor bug for incorrect clamp the Texture Mip LOD size. #jira UE-36237 #rb jack.porter
Change 3301387 on 2017/02/14 by Nick.Shin
HTML5 emscripten: webgl support
- webgl patches from mozilla's jukka
+ hardware instancing
+ glBlitFramebuffer
+ GL AlaphaBlendOperation
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3301405 on 2017/02/14 by Nick.Shin
HTML5 plugin fix when blueprint projects are promoted to code projects automatically.
#jira UE-41710 HTML5 - Package Failure - Failed to Produce item ProjectName-OnlineSubsystemNull.bc
Change 3302278 on 2017/02/14 by Omar.Rodriguez
UE-36651: Mac Vulkan Android Projects crash on launch.
* Glslang library has been built for Mac but flag was not updated
* Set GlslangAvailable to true for Mac when building an Android project with vulkan
#jira UE-36651
Change 3302773 on 2017/02/14 by Chris.Babcock
Add a dropdown with some common console commands on Android (contributed by rafortis)
#jira UE-40834
#PR #3143
#ue4
#android
Change 3305604 on 2017/02/16 by Nick.Shin
HTML5 webgl2 shader- turn on: instance static mesh vertex factory
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3308154 on 2017/02/16 by Nick.Shin
HTML5 GitHub PR
#jira UE-42019 GitHub 3258 : Added suport for emscripten --pre-js and --post-js option when building for HTML5
Change 3308510 on 2017/02/16 by Nick.Shin
HTML5 webgl2 shader fixes
#jria UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3308971 on 2017/02/17 by Jack.Porter
Fix for landscape painting when height<0 in the Ortho viewports
Change 3309075 on 2017/02/17 by Allan.Bentham
Include static subject meshes when masking out modulated shadow casters.
#jira UE-41581
Change 3309531 on 2017/02/17 by Chris.Babcock
Handle large OBB files in APK
#jira UE-41443
#ue4
#android
Change 3311320 on 2017/02/19 by Dmitriy.Dyomin
Fixed: Particle Cutout Crashes On Mobile Devices That Don't Support Hardware Instancing (Mali-400 GPU)
#jira UE-41970
Change 3311347 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Engine Crashes When Previewing ES3_1 With Material Using World Position Offset (Need Custom Stencil)
#jira UE-41976
Change 3311398 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Landscapes do not render on PowerVR device
#jira UE-35530
Change 3311428 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Exposure Is More Extreme In High-End Mobile Preview Modes
#jira UE-42036
Change 3311448 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Packaged game Crashes on android after entering "Help" command twice
#jira UE-41956
Change 3311587 on 2017/02/20 by Allan.Bentham
ES2 GLSL - Silently swap all uint to ints
#jira UE-41548
Change 3313930 on 2017/02/21 by Allan.Bentham
Print literal uints as ints when generating ES2 code.
#jira UE-41548
Change 3317924 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- Linux toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3317929 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- ThirdParty libs compiled with new toolchain with wasm and webgl2 support
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3317951 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318004 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- windows toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318669 on 2017/02/23 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318672 on 2017/02/23 by Nick.Shin
HTML5 webgl2 shader fixes
#jria UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318819 on 2017/02/23 by Dmitriy.Dyomin
Fixed: Rendering artifacts with bloom on iPhone7 Metal
#jira UE-40978
Change 3319702 on 2017/02/23 by Chris.Babcock
Disable eglSwapInterval since it can cause issues with some drivers
#ue4
#android
Change 3320880 on 2017/02/24 by Dmitriy.Dyomin
Added r.Mobile.TonemapperFilm cvar which can be used to enable/disable filmic tonemapper on mobile, independently from desktop (disabled by default)
#jira UEMOB-195
Change 3321042 on 2017/02/24 by Jack.Porter
Fixed incorrect sizeof in Vulkan pipleine cache
pointed out here: http://coconutlizard.co.uk/blog/ue4/ue4-its-a-size-jim/
#code_review: rolando.caloca
Change 3322383 on 2017/02/24 by Chris.Babcock
Fix issue with ad banner on Android 7.0 devices
#jira UE-42390
#ue4
#android
Change 3322479 on 2017/02/24 by Omar.Rodriguez
UEMOB-199 - WEX: Improved virtual keyboard for Android
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira UEMOB-199
Change 3323353 on 2017/02/27 by Allan.Bentham
Fix broken mobile scene captures when !mobileHDR and RHINeedsToSwitchVerticalAxis
#jira UE-42191
Change 3323431 on 2017/02/27 by Allan.Bentham
CIS fix
Change 3323687 on 2017/02/27 by Allan.Bentham
Disable GRHINeedsUnatlasedCSMDepthsWorkaround for mobile devices.
#jira UE-42131
Change 3324652 on 2017/02/28 by Dmitriy.Dyomin
Fixed: Canvas elements appear darker on iOS Metal
Change 3324885 on 2017/02/28 by Jack.Porter
Fixed "Minimum iOS Version" setting display name
#jira UE-42270
Change 3324899 on 2017/02/28 by Jack.Porter
GitHub 3063 : removed duplicate gc.MaxObjectsInGame setting in IOSEngine.ini
#jira UE-40018
#3063
Change 3324932 on 2017/02/28 by Jack.Porter
GitHub 3257 : iPhonePackager errors in output log when opening project settings on Windows
#jira UE-41984
#3257
#codereview: Peter.Sauerbrei
Change 3324956 on 2017/02/28 by Jack.Porter
FOpenGLFrontend::GetMaxSamplers incorrect for IOS
#jira UE-42038
#3264
Change 3325478 on 2017/02/28 by Allan.Bentham
PR # 3188 : Fix far distance bug with cascaded shadows on mobile (Metal) and PC mobile preview (Contributed by ufna)
#jira UE-41442
Change 3327300 on 2017/03/01 by Allan.Bentham
PR #3175 : Fixes high quality reflection blending seams (Contributed by kallehamalainen)
#jira UE-41257
Change 3328917 on 2017/03/02 by Nick.Shin
HTML5 project settings
expose ini settings to edtior HTML5 project settings panel
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
#jira UE-41584 Editor locks up when adding an element for HTML5 devices on Mac
#jira UE-41701 Editor freezes when setting browser filepath for inserted element in project settings
Change 3329169 on 2017/03/02 by Allan.Bentham
increase render thread timeout to 1 minute for suntemple / android.
Prevents low end devices timing out during load.
#jira UE-40696
Change 3330849 on 2017/03/02 by Nick.Shin
HTML5 project settings
expose ini settings to edtior HTML5 project settings panel
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3331078 on 2017/03/03 by Dmitriy.Dyomin
Fixed: Device output log partial lines
integrated from WEX (3250488)
Change 3331112 on 2017/03/03 by Dmitriy.Dyomin
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
integrated from WEX (3256584)
Change 3331117 on 2017/03/03 by Dmitriy.Dyomin
Fixed redundant blend state changes in opengl
integrated from WEX (3256586)
Change 3331173 on 2017/03/03 by Dmitriy.Dyomin
Slate pixel shaders will use half precision where possible on mobile
integrated from WEX (3256656)
Change 3332865 on 2017/03/06 by Dmitriy.Dyomin
Better MobileContentScaleFactor defaults for iOS devices
#jira UEMOB-330
Change 3333129 on 2017/03/06 by Peter.Sauerbrei
move to Library/Caches instead of documents for saved files
re-enable iterative deploy on TVOS
#jira UEMOB-284
Change 3334692 on 2017/03/06 by Jack.Porter
Allow r.MobileContentScaleFactor to be changed at runtime on Android
#jira UEMOB-173
Change 3336255 on 2017/03/07 by Nick.Shin
HTML5 project settings
marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3337094 on 2017/03/08 by Nick.Shin
HTML5 project settings
marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3338800 on 2017/03/08 by Chris.Babcock
Update AAR handling to deal with versioning, subproject dependencies for resources, and scope
#jira UE-42677
#ue4
#android
Change 3338813 on 2017/03/08 by Chris.Babcock
Pass build configuration to UPL for access during packaging as $S(Configuration)
#jira UE-42678
#ue4
#android
#ios
Change 3339401 on 2017/03/09 by Alicia.Cano
Android runtime permissions
- Fix for WRITE_EXTERNAL_STORAGE if it is not granted at time of onCreate for non-shipping builds
- Fix for Location Services
- Fix for if target sdk is not set to 23+
#jira UE-38512
#android
#rb: chris.babcock
Change 3340736 on 2017/03/09 by Chris.Babcock
Implement support for new controllers (Xbox Wireless, SteelSeries Stratus XL, PS4) (contributed by TRS-justing)
#jira UE-41965
#PR #3254
#ue4
#android
Change 3340744 on 2017/03/09 by Jack.Porter
Expose Custom Depth to Foliage
#jira UE-6061
Change 3340849 on 2017/03/09 by Dmitriy.Dyomin
Fixed: iOS movie become laggy and crashes when played in iPhone 6/6s.
#jira UE-42351
Change 3341268 on 2017/03/10 by Alicia.Cano
PR #2894: Initial VoiceModuleAndroid support. (Contributed by devbm)
#jira UE-37945
#android
#rb: chris.babcock, jack.porter
Change 3341303 on 2017/03/10 by Allan.Bentham
Remove optimisation that prevents full specular occulsion on mobile.
PR #3186 : Specular can't be blocked on high-end mobile.
#jira UE-41393
Change 3342304 on 2017/03/10 by Alicia.Cano
build fix
#rb: chris.babcock
Change 3343344 on 2017/03/13 by Alicia.Cano
build fix
#rb: chris.babcock
Change 3343591 on 2017/03/13 by Brent.Pease
iOS multiplayer fix part 1. Correct byte ordering.
#jira UE-34875
Change 3343669 on 2017/03/13 by Chris.Babcock
Update carefullyredist script version
#jira UE-42832
Change 3344212 on 2017/03/13 by Will.Fissler
Various compile fixes for Xcode 8.3.
These fixes must also be added to //UE4/Release-4.15.
#jira UE-41313
Change 3344396 on 2017/03/13 by Chris.Babcock
Fix Java 1.5 obsolete warnings
#jira UE-42851
#ue4
#android
Change 3345132 on 2017/03/14 by Will.Fissler
Added ifdef wrapper to check clang version for presentDrawable.
Change 3345336 on 2017/03/14 by Will.Fissler
Moved #if (__clang_major__ > 8) || (__clang_major__ == 8 && __clang_minor__ >= 1) check inside of the presentDrawable method.
Change 3345460 on 2017/03/14 by Will.Fissler
ifdef changes for presentDrawable. The last submission duped the changes, instead of merging. #rb none
Change 3346046 on 2017/03/14 by Will.Fissler
Fixed MetalCommandBuffer.cpp [again] after last submission duped changes instead of merging.
Change 3346367 on 2017/03/14 by Chris.Babcock
Fix issue with GoogleVR ARMv7 libraries included for other architectures in link
#ue4
#android
Change 3347682 on 2017/03/15 by Allan.Bentham
Enable HW sRGB correction with retainer widget's render target.
Use slate's gamma correction for mobile (where no such support exists)
Render retainer box RT content with gamma correction.
#jira UE-40967
Change 3348712 on 2017/03/15 by Nick.Shin
HTML5 - upload to S3
updated to AWS "signature version 4" authentication
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3349254 on 2017/03/16 by Jack.Porter
Fix for crash using the mobile previewer when the LQ lightmap shader permutation is disabled.
#jira UE-42971
Change 3349739 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
better error message feedback on upload failures
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3349765 on 2017/03/16 by Alicia.Cano
Disable mouseover events in Mobile Previewer
#jira UE-19903
#mobile
#rb: Jack.Porter
Change 3350049 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
folder in bucket is optional
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3350153 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
updated S3 public link generator
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3351582 on 2017/03/17 by Will.Fissler
Reverting the attempted fix for Xcode 8.3: Result += " -mcpu=cortex-a9";
Currently we cannot build arm64 for iOS with this change.
Change 3352085 on 2017/03/17 by Alicia.Cano
iOS doesn't honor request to close the virtual keyboard leading to a crash
#jira UE-36447
#ios
#rb:Peter.Sauerbrei
Change 3353313 on 2017/03/19 by Ben.Marsh
Always allow large *.js files in Github.
Change 3354444 on 2017/03/20 by Nick.Shin
HTML5 - upload to S3
to help make it obvious that "upload to S3" checkbox is set/or not -- disable S3 details if checkbox for "uploading to S3" is not set
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3355618 on 2017/03/20 by Nick.Shin
HTML5 Save Game System
- ripped out HTML5 code [from Engine's SaveGameSystem.h] and placed it in HTML5Platform.cpp
- cleaned up HTML5PlatformFile.cpp (make it match as clost to linux's version)
- created HTML5's own PlatformFeature & SaveGameSystem files -- and updated HTML5PlatformMisc to make use of the the new HTML5 SaveGame code
#jira UE-42081 Remove heinous HTML5 code from engine
Change 3355621 on 2017/03/20 by Nick.Shin
remove temp debugging code
#jira UE-42081 Remove heinous HTML5 code from engine
Change 3356937 on 2017/03/21 by Chris.Babcock
Add "stat vulkanrhi" to new console dropdown
#jira UE-43149
#ue4
#android
Change 3357652 on 2017/03/21 by Nick.Shin
HTML5 performance speed ups
added "use fixed timestep" setting option for HTML5 builds (this has been separated from Engine - General Settings - Framerate)
- this is slightly different to smooth framerate and fixed framerate - thus, the timestep option was put in the HTML5 specific panel
this option is based on the suggestions by jukka's post:
- https://answers.unrealengine.com/questions/409629/smooth-frame-rate-and-use-fixed-frame-rate-should.html
however, using this option will make the player "run faster" on (for example) thirdperson blueprint template -- but, it has no effect on other (for example) zen garden...
#jira UE-30214 - Implement a warning message for fps settings
Change 3360415 on 2017/03/23 by Allan.Bentham
Fix crash that occurs when ES3.1 preview is used with r.MobileHDR32bppMode modes.
Change 3360418 on 2017/03/23 by Allan.Bentham
Disable filmic tonemapper if r.MobileHDR32bppMode is in use.
#jira UE-40913
Change 3360557 on 2017/03/23 by Allan.Bentham
Better fix for mobile CSM shadow flickering (UE-42131), now works for PC OpenGL based mobile preview.
#jira UE-42131
Change 3362258 on 2017/03/23 by Dmitriy.Dyomin
Fixed: Canvas texture element gamma issues on iOS Metal
Change 3362321 on 2017/03/24 by Dmitriy.Dyomin
GitHub 3173 : MaterialAO support for mobile rendering path (contributed by kallehamalainen)
#3173
Change 3363550 on 2017/03/24 by Alicia.Cano
build fix for devices < Android 5.0
#jira UE-43299
#android
#rb: chris.babcock
Change 3363687 on 2017/03/24 by Chris.Babcock
Fix Android password hiding in input dialog
#jira WEX-5159
#ue4
#android
Change 3365280 on 2017/03/27 by Dmitriy.Dyomin
Fix for GL_EXT_shader_framebuffer_fetch on Zenfone5. Use UE_EXT_shader_framebuffer_fetch define on all devices to enable extension
Change 3365291 on 2017/03/27 by Dmitriy.Dyomin
Copied form WEX CL# 3308653
Fixed: Enabling shader cache causes crash on NVIDIA Shield
#jira UE-41639
Change 3365293 on 2017/03/27 by Dmitriy.Dyomin
GitHub 3411 : Fix crash in patching utils mount method (contributed by nverenik)
#jira UE-43247
#3411
Change 3365340 on 2017/03/27 by Dmitriy.Dyomin
Fixed: Moving sublevel in world composition browser does not appear in Undo History
#jira UE-35535
Change 3365564 on 2017/03/27 by Allan.Bentham
SkyLightComponent now serializes IrradianceMap SH values.
clicking Recapture sky button in mobile preview switches back to SM4/5 to update captures.
Skylights that are dirty from load will trigger reflection capture update once shaders are rebuilt.
#jira UE-42436
Change 3366282 on 2017/03/27 by Nick.Shin
remove dead links
these files to not exist anywhere in the make-3.81 subfolders
#UDN-354501
#jira none
Change 3366306 on 2017/03/27 by Nick.Shin
HTML5 - disable multi-threading for wasm
#jira UE-43219 - HTML5 disable multi-threading for wasm
Change 3366307 on 2017/03/27 by Nick.Shin
HTML5 packaging Shipping builds
big cleanup / additions to *gz file support for amazon s3
* both, uploading to s3
* and allowing s3 to host the games there
#jira UE-43002 HTML5 in Shipping fails downloading symbols files
#jria UE-43001 HTML5 Shipping Projects fail looking for compressed files when "Compress files during shipping packaging" is not selected.
Change 3367385 on 2017/03/28 by Allan.Bentham
Display skylight serialization warning only when cooking for mobile platforms.
#jira UE-42436
Change 3368583 on 2017/03/28 by Chris.Babcock
Expose JAVA_HOME setting in Android SDK project settings on Mac
#jira UE-43418
#ue4
#android
Change 3368803 on 2017/03/28 by Chris.Babcock
Fix features requested in manifest for "Daydream and Cardboard" mode
#jira UE-43314
#ue4
#android
Change 3369087 on 2017/03/28 by Jack.Porter
Changed tooltip and added supported devices in paretheses for Android Mobile Deferred / ES31+AEP
#jira UE-42438
Change 3369372 on 2017/03/29 by Allan.Bentham
Fix disappearing meshes when r.mobile.allowdistancefieldshadows is disabled.
#jira UE-43366
Change 3369381 on 2017/03/29 by Jack.Porter
Show warnings when mobile shader permutations required for rendering are disbaled
Made FReadOnlyCVARCache a singleton and added mobile CVars, used for MobileBasePassRendering.
#jira UE-43050
Change 3369430 on 2017/03/29 by Allan.Bentham
fix CIS build
Change 3369740 on 2017/03/29 by Allan.Bentham
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fixed up existing JNI functions to use macro.
Add support for map file generation with android.
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira UEMOB-168
Change 3369975 on 2017/03/29 by Nick.Shin
HTML5 - AWS S3 shareable link for shipping builds corrected
#jira UE-43379 Amazon S3 Shareable link does not generate correct filepath.
Change 3369998 on 2017/03/29 by Nick.Shin
HTML5 python build scripts
PR:
https://github.com/Mozilla-Games/UnrealEngine/commit/1cb836d43c3015c6ca0fdd039072bb6c5c273db3
#jira none
Change 3370214 on 2017/03/29 by Nick.Shin
HTML5 - default bUseFixedTimeStep to false...
#jira UE-43380 - Default HTML5 gamespeed is faster than equivalent platforms
Change 3370762 on 2017/03/29 by Chris.Babcock
Fixes to new keyboard for Android
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing when changing focus between multiple EditableTextBox widgets.
#ue4
#android
Change 3371344 on 2017/03/30 by Jack.Porter
Fixed issue where Vulkan screenshot R/B channels were reversed on Android
#jira UE-43479
Change 3372926 on 2017/03/30 by Peter.Sauerbrei
start the process of sunsetting 32-bit and GLES2 on iOS
#jira UE-42266
Change 3372970 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- windows toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3372989 on 2017/03/30 by Peter.Sauerbrei
fix for Xcode 8.3 build with 32-bit
Change 3373007 on 2017/03/30 by Peter.Sauerbrei
fix for crash when online subsystem is disabled on IOS
Change 3373108 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373163 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373169 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
license file updated
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rnx
Change 3373287 on 2017/03/30 by Nick.Shin
HTML5 - 1.36.11 emscripten - remove old SDK
#jira none
#rnx
Change 3373289 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- Linux toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373595 on 2017/03/30 by Chris.Babcock
Reenable GooglePlay for ARM64 now that it doesn't crash
#jira UE-36198
#ue4
#android
Change 3373606 on 2017/03/30 by Chris.Babcock
Submitting Allan's shelved EXT_shader_framebuffer_fetch fix
#ue4
#android
Change 3375456 on 2017/03/31 by Chris.Babcock
Add missing keycodes for Android keyboard (@ and #)
#jira WEX-5777
#ue4
#android
Change 3376309 on 2017/04/03 by Allan.Bentham
Fix overflow issues with mobile DoF.
Change 3377041 on 2017/04/03 by Will.Fissler
Adding Testbed content for PlatformShowcase.
Change 3377582 on 2017/04/03 by Alicia.Cano
adding back in GET_ACCOUNTS permission as it is required for Reset Achievements
#jira: UE-43265
#android
#rb: Chris.Babcock
Change 3377643 on 2017/04/03 by Peter.Sauerbrei
fix for memory leak in MallocBinned
#jira UE-43008
Change 3378033 on 2017/04/04 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- ThirdParty libs compiled with new toolchain with wasm and webgl2 support
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3378034 on 2017/04/04 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- ThirdParty build scripts
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3378035 on 2017/04/04 by Nick.Shin
HTML5 - Update GameX template to make it work with trunk Emscripten
PR
https://github.com/Mozilla-Games/UnrealEngine/commit/dc2b26f452948f8ee07178bc3e8742af80d8919a#commitcomment-21454978
#jira none
#rn
Change 3378044 on 2017/04/04 by Nick.Shin
HTML5 harfbuzz - double checking recompiled with NO multithreading
wasm currently does not support pthreads
*** THIS IS STILL WIP ***
checking in to match 3rd party libs compiled configuration
#jira UE-28588 - Build HarfBuzz for HTML5
#rnx
Change 3378264 on 2017/04/04 by Allan.Bentham
Fix crash when using consolas font on android sdk 24
#jira UE-43464
Change 3379097 on 2017/04/04 by Nick.Shin
CIS HTML5 build warning fix
#jria none
#rnx
Change 3379333 on 2017/04/04 by Chris.Babcock
Prevent inserting extra permissions into manifest multiple times
#jira UE-43583
#ue4
#android
Change 3380870 on 2017/04/05 by Chris.Babcock
Fix merge issue
Change 3380898 on 2017/04/05 by Chris.Babcock
Fixed again
Change 3381443 on 2017/04/05 by Chris.Babcock
Fix for GearVR non-unity build
#ue4
#android
Change 3381941 on 2017/04/05 by Chris.Babcock
Fix HTTPChunkInstaller texture format checks and missing #define warning
#jira UE-43706
#ue4
#android
Change 3382056 on 2017/04/05 by Chris.Babcock
Updates to Android AARs needed for Facebook plugin
Change 3382097 on 2017/04/05 by Chris.Babcock
Disable java console cmd receiver only in shipping builds
#jira UE-43710
#ue4
#android
Change 3382497 on 2017/04/06 by Allan.Bentham
Fix Fortnite Cooked Server crashes when joining game from lobby.
#jira UE-43695
Change 3383227 on 2017/04/06 by Will.Fissler
Reverted case sensitive change, from yesterday, and implemented a pragma instead.
#jira UE-41313
[CL 3383473 by Jack Porter in Main branch]
2017-04-06 16:13:17 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
foreach ( string Token in Tokens )
{
Result + = " -arch " + Token ;
}
2019-08-30 17:54:29 -04:00
// Remove this in 4.16
// Commented this out, for now. @Pete let's conditionally check this when we re-implement this fix.
// Result += " -mcpu=cortex-a9";
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3383462)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3292174 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- Linux toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292193 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- ThirdParty libs compiled with new toolchain with wasm support
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292215 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and wbegl2 support
- emscripten toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292222 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm support
- ENGINE changes (c# & cpp files)
#jira UEPLAT-1437 Switch [to] web assembly
Change 3292223 on 2017/02/08 by Nick.Shin
HTML5 merge ThirdParty lib build scripts from Dev-Platform to Dev-Mobile
Change 3292228 on 2017/02/08 by Nick.Shin
HTML5 emscripten: webgl support
- webgl patches
- and a lot of UE4 patches to package HTML5 on LINUX
- mostly from mozilla's jukka -- thx jukka!
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3292285 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- Windows toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3293994 on 2017/02/09 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- OSX toolchain
#jira UEPLAT-1437 Switch [to] web assembly
Change 3294391 on 2017/02/09 by Nick.Shin
HTML5 "black box issues" revisited
- jukka rewrote the window resize handler -- much cleaner and more straightforward
#jira UE-36341 HTML5 - View is incorrectly drawn
#jira UE-32311 Templates on Firefox/Chrome on HTML5 are not full screen during Launch On
Change 3296421 on 2017/02/10 by Jack.Porter
Fix landscape spline segment splitting placing when using streaming levels
Change 3296587 on 2017/02/10 by Jack.Porter
Additional fix for landscape spline segment splitting when using streaming levels
Change 3301241 on 2017/02/14 by Mi.Wang
Fixed DeviceProfileEditor bug for incorrect clamp the Texture Mip LOD size. #jira UE-36237 #rb jack.porter
Change 3301387 on 2017/02/14 by Nick.Shin
HTML5 emscripten: webgl support
- webgl patches from mozilla's jukka
+ hardware instancing
+ glBlitFramebuffer
+ GL AlaphaBlendOperation
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3301405 on 2017/02/14 by Nick.Shin
HTML5 plugin fix when blueprint projects are promoted to code projects automatically.
#jira UE-41710 HTML5 - Package Failure - Failed to Produce item ProjectName-OnlineSubsystemNull.bc
Change 3302278 on 2017/02/14 by Omar.Rodriguez
UE-36651: Mac Vulkan Android Projects crash on launch.
* Glslang library has been built for Mac but flag was not updated
* Set GlslangAvailable to true for Mac when building an Android project with vulkan
#jira UE-36651
Change 3302773 on 2017/02/14 by Chris.Babcock
Add a dropdown with some common console commands on Android (contributed by rafortis)
#jira UE-40834
#PR #3143
#ue4
#android
Change 3305604 on 2017/02/16 by Nick.Shin
HTML5 webgl2 shader- turn on: instance static mesh vertex factory
#jira UEPLAT-828 (4.16) Support ES3 / WebGL2 in HTML5
Change 3308154 on 2017/02/16 by Nick.Shin
HTML5 GitHub PR
#jira UE-42019 GitHub 3258 : Added suport for emscripten --pre-js and --post-js option when building for HTML5
Change 3308510 on 2017/02/16 by Nick.Shin
HTML5 webgl2 shader fixes
#jria UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3308971 on 2017/02/17 by Jack.Porter
Fix for landscape painting when height<0 in the Ortho viewports
Change 3309075 on 2017/02/17 by Allan.Bentham
Include static subject meshes when masking out modulated shadow casters.
#jira UE-41581
Change 3309531 on 2017/02/17 by Chris.Babcock
Handle large OBB files in APK
#jira UE-41443
#ue4
#android
Change 3311320 on 2017/02/19 by Dmitriy.Dyomin
Fixed: Particle Cutout Crashes On Mobile Devices That Don't Support Hardware Instancing (Mali-400 GPU)
#jira UE-41970
Change 3311347 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Engine Crashes When Previewing ES3_1 With Material Using World Position Offset (Need Custom Stencil)
#jira UE-41976
Change 3311398 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Landscapes do not render on PowerVR device
#jira UE-35530
Change 3311428 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Exposure Is More Extreme In High-End Mobile Preview Modes
#jira UE-42036
Change 3311448 on 2017/02/20 by Dmitriy.Dyomin
Fixed: Packaged game Crashes on android after entering "Help" command twice
#jira UE-41956
Change 3311587 on 2017/02/20 by Allan.Bentham
ES2 GLSL - Silently swap all uint to ints
#jira UE-41548
Change 3313930 on 2017/02/21 by Allan.Bentham
Print literal uints as ints when generating ES2 code.
#jira UE-41548
Change 3317924 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- Linux toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3317929 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- ThirdParty libs compiled with new toolchain with wasm and webgl2 support
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3317951 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318004 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- windows toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318669 on 2017/02/23 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318672 on 2017/02/23 by Nick.Shin
HTML5 webgl2 shader fixes
#jria UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3318819 on 2017/02/23 by Dmitriy.Dyomin
Fixed: Rendering artifacts with bloom on iPhone7 Metal
#jira UE-40978
Change 3319702 on 2017/02/23 by Chris.Babcock
Disable eglSwapInterval since it can cause issues with some drivers
#ue4
#android
Change 3320880 on 2017/02/24 by Dmitriy.Dyomin
Added r.Mobile.TonemapperFilm cvar which can be used to enable/disable filmic tonemapper on mobile, independently from desktop (disabled by default)
#jira UEMOB-195
Change 3321042 on 2017/02/24 by Jack.Porter
Fixed incorrect sizeof in Vulkan pipleine cache
pointed out here: http://coconutlizard.co.uk/blog/ue4/ue4-its-a-size-jim/
#code_review: rolando.caloca
Change 3322383 on 2017/02/24 by Chris.Babcock
Fix issue with ad banner on Android 7.0 devices
#jira UE-42390
#ue4
#android
Change 3322479 on 2017/02/24 by Omar.Rodriguez
UEMOB-199 - WEX: Improved virtual keyboard for Android
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira UEMOB-199
Change 3323353 on 2017/02/27 by Allan.Bentham
Fix broken mobile scene captures when !mobileHDR and RHINeedsToSwitchVerticalAxis
#jira UE-42191
Change 3323431 on 2017/02/27 by Allan.Bentham
CIS fix
Change 3323687 on 2017/02/27 by Allan.Bentham
Disable GRHINeedsUnatlasedCSMDepthsWorkaround for mobile devices.
#jira UE-42131
Change 3324652 on 2017/02/28 by Dmitriy.Dyomin
Fixed: Canvas elements appear darker on iOS Metal
Change 3324885 on 2017/02/28 by Jack.Porter
Fixed "Minimum iOS Version" setting display name
#jira UE-42270
Change 3324899 on 2017/02/28 by Jack.Porter
GitHub 3063 : removed duplicate gc.MaxObjectsInGame setting in IOSEngine.ini
#jira UE-40018
#3063
Change 3324932 on 2017/02/28 by Jack.Porter
GitHub 3257 : iPhonePackager errors in output log when opening project settings on Windows
#jira UE-41984
#3257
#codereview: Peter.Sauerbrei
Change 3324956 on 2017/02/28 by Jack.Porter
FOpenGLFrontend::GetMaxSamplers incorrect for IOS
#jira UE-42038
#3264
Change 3325478 on 2017/02/28 by Allan.Bentham
PR # 3188 : Fix far distance bug with cascaded shadows on mobile (Metal) and PC mobile preview (Contributed by ufna)
#jira UE-41442
Change 3327300 on 2017/03/01 by Allan.Bentham
PR #3175 : Fixes high quality reflection blending seams (Contributed by kallehamalainen)
#jira UE-41257
Change 3328917 on 2017/03/02 by Nick.Shin
HTML5 project settings
expose ini settings to edtior HTML5 project settings panel
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
#jira UE-41584 Editor locks up when adding an element for HTML5 devices on Mac
#jira UE-41701 Editor freezes when setting browser filepath for inserted element in project settings
Change 3329169 on 2017/03/02 by Allan.Bentham
increase render thread timeout to 1 minute for suntemple / android.
Prevents low end devices timing out during load.
#jira UE-40696
Change 3330849 on 2017/03/02 by Nick.Shin
HTML5 project settings
expose ini settings to edtior HTML5 project settings panel
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3331078 on 2017/03/03 by Dmitriy.Dyomin
Fixed: Device output log partial lines
integrated from WEX (3250488)
Change 3331112 on 2017/03/03 by Dmitriy.Dyomin
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
integrated from WEX (3256584)
Change 3331117 on 2017/03/03 by Dmitriy.Dyomin
Fixed redundant blend state changes in opengl
integrated from WEX (3256586)
Change 3331173 on 2017/03/03 by Dmitriy.Dyomin
Slate pixel shaders will use half precision where possible on mobile
integrated from WEX (3256656)
Change 3332865 on 2017/03/06 by Dmitriy.Dyomin
Better MobileContentScaleFactor defaults for iOS devices
#jira UEMOB-330
Change 3333129 on 2017/03/06 by Peter.Sauerbrei
move to Library/Caches instead of documents for saved files
re-enable iterative deploy on TVOS
#jira UEMOB-284
Change 3334692 on 2017/03/06 by Jack.Porter
Allow r.MobileContentScaleFactor to be changed at runtime on Android
#jira UEMOB-173
Change 3336255 on 2017/03/07 by Nick.Shin
HTML5 project settings
marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3337094 on 2017/03/08 by Nick.Shin
HTML5 project settings
marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...
#jira UE-42331 Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
Change 3338800 on 2017/03/08 by Chris.Babcock
Update AAR handling to deal with versioning, subproject dependencies for resources, and scope
#jira UE-42677
#ue4
#android
Change 3338813 on 2017/03/08 by Chris.Babcock
Pass build configuration to UPL for access during packaging as $S(Configuration)
#jira UE-42678
#ue4
#android
#ios
Change 3339401 on 2017/03/09 by Alicia.Cano
Android runtime permissions
- Fix for WRITE_EXTERNAL_STORAGE if it is not granted at time of onCreate for non-shipping builds
- Fix for Location Services
- Fix for if target sdk is not set to 23+
#jira UE-38512
#android
#rb: chris.babcock
Change 3340736 on 2017/03/09 by Chris.Babcock
Implement support for new controllers (Xbox Wireless, SteelSeries Stratus XL, PS4) (contributed by TRS-justing)
#jira UE-41965
#PR #3254
#ue4
#android
Change 3340744 on 2017/03/09 by Jack.Porter
Expose Custom Depth to Foliage
#jira UE-6061
Change 3340849 on 2017/03/09 by Dmitriy.Dyomin
Fixed: iOS movie become laggy and crashes when played in iPhone 6/6s.
#jira UE-42351
Change 3341268 on 2017/03/10 by Alicia.Cano
PR #2894: Initial VoiceModuleAndroid support. (Contributed by devbm)
#jira UE-37945
#android
#rb: chris.babcock, jack.porter
Change 3341303 on 2017/03/10 by Allan.Bentham
Remove optimisation that prevents full specular occulsion on mobile.
PR #3186 : Specular can't be blocked on high-end mobile.
#jira UE-41393
Change 3342304 on 2017/03/10 by Alicia.Cano
build fix
#rb: chris.babcock
Change 3343344 on 2017/03/13 by Alicia.Cano
build fix
#rb: chris.babcock
Change 3343591 on 2017/03/13 by Brent.Pease
iOS multiplayer fix part 1. Correct byte ordering.
#jira UE-34875
Change 3343669 on 2017/03/13 by Chris.Babcock
Update carefullyredist script version
#jira UE-42832
Change 3344212 on 2017/03/13 by Will.Fissler
Various compile fixes for Xcode 8.3.
These fixes must also be added to //UE4/Release-4.15.
#jira UE-41313
Change 3344396 on 2017/03/13 by Chris.Babcock
Fix Java 1.5 obsolete warnings
#jira UE-42851
#ue4
#android
Change 3345132 on 2017/03/14 by Will.Fissler
Added ifdef wrapper to check clang version for presentDrawable.
Change 3345336 on 2017/03/14 by Will.Fissler
Moved #if (__clang_major__ > 8) || (__clang_major__ == 8 && __clang_minor__ >= 1) check inside of the presentDrawable method.
Change 3345460 on 2017/03/14 by Will.Fissler
ifdef changes for presentDrawable. The last submission duped the changes, instead of merging. #rb none
Change 3346046 on 2017/03/14 by Will.Fissler
Fixed MetalCommandBuffer.cpp [again] after last submission duped changes instead of merging.
Change 3346367 on 2017/03/14 by Chris.Babcock
Fix issue with GoogleVR ARMv7 libraries included for other architectures in link
#ue4
#android
Change 3347682 on 2017/03/15 by Allan.Bentham
Enable HW sRGB correction with retainer widget's render target.
Use slate's gamma correction for mobile (where no such support exists)
Render retainer box RT content with gamma correction.
#jira UE-40967
Change 3348712 on 2017/03/15 by Nick.Shin
HTML5 - upload to S3
updated to AWS "signature version 4" authentication
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3349254 on 2017/03/16 by Jack.Porter
Fix for crash using the mobile previewer when the LQ lightmap shader permutation is disabled.
#jira UE-42971
Change 3349739 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
better error message feedback on upload failures
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3349765 on 2017/03/16 by Alicia.Cano
Disable mouseover events in Mobile Previewer
#jira UE-19903
#mobile
#rb: Jack.Porter
Change 3350049 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
folder in bucket is optional
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3350153 on 2017/03/16 by Nick.Shin
HTML5 - upload to S3
updated S3 public link generator
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3351582 on 2017/03/17 by Will.Fissler
Reverting the attempted fix for Xcode 8.3: Result += " -mcpu=cortex-a9";
Currently we cannot build arm64 for iOS with this change.
Change 3352085 on 2017/03/17 by Alicia.Cano
iOS doesn't honor request to close the virtual keyboard leading to a crash
#jira UE-36447
#ios
#rb:Peter.Sauerbrei
Change 3353313 on 2017/03/19 by Ben.Marsh
Always allow large *.js files in Github.
Change 3354444 on 2017/03/20 by Nick.Shin
HTML5 - upload to S3
to help make it obvious that "upload to S3" checkbox is set/or not -- disable S3 details if checkbox for "uploading to S3" is not set
#jira UE-42525 HTML5 Upload to Amazon S3 fails with Incorrect Configuration error
Change 3355618 on 2017/03/20 by Nick.Shin
HTML5 Save Game System
- ripped out HTML5 code [from Engine's SaveGameSystem.h] and placed it in HTML5Platform.cpp
- cleaned up HTML5PlatformFile.cpp (make it match as clost to linux's version)
- created HTML5's own PlatformFeature & SaveGameSystem files -- and updated HTML5PlatformMisc to make use of the the new HTML5 SaveGame code
#jira UE-42081 Remove heinous HTML5 code from engine
Change 3355621 on 2017/03/20 by Nick.Shin
remove temp debugging code
#jira UE-42081 Remove heinous HTML5 code from engine
Change 3356937 on 2017/03/21 by Chris.Babcock
Add "stat vulkanrhi" to new console dropdown
#jira UE-43149
#ue4
#android
Change 3357652 on 2017/03/21 by Nick.Shin
HTML5 performance speed ups
added "use fixed timestep" setting option for HTML5 builds (this has been separated from Engine - General Settings - Framerate)
- this is slightly different to smooth framerate and fixed framerate - thus, the timestep option was put in the HTML5 specific panel
this option is based on the suggestions by jukka's post:
- https://answers.unrealengine.com/questions/409629/smooth-frame-rate-and-use-fixed-frame-rate-should.html
however, using this option will make the player "run faster" on (for example) thirdperson blueprint template -- but, it has no effect on other (for example) zen garden...
#jira UE-30214 - Implement a warning message for fps settings
Change 3360415 on 2017/03/23 by Allan.Bentham
Fix crash that occurs when ES3.1 preview is used with r.MobileHDR32bppMode modes.
Change 3360418 on 2017/03/23 by Allan.Bentham
Disable filmic tonemapper if r.MobileHDR32bppMode is in use.
#jira UE-40913
Change 3360557 on 2017/03/23 by Allan.Bentham
Better fix for mobile CSM shadow flickering (UE-42131), now works for PC OpenGL based mobile preview.
#jira UE-42131
Change 3362258 on 2017/03/23 by Dmitriy.Dyomin
Fixed: Canvas texture element gamma issues on iOS Metal
Change 3362321 on 2017/03/24 by Dmitriy.Dyomin
GitHub 3173 : MaterialAO support for mobile rendering path (contributed by kallehamalainen)
#3173
Change 3363550 on 2017/03/24 by Alicia.Cano
build fix for devices < Android 5.0
#jira UE-43299
#android
#rb: chris.babcock
Change 3363687 on 2017/03/24 by Chris.Babcock
Fix Android password hiding in input dialog
#jira WEX-5159
#ue4
#android
Change 3365280 on 2017/03/27 by Dmitriy.Dyomin
Fix for GL_EXT_shader_framebuffer_fetch on Zenfone5. Use UE_EXT_shader_framebuffer_fetch define on all devices to enable extension
Change 3365291 on 2017/03/27 by Dmitriy.Dyomin
Copied form WEX CL# 3308653
Fixed: Enabling shader cache causes crash on NVIDIA Shield
#jira UE-41639
Change 3365293 on 2017/03/27 by Dmitriy.Dyomin
GitHub 3411 : Fix crash in patching utils mount method (contributed by nverenik)
#jira UE-43247
#3411
Change 3365340 on 2017/03/27 by Dmitriy.Dyomin
Fixed: Moving sublevel in world composition browser does not appear in Undo History
#jira UE-35535
Change 3365564 on 2017/03/27 by Allan.Bentham
SkyLightComponent now serializes IrradianceMap SH values.
clicking Recapture sky button in mobile preview switches back to SM4/5 to update captures.
Skylights that are dirty from load will trigger reflection capture update once shaders are rebuilt.
#jira UE-42436
Change 3366282 on 2017/03/27 by Nick.Shin
remove dead links
these files to not exist anywhere in the make-3.81 subfolders
#UDN-354501
#jira none
Change 3366306 on 2017/03/27 by Nick.Shin
HTML5 - disable multi-threading for wasm
#jira UE-43219 - HTML5 disable multi-threading for wasm
Change 3366307 on 2017/03/27 by Nick.Shin
HTML5 packaging Shipping builds
big cleanup / additions to *gz file support for amazon s3
* both, uploading to s3
* and allowing s3 to host the games there
#jira UE-43002 HTML5 in Shipping fails downloading symbols files
#jria UE-43001 HTML5 Shipping Projects fail looking for compressed files when "Compress files during shipping packaging" is not selected.
Change 3367385 on 2017/03/28 by Allan.Bentham
Display skylight serialization warning only when cooking for mobile platforms.
#jira UE-42436
Change 3368583 on 2017/03/28 by Chris.Babcock
Expose JAVA_HOME setting in Android SDK project settings on Mac
#jira UE-43418
#ue4
#android
Change 3368803 on 2017/03/28 by Chris.Babcock
Fix features requested in manifest for "Daydream and Cardboard" mode
#jira UE-43314
#ue4
#android
Change 3369087 on 2017/03/28 by Jack.Porter
Changed tooltip and added supported devices in paretheses for Android Mobile Deferred / ES31+AEP
#jira UE-42438
Change 3369372 on 2017/03/29 by Allan.Bentham
Fix disappearing meshes when r.mobile.allowdistancefieldshadows is disabled.
#jira UE-43366
Change 3369381 on 2017/03/29 by Jack.Porter
Show warnings when mobile shader permutations required for rendering are disbaled
Made FReadOnlyCVARCache a singleton and added mobile CVars, used for MobileBasePassRendering.
#jira UE-43050
Change 3369430 on 2017/03/29 by Allan.Bentham
fix CIS build
Change 3369740 on 2017/03/29 by Allan.Bentham
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fixed up existing JNI functions to use macro.
Add support for map file generation with android.
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira UEMOB-168
Change 3369975 on 2017/03/29 by Nick.Shin
HTML5 - AWS S3 shareable link for shipping builds corrected
#jira UE-43379 Amazon S3 Shareable link does not generate correct filepath.
Change 3369998 on 2017/03/29 by Nick.Shin
HTML5 python build scripts
PR:
https://github.com/Mozilla-Games/UnrealEngine/commit/1cb836d43c3015c6ca0fdd039072bb6c5c273db3
#jira none
Change 3370214 on 2017/03/29 by Nick.Shin
HTML5 - default bUseFixedTimeStep to false...
#jira UE-43380 - Default HTML5 gamespeed is faster than equivalent platforms
Change 3370762 on 2017/03/29 by Chris.Babcock
Fixes to new keyboard for Android
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing when changing focus between multiple EditableTextBox widgets.
#ue4
#android
Change 3371344 on 2017/03/30 by Jack.Porter
Fixed issue where Vulkan screenshot R/B channels were reversed on Android
#jira UE-43479
Change 3372926 on 2017/03/30 by Peter.Sauerbrei
start the process of sunsetting 32-bit and GLES2 on iOS
#jira UE-42266
Change 3372970 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- windows toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3372989 on 2017/03/30 by Peter.Sauerbrei
fix for Xcode 8.3 build with 32-bit
Change 3373007 on 2017/03/30 by Peter.Sauerbrei
fix for crash when online subsystem is disabled on IOS
Change 3373108 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373163 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373169 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
license file updated
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rnx
Change 3373287 on 2017/03/30 by Nick.Shin
HTML5 - 1.36.11 emscripten - remove old SDK
#jira none
#rnx
Change 3373289 on 2017/03/30 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- Linux toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3373595 on 2017/03/30 by Chris.Babcock
Reenable GooglePlay for ARM64 now that it doesn't crash
#jira UE-36198
#ue4
#android
Change 3373606 on 2017/03/30 by Chris.Babcock
Submitting Allan's shelved EXT_shader_framebuffer_fetch fix
#ue4
#android
Change 3375456 on 2017/03/31 by Chris.Babcock
Add missing keycodes for Android keyboard (@ and #)
#jira WEX-5777
#ue4
#android
Change 3376309 on 2017/04/03 by Allan.Bentham
Fix overflow issues with mobile DoF.
Change 3377041 on 2017/04/03 by Will.Fissler
Adding Testbed content for PlatformShowcase.
Change 3377582 on 2017/04/03 by Alicia.Cano
adding back in GET_ACCOUNTS permission as it is required for Reset Achievements
#jira: UE-43265
#android
#rb: Chris.Babcock
Change 3377643 on 2017/04/03 by Peter.Sauerbrei
fix for memory leak in MallocBinned
#jira UE-43008
Change 3378033 on 2017/04/04 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- ThirdParty libs compiled with new toolchain with wasm and webgl2 support
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rn
Change 3378034 on 2017/04/04 by Nick.Shin
HTML5 - 1.37.9 emscripten: wasm & webgl2 support
- ThirdParty build scripts
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
Change 3378035 on 2017/04/04 by Nick.Shin
HTML5 - Update GameX template to make it work with trunk Emscripten
PR
https://github.com/Mozilla-Games/UnrealEngine/commit/dc2b26f452948f8ee07178bc3e8742af80d8919a#commitcomment-21454978
#jira none
#rn
Change 3378044 on 2017/04/04 by Nick.Shin
HTML5 harfbuzz - double checking recompiled with NO multithreading
wasm currently does not support pthreads
*** THIS IS STILL WIP ***
checking in to match 3rd party libs compiled configuration
#jira UE-28588 - Build HarfBuzz for HTML5
#rnx
Change 3378264 on 2017/04/04 by Allan.Bentham
Fix crash when using consolas font on android sdk 24
#jira UE-43464
Change 3379097 on 2017/04/04 by Nick.Shin
CIS HTML5 build warning fix
#jria none
#rnx
Change 3379333 on 2017/04/04 by Chris.Babcock
Prevent inserting extra permissions into manifest multiple times
#jira UE-43583
#ue4
#android
Change 3380870 on 2017/04/05 by Chris.Babcock
Fix merge issue
Change 3380898 on 2017/04/05 by Chris.Babcock
Fixed again
Change 3381443 on 2017/04/05 by Chris.Babcock
Fix for GearVR non-unity build
#ue4
#android
Change 3381941 on 2017/04/05 by Chris.Babcock
Fix HTTPChunkInstaller texture format checks and missing #define warning
#jira UE-43706
#ue4
#android
Change 3382056 on 2017/04/05 by Chris.Babcock
Updates to Android AARs needed for Facebook plugin
Change 3382097 on 2017/04/05 by Chris.Babcock
Disable java console cmd receiver only in shipping builds
#jira UE-43710
#ue4
#android
Change 3382497 on 2017/04/06 by Allan.Bentham
Fix Fortnite Cooked Server crashes when joining game from lobby.
#jira UE-43695
Change 3383227 on 2017/04/06 by Will.Fissler
Reverted case sensitive change, from yesterday, and implemented a pragma instead.
#jira UE-41313
[CL 3383473 by Jack Porter in Main branch]
2017-04-06 16:13:17 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
return Result ;
}
public string GetAdditionalLinkerFlags ( CppConfiguration InConfiguration )
{
if ( InConfiguration ! = CppConfiguration . Shipping )
{
return ProjectSettings . AdditionalLinkerFlags ;
}
else
{
return ProjectSettings . AdditionalShippingLinkerFlags ;
}
}
2015-09-24 12:37:21 -04:00
string GetLinkArguments_Global ( LinkEnvironment LinkEnvironment )
2014-03-14 14:13:41 -04:00
{
2019-08-30 17:54:29 -04:00
string Result = "" ;
2015-12-10 16:56:55 -05:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Result + = GetArchitectureArgument ( LinkEnvironment . Configuration , LinkEnvironment . Architecture ) ;
2015-12-10 16:56:55 -05:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
bool bIsDevice = ( LinkEnvironment . Architecture ! = "-simulator" ) ;
2015-12-10 16:56:55 -05:00
Result + = String . Format ( " -isysroot {0}Platforms/{1}.platform/Developer/SDKs/{1}{2}.sdk" ,
2019-08-30 17:54:29 -04:00
Settings . Value . XcodeDeveloperDir , bIsDevice ? Settings . Value . DevicePlatformName : Settings . Value . SimulatorPlatformName , Settings . Value . IOSSDKVersion ) ;
2016-06-20 16:57:06 -04:00
2019-08-30 17:54:29 -04:00
if ( IsBitcodeCompilingEnabled ( LinkEnvironment . Configuration ) )
2016-06-20 16:57:06 -04:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
FileItem OutputFile = FileItem . GetItemByFileReference ( LinkEnvironment . OutputFilePath ) ;
2016-06-20 16:57:06 -04:00
Result + = " -fembed-bitcode -Xlinker -bitcode_verify -Xlinker -bitcode_hide_symbols -Xlinker -bitcode_symbol_map " ;
2019-05-09 10:51:55 -04:00
Result + = " -Xlinker \"" + Path . GetDirectoryName ( OutputFile . AbsolutePath ) + "\"" ;
2016-06-20 16:57:06 -04:00
}
2014-03-14 14:13:41 -04:00
Result + = " -dead_strip" ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Result + = " -m" + GetXcodeMinVersionParam ( ) + "=" + ProjectSettings . RuntimeVersion ;
2016-06-20 16:57:06 -04:00
Result + = " -Wl" ;
2019-08-30 17:54:29 -04:00
if ( ! IsBitcodeCompilingEnabled ( LinkEnvironment . Configuration ) )
2016-06-20 16:57:06 -04:00
{
Result + = "-no_pie" ;
}
2015-10-02 14:45:54 -04:00
Result + = " -stdlib=libc++" ;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3056808)
#lockdown Nick.Penwarden
#rb The Forces of Good and Evil, twixt the realms from which bugs doth come
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3026722 on 2016/06/24 by Chad.Taylor
IStereoLayers SteamVR initial implementation
Change 3027397 on 2016/06/24 by Chad.Taylor
SteamVR stereo layer texture updating rework. It now upadtes textures from the render thread and supports "continous update"
Change 3033004 on 2016/06/29 by Nick.Whiting
Integrating GoogleVR plugin from Google branch
Change 3033248 on 2016/06/29 by Sam.Zamani
Copying //Tasks/UE4/Dev-VR-Online to Dev-VR (//UE4/Dev-VR)
Merged up to cl #3029677 from //depot/Partners/Oculus/UE4-Research/4.12-dev/Engine/Source/Runtime/Online/...
Added PacketHandler module dependency to new OnlineSubsystemOculus module
Replaced std::move usage with UE equivalent MoveTemp
Trigger OnLoginStatusChanged delegate during login/logout processing of FOnlineIdentityOculus
Implemented Oculus unique net id creation from string and byte*
Added OnlineSubsystemOculus module as a dependency for QAGame testing
Make sure to always call completion delegates in FOnlineFriendsOculus
Trigger success OnMatchmakingComplete delegate in FOnlineSessionOculus::StartMatchmaking
Fixed shadowed variable PlayerId in FOnlineSessionOculus::OnRoomInviteAccepted
Split out 32/64bit dll dependencies of LibOVRPlatform
Replaced "unsigned long long" with UE equivalent "uint64"
Replaced "unsigned int" with UE equivalent "uint32"
Change 3033490 on 2016/06/29 by Jeff.Fisher
UE-32601
Changed from Flush to FlushImmediate when switching from rendering one eye buffer to the other on GoogleVR because we are trying to clear the immediate RHI command list.
Change 3034920 on 2016/06/30 by Chad.Taylor
PSVR ApplyMorpheusReprojection support for separate texture per stereo eye.
Change 3038640 on 2016/07/05 by Chad.Taylor
Fixing Morpheus "HasValidTrackingPosition" to actually return true when tracking is valid.
Change 3038940 on 2016/07/06 by Nick.Whiting
Haptics Refactor: Adding support for multiple types of haptics effect, defined by their data format (curves, buffer, sound waves)
Change 3040512 on 2016/07/06 by Chad.Taylor
Fix for CopyOverOtherViewportsIfNeeded that was selecting an incorrect FSceneView. This was picking the wrong hmd mesh for render and causing strange flickering.
Change 3041314 on 2016/07/07 by Nick.Whiting
Extending core hand types for motion tracking controllers to have external camera tracking available, as well as Special_1 - 9 for systems like STEM that have multiple special packs.
Change 3041353 on 2016/07/07 by Nick.Whiting
Modifying SteamVR HMD detection check to use a lighter weight function that doesn't launch the compositor
Change 3043516 on 2016/07/08 by Chad.Taylor
PSVR A3D Sound fix
Change 3043808 on 2016/07/08 by Nick.Whiting
Fixing issue with SteamVR plugin starting while trying to detect connected HMDs, fix for editor quitting when VR Compositor quits
Change 3043840 on 2016/07/09 by Nick.Whiting
OSVR Updated plugin, from Sensics
Change 3043958 on 2016/07/09 by Nick.Whiting
Oculus 1.5 Support Integration
Change 3045493 on 2016/07/11 by Ryan.Vance
Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
PS4 multi-view copy up
Change 3046896 on 2016/07/12 by Ryan.Vance
#jira UE-30842
We need to also late update ShadowViewMatrices, otherwise we compute an incorrect volume for translucent lighting which manifests as flickering.
Note: I'm not bothering to check the r.Shadow.FreezeCamera cvar here, as debugging shadowing *in vr* is probably not a case we need to support.
Change 3047272 on 2016/07/12 by Ryan.Vance
#jira UE-30278
We need to forward the eye index interpolator along.
Also removed a superfluous call to resolve view.
Change 3048060 on 2016/07/13 by Nick.Whiting
Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR
Upgrade Android and iOS GVR SDK to the latest.
Fix the flipped vignette issue when using Unreal's post processing distortion.
Change the Daydream & Cardboard mode to use scanline racing.
Deprecate the ability to turn off individual UI elements.
Change 3048151 on 2016/07/13 by Nick.Whiting
Integrating small controller initialization fix from AndroidVR-DevVR branch
Change 3048363 on 2016/07/13 by Ryan.Vance
Fix for crash with HMDs when the adapter description isn't found. Crashing case was having monitors plugged into one adapter, and an HMD plugged into another, which caused a gap in AdapterDescription array, which later crashed in FindAdapter.
Change 3048783 on 2016/07/13 by Chad.Taylor
Fixing up SteamVR's -vr to mimic the same behavior as Oculus and use the appropriate resolution
#jira UE-30173
Change 3049101 on 2016/07/13 by Chad.Taylor
Part 2 of: Fixing up SteamVR's -vr to mimic the same behavior as Oculus and use the appropriate resolution.
Had to defer setting of the viewport size to occur after we have a valid Window.
#jira UE-30173
Change 3050707 on 2016/07/14 by Nick.Whiting
Fix for motion controllers on remote clients responding to local motion controllers
Change 3051043 on 2016/07/14 by Nick.Whiting
Stub funcitonality to allow for rebasing based on other external trackers
Change 3051882 on 2016/07/15 by Nick.Whiting
Moving OnlineSubsystemOculus to a plugin, instead of a module
Change 3053772 on 2016/07/18 by Chad.Taylor
Code cleanup: Removing defunct IStereoRendering methods
Change 3054515 on 2016/07/18 by Chad.Taylor
Changing HMD resolution resizing to no longer occur in "Windowed" mode because its causing an issue in VR Preview
#jira UE-33341
Change 3056435 on 2016/07/19 by Jeff.Fisher
UES-2981
UEVR-13
Implemented VRHeadsetLost and VRHeadsetReconnected Delegates for Morpheus (Playstation VR).
https://udn.unrealengine.com/questions/301886/trying-to-use-vrheadsetlost-and-vrheadsetreconnect.html
#review-3056100 @nick.whiting
Change 3056491 on 2016/07/19 by Chad.Taylor
Audio thread assertion from HandlePause being called on the game thread. Submitting on behalf of Aaron McLeran
#jira UE-33360
[CL 3057155 by Nick Whiting in Main branch]
2016-07-20 01:48:44 -04:00
Result + = " -ObjC" ;
2014-03-14 14:13:41 -04:00
// Result += " -v";
2019-05-24 13:20:29 -04:00
// use LTO if desired (like VCToolchain does)
if ( LinkEnvironment . bAllowLTCG )
{
Result + = " -flto" ;
}
2019-08-30 17:54:29 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
string SanitizerMode = Environment . GetEnvironmentVariable ( "ENABLE_ADDRESS_SANITIZER" ) ;
2019-08-30 17:54:29 -04:00
if ( SanitizerMode ! = null & & SanitizerMode = = "YES" )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
{
2019-04-12 11:14:47 -04:00
Result + = " -rpath \"@executable_path/Frameworks\"" ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
Result + = " -fsanitize=address" ;
}
2019-08-30 17:54:29 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
string UndefSanitizerMode = Environment . GetEnvironmentVariable ( "ENABLE_UNDEFINED_BEHAVIOR_SANITIZER" ) ;
2019-08-30 17:54:29 -04:00
if ( UndefSanitizerMode ! = null & & UndefSanitizerMode = = "YES" )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
{
Result + = " -rpath \"@executable_path/libclang_rt.ubsan_ios_dynamic.dylib\"" ;
Result + = " -fsanitize=undefined" ;
}
2014-03-14 14:13:41 -04:00
2019-02-27 11:57:17 -05:00
// need to tell where to load Framework dylibs
Result + = " -rpath @executable_path/Frameworks" ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Result + = " " + GetAdditionalLinkerFlags ( LinkEnvironment . Configuration ) ;
Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
2014-03-14 14:13:41 -04:00
// link in the frameworks
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
foreach ( string Framework in LinkEnvironment . Frameworks )
2014-03-14 14:13:41 -04:00
{
2019-08-30 17:54:29 -04:00
if ( Framework ! = "ARKit" | | Settings . Value . IOSSDKVersionFloat > = 11.0f )
{
Result + = " -framework " + Framework ;
}
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
foreach ( UEBuildFramework Framework in LinkEnvironment . AdditionalFrameworks )
2014-03-14 14:13:41 -04:00
{
2020-03-18 15:46:36 -04:00
if ( Framework . FrameworkDirectory ! = null )
2014-04-30 14:09:06 -04:00
{
2020-03-18 15:46:36 -04:00
// If this framework has a directory specified, we'll need to setup the path as well
string FrameworkDir = Framework . FrameworkDirectory . FullName ;
2019-02-27 11:57:17 -05:00
// embedded frameworks have a framework inside of this directory, so we use this directory. regular frameworks need to go one up to point to the
// directory containing the framework. -F gives a path to look for the -framework
2020-03-18 15:46:36 -04:00
if ( FrameworkDir . EndsWith ( ".framework" ) )
2019-02-27 11:57:17 -05:00
{
FrameworkDir = Path . GetDirectoryName ( FrameworkDir ) ;
}
Result + = String . Format ( " -F\"{0}\"" , FrameworkDir ) ;
2014-04-30 14:09:06 -04:00
}
2019-01-14 12:11:24 -05:00
Result + = " -framework " + Framework . Name ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
foreach ( string Framework in LinkEnvironment . WeakFrameworks )
2014-03-14 14:13:41 -04:00
{
Result + = " -weak_framework " + Framework ;
}
return Result ;
}
static string GetArchiveArguments_Global ( LinkEnvironment LinkEnvironment )
{
string Result = "" ;
Result + = " -static" ;
return Result ;
}
2015-09-24 12:37:21 -04:00
2020-03-09 13:20:14 -04:00
public override CPPOutput CompileCPPFiles ( CppCompileEnvironment CompileEnvironment , List < FileItem > InputFiles , DirectoryReference OutputDir , string ModuleName , IActionGraphBuilder Graph )
2014-03-14 14:13:41 -04:00
{
string Arguments = GetCompileArguments_Global ( CompileEnvironment ) ;
string PCHArguments = "" ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . PrecompiledHeaderAction = = PrecompiledHeaderAction . Include )
2014-03-14 14:13:41 -04:00
{
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
PCHArguments + = string . Format ( " -include \"{0}\"" , CompileEnvironment . PrecompiledHeaderIncludeFilename . FullName ) ;
2014-03-14 14:13:41 -04:00
}
2019-08-30 17:54:29 -04:00
foreach ( FileItem ForceIncludeFile in CompileEnvironment . ForceIncludeFiles )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209300)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3146735 on 2016/09/30 by Ben.Marsh
EC: Add the standard postprocessor onto conform job steps.
Change 3147190 on 2016/09/30 by Ben.Marsh
UBT: Add a whitelist for circular dependencies between modules, and output a warning if any new circular dependencies are added.
Change 3148611 on 2016/10/03 by Matthew.Griffin
Added list of Dependant modules to EULA check
#jira UE-29432
Change 3149098 on 2016/10/03 by Ben.Marsh
PR #2821: Fix to stop BuildGraph-created files from being tracked by Git (*.manifest and 'LocalBuilds/') (Contributed by BrodyHiggerson)
Change 3149395 on 2016/10/03 by Ben.Marsh
UBT: Don't execute pre- and post-build steps when generating project files.
Change 3150398 on 2016/10/04 by Ben.Marsh
UBT: Fix support for the OptimizeCode setting on Mac, HTML5, Android, Linux, iOS, and XboxOne, and use it to control optimization level in DebugGame configurations. Also determine whether optimization should be enabled for a module at the UEBuildModule level, rather than deriving it (inconsistently) from the ModuleRules enum in the toolchain.
#jira UE-18652
Change 3150569 on 2016/10/04 by Ben.Marsh
UBT: Remove the NativeBuildEnvironmentConfiguration and NativeBuildEnvironmentConfiguration.TargetInfo classes; store the platform/configuration/architecture on the CPPEnvironment and LinkEnvironment directly.
Change 3150606 on 2016/10/04 by Ben.Marsh
UBT: Remove support for C++/CLR modules. There's quite a lot of baggage to support it, and I suspect it's already rotted since we don't use it.
Change 3150628 on 2016/10/04 by Ben.Marsh
UBT: Remove .NET framework assembly paths for C++ modules.
Change 3150640 on 2016/10/04 by Ben.Marsh
UBT: Move functionality for finding headers into its own class (CPPHeaders), rather than hijacking CPPEnvironment.
Change 3152101 on 2016/10/05 by Ben.Marsh
UBT: Always force include PCHs, even if they're the first header in the file. Clang already has to work this way, as do shared pchs on Windows, and it's simpler to use the same system universally.
Change 3153231 on 2016/10/06 by Ben.Marsh
UBT: Write arguments for the Visual C++ toolchain to the response file on separate lines, for easier debugging.
Change 3154868 on 2016/10/07 by Richard.Fawcett
Ensure that child instances of UAT invoked by BuildGraph honor p4 and submit properties
Change 3155017 on 2016/10/07 by Ben.Marsh
Lightmass: Add a prefix to all SSE macros to distinguish from overlapping implementations in Core.
Change 3156159 on 2016/10/08 by Ben.Marsh
UBT: Rewrite code to generate/consume shared PCHs in a way that is compatible with Clang platforms (and which doesn't require supressing warnings on Windows)
* Per-module defines are now set via a generated header rather than the command line (Definitions.<ModuleName>.h). This header is force-included AFTER the shared PCH header.
* Shared PCHs are now built using the public compile environment only, eliminating situations where private include paths and definitions from the first module using the shared PCH were being passed to the compiler.
* Shared PCHs can now be generated in separate optimized/unoptimized variants if necessary due to per-module optimization settings
* Names of shared PCHs now follow the pattern "SharedPCH.<ModuleName>.h" to distinguish from private PCHs
* Enabled shared PCHs for Mac, iOS, Linux.
Reduces UE4Editor Mac build times by ~25% (~21m vs ~28m).
Change 3163040 on 2016/10/14 by Ben.Marsh
UBT: Add an option to export a target's properties, modules, and binaries for external analyzers (-jsonexport and -jsonexport=<filename>). Also add an option to specifically supress building a target (-skipbuild).
Change 3165028 on 2016/10/17 by Ben.Marsh
PR #2799: Set Windows exe properties from ini (Contributed by projectgheist)
Change 3165076 on 2016/10/17 by Ben.Marsh
Build: Remove run conditions from agent setup steps. Should fix issues where an agent doesn't run because the preconditions for one of its nodes failed, but which doesn't prevent another node from running. (Also: being able to see an expanded list of job steps is a useful feature, and it doesn't take much time to run if it's a no-op).
Change 3167773 on 2016/10/19 by Ben.Marsh
BuildGraph: More flexible <Copy> task for BuildGraph. Now takes "From" and "To" attributes, which may take individual files as well as wildcards, and permits renaming as part of copies. Separate "Files" attribute is still supported, but is now optional, and is used to filter the list of source files.
Examples, taken from Engine/Build/Graph/TagsAndFiles.xml:
<!-- Source and destination are treated as directories due to presence of 'Files' attribute -->
<Copy Files="..." From="Engine/Build" To="Output0" />
<!-- Single file -->
<Copy From="Engine/Build/Build.version" To="Output1/Output.version" />
<!-- Output treated as directory -->
<Copy From="Engine/Build/.../*.txt" To="Output2" />
<Copy From="Engine/Build/.../*.txt" To="Output3/" />
<Copy From="Engine/Build/....txt" To="Output4" />
<!-- With rename -->
<Copy From="Engine/Build/....txt" To="Output5/....old" />
<!-- Copy only subdirectories of Engine/Build, but maintain directory structure -->
<Copy From="Engine/Build/*/....txt" To="Output6/" />
<!-- Match bat*/.../*.txt -->
<Copy From="Engine/Build/bat...txt" To="Output7" />
<!-- Copy only PS4 subfolders -->
<Copy From="Engine/Build/.../ps4/..." To="Output8" />
Change 3167852 on 2016/10/19 by Ben.Marsh
BuildGraph: Add a <Move> task, which can move or rename files using the same syntax as the <Copy> task.
Change 3168034 on 2016/10/19 by Ben.Marsh
BuildGraph: Add support for multi-line properties, declared inside a <Property> tag.
Mutli-line properties can be useful for making lists for filtering. Each non-empty line inside the property tag is stripped of leading and trailing whitespace, and appended to the property value separated by a semicolon. For example, the following two properties have an identical value:
<Property Name="Prop1" Value="One;Two;Three;One hundred"/>
<Property Name="Prop2">
<!-- Some numbers -->
One
Two
Three
<!-- Values are delimited by newlines; spaces within a line are preserved -->
One hundred
</Property>
Change 3169256 on 2016/10/20 by Ben.Marsh
UBT: Fix chronic algorithmic complexity of StableTopologicalSort(). Was recursively building lists of dependencies for each module, scanning linearly to find dependencies, and only caching pairs of modules being checked. Now caches a flat set of dependencies for each module.
Previously took >10s to run on my machine, now takes < 0.2s.
Change 3169271 on 2016/10/20 by Ben.Marsh
BuildGraph: Modify implementation of task merging. Instead of combining multiple tasks together, allow any task to supply a proxy executor instance deriving from ITaskExecutor, to which other tasks can be added. Keeps the in-memory representation closer to the script representation, and makes it easier to re-export preprocessed scripts and do in-memory analysis of the graph.
Change 3179662 on 2016/10/31 by Matthew.Griffin
Fixed last remaining issues with building QAGameEditor as a monolithic executable
Added a node for building mono editor in CIS so that we catch any new issues
#jira UE-32712
Change 3184857 on 2016/11/03 by Matthew.Griffin
Removing CopyVisualizers now that UE4.natvis is included in solution and we're not supporting VS2013
#jira UE-35628
Change 3187232 on 2016/11/04 by Ben.Marsh
UGS: Fix editor .target file being deleted when doing a content-only sync, and causing a prompt to rebuild the editor when trying to launch.
Change 3188413 on 2016/11/07 by Matthew.Griffin
Added Switch to Installed Build so that it matches pattern for other confidential platforms
Change 3188426 on 2016/11/07 by Matthew.Griffin
Changed BuildPlugin command so that it reads from installed platform data to get list of target platforms
Some hard coding remains so as to not change functionality for code users, Mac only built on Mac etc.
#jira UE-36205
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3191372 on 2016/11/09 by Ben.Marsh
UGS: Ensure project config file remains valid even if sync is aborted due to files needing resolve. Prevents user configuration from not being applied onto build steps.
Change 3191381 on 2016/11/09 by Ben.Marsh
UGS: Allow Ctrl-A to select all in the log window.
#jira UE-38378
Change 3193388 on 2016/11/10 by Ben.Marsh
Change installed plugins to be disabled by default, but display a notification in the editor the first time you load a project with a new one. Installed plugins which are new to this project will be adorned with a "NEW!" badge in the plugin browser.
Change 3193677 on 2016/11/10 by Ben.Marsh
UBT: Remove global static instance of ActionGraph. Instance is now instantiated and passed around to functions that require it.
Change 3193942 on 2016/11/10 by Ben.Marsh
UBT: Store the include cache as an instanced object on each target, rather than looking up separate caches in a global variable.
Change 3198296 on 2016/11/15 by Ben.Marsh
UBT: Include .modules files in target receipts and manifests.
Change 3200284 on 2016/11/16 by Matthew.Griffin
Move Sample game projects into a different solution folder like Templates
Change 3205168 on 2016/11/19 by Ben.Marsh
Update strings to refer to Visual Studio "15" as Visual Studio 2017.
Change 3206333 on 2016/11/21 by Ben.Marsh
Merge fix to detection of VS2017 RC from 4.14 release.
Change 3206786 on 2016/11/21 by Ben.Marsh
BuildGraph: Spawn child processes to embed source server information into PDB files in parallel.
Change 3207588 on 2016/11/22 by Ben.Marsh
UBT: Reduce the number of resource files needed to compile local builds. ModuleVersionResource.rc.inl is now always only compiled once, and linked into each output binary. The default PCLaunch.rc file is also only compiled once, expect when making formal builds (where -formal is passed on the command line, or a changelist is set in Build.version). This ensures that the OriginalFileName metadata is still set for output binaries in binary releases.
[CL 3209331 by Ben Marsh in Main branch]
2016-11-23 15:34:07 -05:00
{
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
Arguments + = String . Format ( " -include \"{0}\"" , ForceIncludeFile . Location . FullName ) ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209300)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3146735 on 2016/09/30 by Ben.Marsh
EC: Add the standard postprocessor onto conform job steps.
Change 3147190 on 2016/09/30 by Ben.Marsh
UBT: Add a whitelist for circular dependencies between modules, and output a warning if any new circular dependencies are added.
Change 3148611 on 2016/10/03 by Matthew.Griffin
Added list of Dependant modules to EULA check
#jira UE-29432
Change 3149098 on 2016/10/03 by Ben.Marsh
PR #2821: Fix to stop BuildGraph-created files from being tracked by Git (*.manifest and 'LocalBuilds/') (Contributed by BrodyHiggerson)
Change 3149395 on 2016/10/03 by Ben.Marsh
UBT: Don't execute pre- and post-build steps when generating project files.
Change 3150398 on 2016/10/04 by Ben.Marsh
UBT: Fix support for the OptimizeCode setting on Mac, HTML5, Android, Linux, iOS, and XboxOne, and use it to control optimization level in DebugGame configurations. Also determine whether optimization should be enabled for a module at the UEBuildModule level, rather than deriving it (inconsistently) from the ModuleRules enum in the toolchain.
#jira UE-18652
Change 3150569 on 2016/10/04 by Ben.Marsh
UBT: Remove the NativeBuildEnvironmentConfiguration and NativeBuildEnvironmentConfiguration.TargetInfo classes; store the platform/configuration/architecture on the CPPEnvironment and LinkEnvironment directly.
Change 3150606 on 2016/10/04 by Ben.Marsh
UBT: Remove support for C++/CLR modules. There's quite a lot of baggage to support it, and I suspect it's already rotted since we don't use it.
Change 3150628 on 2016/10/04 by Ben.Marsh
UBT: Remove .NET framework assembly paths for C++ modules.
Change 3150640 on 2016/10/04 by Ben.Marsh
UBT: Move functionality for finding headers into its own class (CPPHeaders), rather than hijacking CPPEnvironment.
Change 3152101 on 2016/10/05 by Ben.Marsh
UBT: Always force include PCHs, even if they're the first header in the file. Clang already has to work this way, as do shared pchs on Windows, and it's simpler to use the same system universally.
Change 3153231 on 2016/10/06 by Ben.Marsh
UBT: Write arguments for the Visual C++ toolchain to the response file on separate lines, for easier debugging.
Change 3154868 on 2016/10/07 by Richard.Fawcett
Ensure that child instances of UAT invoked by BuildGraph honor p4 and submit properties
Change 3155017 on 2016/10/07 by Ben.Marsh
Lightmass: Add a prefix to all SSE macros to distinguish from overlapping implementations in Core.
Change 3156159 on 2016/10/08 by Ben.Marsh
UBT: Rewrite code to generate/consume shared PCHs in a way that is compatible with Clang platforms (and which doesn't require supressing warnings on Windows)
* Per-module defines are now set via a generated header rather than the command line (Definitions.<ModuleName>.h). This header is force-included AFTER the shared PCH header.
* Shared PCHs are now built using the public compile environment only, eliminating situations where private include paths and definitions from the first module using the shared PCH were being passed to the compiler.
* Shared PCHs can now be generated in separate optimized/unoptimized variants if necessary due to per-module optimization settings
* Names of shared PCHs now follow the pattern "SharedPCH.<ModuleName>.h" to distinguish from private PCHs
* Enabled shared PCHs for Mac, iOS, Linux.
Reduces UE4Editor Mac build times by ~25% (~21m vs ~28m).
Change 3163040 on 2016/10/14 by Ben.Marsh
UBT: Add an option to export a target's properties, modules, and binaries for external analyzers (-jsonexport and -jsonexport=<filename>). Also add an option to specifically supress building a target (-skipbuild).
Change 3165028 on 2016/10/17 by Ben.Marsh
PR #2799: Set Windows exe properties from ini (Contributed by projectgheist)
Change 3165076 on 2016/10/17 by Ben.Marsh
Build: Remove run conditions from agent setup steps. Should fix issues where an agent doesn't run because the preconditions for one of its nodes failed, but which doesn't prevent another node from running. (Also: being able to see an expanded list of job steps is a useful feature, and it doesn't take much time to run if it's a no-op).
Change 3167773 on 2016/10/19 by Ben.Marsh
BuildGraph: More flexible <Copy> task for BuildGraph. Now takes "From" and "To" attributes, which may take individual files as well as wildcards, and permits renaming as part of copies. Separate "Files" attribute is still supported, but is now optional, and is used to filter the list of source files.
Examples, taken from Engine/Build/Graph/TagsAndFiles.xml:
<!-- Source and destination are treated as directories due to presence of 'Files' attribute -->
<Copy Files="..." From="Engine/Build" To="Output0" />
<!-- Single file -->
<Copy From="Engine/Build/Build.version" To="Output1/Output.version" />
<!-- Output treated as directory -->
<Copy From="Engine/Build/.../*.txt" To="Output2" />
<Copy From="Engine/Build/.../*.txt" To="Output3/" />
<Copy From="Engine/Build/....txt" To="Output4" />
<!-- With rename -->
<Copy From="Engine/Build/....txt" To="Output5/....old" />
<!-- Copy only subdirectories of Engine/Build, but maintain directory structure -->
<Copy From="Engine/Build/*/....txt" To="Output6/" />
<!-- Match bat*/.../*.txt -->
<Copy From="Engine/Build/bat...txt" To="Output7" />
<!-- Copy only PS4 subfolders -->
<Copy From="Engine/Build/.../ps4/..." To="Output8" />
Change 3167852 on 2016/10/19 by Ben.Marsh
BuildGraph: Add a <Move> task, which can move or rename files using the same syntax as the <Copy> task.
Change 3168034 on 2016/10/19 by Ben.Marsh
BuildGraph: Add support for multi-line properties, declared inside a <Property> tag.
Mutli-line properties can be useful for making lists for filtering. Each non-empty line inside the property tag is stripped of leading and trailing whitespace, and appended to the property value separated by a semicolon. For example, the following two properties have an identical value:
<Property Name="Prop1" Value="One;Two;Three;One hundred"/>
<Property Name="Prop2">
<!-- Some numbers -->
One
Two
Three
<!-- Values are delimited by newlines; spaces within a line are preserved -->
One hundred
</Property>
Change 3169256 on 2016/10/20 by Ben.Marsh
UBT: Fix chronic algorithmic complexity of StableTopologicalSort(). Was recursively building lists of dependencies for each module, scanning linearly to find dependencies, and only caching pairs of modules being checked. Now caches a flat set of dependencies for each module.
Previously took >10s to run on my machine, now takes < 0.2s.
Change 3169271 on 2016/10/20 by Ben.Marsh
BuildGraph: Modify implementation of task merging. Instead of combining multiple tasks together, allow any task to supply a proxy executor instance deriving from ITaskExecutor, to which other tasks can be added. Keeps the in-memory representation closer to the script representation, and makes it easier to re-export preprocessed scripts and do in-memory analysis of the graph.
Change 3179662 on 2016/10/31 by Matthew.Griffin
Fixed last remaining issues with building QAGameEditor as a monolithic executable
Added a node for building mono editor in CIS so that we catch any new issues
#jira UE-32712
Change 3184857 on 2016/11/03 by Matthew.Griffin
Removing CopyVisualizers now that UE4.natvis is included in solution and we're not supporting VS2013
#jira UE-35628
Change 3187232 on 2016/11/04 by Ben.Marsh
UGS: Fix editor .target file being deleted when doing a content-only sync, and causing a prompt to rebuild the editor when trying to launch.
Change 3188413 on 2016/11/07 by Matthew.Griffin
Added Switch to Installed Build so that it matches pattern for other confidential platforms
Change 3188426 on 2016/11/07 by Matthew.Griffin
Changed BuildPlugin command so that it reads from installed platform data to get list of target platforms
Some hard coding remains so as to not change functionality for code users, Mac only built on Mac etc.
#jira UE-36205
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3191372 on 2016/11/09 by Ben.Marsh
UGS: Ensure project config file remains valid even if sync is aborted due to files needing resolve. Prevents user configuration from not being applied onto build steps.
Change 3191381 on 2016/11/09 by Ben.Marsh
UGS: Allow Ctrl-A to select all in the log window.
#jira UE-38378
Change 3193388 on 2016/11/10 by Ben.Marsh
Change installed plugins to be disabled by default, but display a notification in the editor the first time you load a project with a new one. Installed plugins which are new to this project will be adorned with a "NEW!" badge in the plugin browser.
Change 3193677 on 2016/11/10 by Ben.Marsh
UBT: Remove global static instance of ActionGraph. Instance is now instantiated and passed around to functions that require it.
Change 3193942 on 2016/11/10 by Ben.Marsh
UBT: Store the include cache as an instanced object on each target, rather than looking up separate caches in a global variable.
Change 3198296 on 2016/11/15 by Ben.Marsh
UBT: Include .modules files in target receipts and manifests.
Change 3200284 on 2016/11/16 by Matthew.Griffin
Move Sample game projects into a different solution folder like Templates
Change 3205168 on 2016/11/19 by Ben.Marsh
Update strings to refer to Visual Studio "15" as Visual Studio 2017.
Change 3206333 on 2016/11/21 by Ben.Marsh
Merge fix to detection of VS2017 RC from 4.14 release.
Change 3206786 on 2016/11/21 by Ben.Marsh
BuildGraph: Spawn child processes to embed source server information into PDB files in parallel.
Change 3207588 on 2016/11/22 by Ben.Marsh
UBT: Reduce the number of resource files needed to compile local builds. ModuleVersionResource.rc.inl is now always only compiled once, and linked into each output binary. The default PCLaunch.rc file is also only compiled once, expect when making formal builds (where -formal is passed on the command line, or a changelist is set in Build.version). This ensures that the OriginalFileName metadata is still set for output binaries in binary releases.
[CL 3209331 by Ben Marsh in Main branch]
2016-11-23 15:34:07 -05:00
}
2014-03-14 14:13:41 -04:00
// Add include paths to the argument list.
2019-01-14 12:11:24 -05:00
HashSet < DirectoryReference > AllIncludes = new HashSet < DirectoryReference > ( CompileEnvironment . UserIncludePaths ) ;
AllIncludes . UnionWith ( CompileEnvironment . SystemIncludePaths ) ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
foreach ( DirectoryReference IncludePath in AllIncludes )
2014-03-14 14:13:41 -04:00
{
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
Arguments + = string . Format ( " -I\"{0}\"" , IncludePath . FullName ) ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
foreach ( string Definition in CompileEnvironment . Definitions )
2014-03-14 14:13:41 -04:00
{
Arguments + = string . Format ( " -D\"{0}\"" , Definition ) ;
}
CPPOutput Result = new CPPOutput ( ) ;
// Create a compile action for each source file.
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
foreach ( FileItem SourceFile in InputFiles )
2014-03-14 14:13:41 -04:00
{
2020-03-09 13:20:14 -04:00
Action CompileAction = Graph . CreateAction ( ActionType . Compile ) ;
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 FilePCHArguments = "" ;
2014-03-14 14:13:41 -04:00
string FileArguments = "" ;
string Extension = Path . GetExtension ( SourceFile . AbsolutePath ) . ToUpperInvariant ( ) ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . PrecompiledHeaderAction = = PrecompiledHeaderAction . Create )
2014-03-14 14:13:41 -04:00
{
// Compile the file as a C++ PCH.
FileArguments + = GetCompileArguments_PCH ( ) ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
FileArguments + = GetRTTIFlag ( CompileEnvironment ) ;
2019-01-11 18:09:39 -05:00
FileArguments + = GetObjCExceptionsFlag ( CompileEnvironment ) ;
2014-03-14 14:13:41 -04:00
}
else if ( Extension = = ".C" )
{
// Compile the file as C code.
FileArguments + = GetCompileArguments_C ( ) ;
}
else if ( Extension = = ".MM" )
{
// Compile the file as Objective-C++ code.
FileArguments + = GetCompileArguments_MM ( ) ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
FileArguments + = GetRTTIFlag ( CompileEnvironment ) ;
2019-01-11 18:09:39 -05:00
FileArguments + = GetObjCExceptionsFlag ( CompileEnvironment ) ;
2014-03-14 14:13:41 -04:00
}
else if ( Extension = = ".M" )
{
2019-01-11 18:09:39 -05:00
// Compile the file as Objective-C code.
2014-03-14 14:13:41 -04:00
FileArguments + = GetCompileArguments_M ( ) ;
2019-01-11 18:09:39 -05:00
FileArguments + = GetObjCExceptionsFlag ( CompileEnvironment ) ;
2014-03-14 14:13:41 -04:00
}
else
{
// Compile the file as C++ code.
FileArguments + = GetCompileArguments_CPP ( ) ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
FileArguments + = GetRTTIFlag ( CompileEnvironment ) ;
2019-01-11 18:09:39 -05:00
FileArguments + = GetObjCExceptionsFlag ( CompileEnvironment ) ;
2014-03-14 14:13:41 -04:00
// only use PCH for .cpp files
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
FilePCHArguments = PCHArguments ;
2014-03-14 14:13:41 -04:00
}
// Add the C++ source file and its included files to the prerequisite item list.
2019-01-14 12:11:24 -05:00
CompileAction . PrerequisiteItems . Add ( SourceFile ) ;
2014-03-14 14:13:41 -04:00
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
// Add the precompiled header
if ( CompileEnvironment . PrecompiledHeaderAction = = PrecompiledHeaderAction . Include )
{
CompileAction . PrerequisiteItems . Add ( CompileEnvironment . PrecompiledHeaderFile ) ;
}
2018-02-21 17:31:08 -05:00
// Upload the force included files
2019-08-30 17:54:29 -04:00
foreach ( FileItem ForceIncludeFile in CompileEnvironment . ForceIncludeFiles )
2018-02-21 17:31:08 -05:00
{
2019-01-14 12:11:24 -05:00
CompileAction . PrerequisiteItems . Add ( ForceIncludeFile ) ;
2018-02-21 17:31:08 -05:00
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
string OutputFilePath = null ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . PrecompiledHeaderAction = = PrecompiledHeaderAction . Create )
2014-03-14 14:13:41 -04:00
{
// Add the precompiled header file to the produced item list.
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
FileItem PrecompiledHeaderFile = FileItem . GetItemByFileReference ( FileReference . Combine ( OutputDir , Path . GetFileName ( SourceFile . AbsolutePath ) + ".gch" ) ) ;
2014-03-14 14:13:41 -04:00
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
CompileAction . ProducedItems . Add ( PrecompiledHeaderFile ) ;
Result . PrecompiledHeaderFile = PrecompiledHeaderFile ;
2014-03-14 14:13:41 -04:00
// Add the parameters needed to compile the precompiled header file to the command-line.
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
FileArguments + = string . Format ( " -o \"{0}\"" , PrecompiledHeaderFile . AbsolutePath ) ;
2014-03-14 14:13:41 -04:00
}
else
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( CompileEnvironment . PrecompiledHeaderAction = = PrecompiledHeaderAction . Include )
2014-03-14 14:13:41 -04:00
{
CompileAction . PrerequisiteItems . Add ( CompileEnvironment . PrecompiledHeaderFile ) ;
}
2019-05-08 13:52:22 -04:00
string ObjectFileExtension ;
if ( CompileEnvironment . AdditionalArguments ! = null & & CompileEnvironment . AdditionalArguments . Contains ( "-emit-llvm" ) )
{
ObjectFileExtension = ".bc" ;
}
else
{
ObjectFileExtension = ".o" ;
}
2014-03-14 14:13:41 -04:00
// Add the object file to the produced item list.
2019-05-08 13:52:22 -04:00
FileItem ObjectFile = FileItem . GetItemByFileReference ( FileReference . Combine ( OutputDir , Path . GetFileName ( SourceFile . AbsolutePath ) + ObjectFileExtension ) ) ;
2014-03-14 14:13:41 -04:00
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
CompileAction . ProducedItems . Add ( ObjectFile ) ;
Result . ObjectFiles . Add ( ObjectFile ) ;
FileArguments + = string . Format ( " -o \"{0}\"" , ObjectFile . AbsolutePath ) ;
OutputFilePath = ObjectFile . AbsolutePath ;
2014-03-14 14:13:41 -04:00
}
// Add the source file path to the command-line.
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
FileArguments + = string . Format ( " \"{0}\"" , SourceFile . AbsolutePath ) ;
2014-03-14 14:13:41 -04:00
2019-01-14 12:11:24 -05:00
// Generate the included header dependency list
2019-08-30 17:54:29 -04:00
if ( CompileEnvironment . bGenerateDependenciesFile )
2019-01-14 12:11:24 -05:00
{
FileItem DependencyListFile = FileItem . GetItemByFileReference ( FileReference . Combine ( OutputDir , Path . GetFileName ( SourceFile . AbsolutePath ) + ".d" ) ) ;
FileArguments + = string . Format ( " -MD -MF\"{0}\"" , DependencyListFile . AbsolutePath . Replace ( '\\' , '/' ) ) ;
CompileAction . DependencyListFile = DependencyListFile ;
CompileAction . ProducedItems . Add ( DependencyListFile ) ;
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
string CompilerPath = Settings . Value . ToolchainDir + IOSCompiler ;
2014-03-14 14:13:41 -04:00
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 AllArgs = FilePCHArguments + Arguments + FileArguments + CompileEnvironment . AdditionalArguments ;
2019-08-30 17:54:29 -04:00
/ * string SourceText = System . IO . File . ReadAllText ( SourceFile . AbsolutePath ) ;
if ( CompileEnvironment . bOptimizeForSize & & ( SourceFile . AbsolutePath . Contains ( "ElementBatcher.cpp" ) | | SourceText . Contains ( "ElementBatcher.cpp" ) | | SourceFile . AbsolutePath . Contains ( "AnimationRuntime.cpp" ) | | SourceText . Contains ( "AnimationRuntime.cpp" )
| | SourceFile . AbsolutePath . Contains ( "AnimEncoding.cpp" ) | | SourceText . Contains ( "AnimEncoding.cpp" ) | | SourceFile . AbsolutePath . Contains ( "TextRenderComponent.cpp" ) | | SourceText . Contains ( "TextRenderComponent.cpp" )
| | SourceFile . AbsolutePath . Contains ( "SWidget.cpp" ) | | SourceText . Contains ( "SWidget.cpp" ) | | SourceFile . AbsolutePath . Contains ( "SCanvas.cpp" ) | | SourceText . Contains ( "SCanvas.cpp" ) | | SourceFile . AbsolutePath . Contains ( "ShaderCore.cpp" ) | | SourceText . Contains ( "ShaderCore.cpp" )
| | SourceFile . AbsolutePath . Contains ( "ParticleSystemRender.cpp" ) | | SourceText . Contains ( "ParticleSystemRender.cpp" ) ) )
{
Log . TraceInformation ( "Forcing {0} to --O3!" , SourceFile . AbsolutePath ) ;
AllArgs = AllArgs . Replace ( "-Oz" , "-O3" ) ;
} * /
2016-01-07 11:21:22 -05:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
// Analyze and then compile using the shell to perform the indirection
string StaticAnalysisMode = Environment . GetEnvironmentVariable ( "CLANG_STATIC_ANALYZER_MODE" ) ;
2019-08-30 17:54:29 -04:00
if ( StaticAnalysisMode ! = null & & StaticAnalysisMode ! = "" & & OutputFilePath ! = null )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
{
string TempArgs = "-c \"" + CompilerPath + " " + AllArgs + " --analyze -Wno-unused-command-line-argument -Xclang -analyzer-output=html -Xclang -analyzer-config -Xclang path-diagnostics-alternate=true -Xclang -analyzer-config -Xclang report-in-main-source-file=true -Xclang -analyzer-disable-checker -Xclang deadcode.DeadStores -o " + OutputFilePath . Replace ( ".o" , ".html" ) + "; " + CompilerPath + " " + AllArgs + "\"" ;
AllArgs = TempArgs ;
CompilerPath = "/bin/sh" ;
}
2016-01-07 11:21:22 -05:00
2014-03-14 14:13:41 -04:00
// RPC utility parameters are in terms of the Mac side
CompileAction . WorkingDirectory = GetMacDevSrcRoot ( ) ;
2019-01-14 12:11:24 -05:00
CompileAction . CommandPath = new FileReference ( CompilerPath ) ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
CompileAction . CommandArguments = AllArgs ; // Arguments + FileArguments + CompileEnvironment.AdditionalArguments;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
CompileAction . CommandDescription = "Compile" ;
2014-03-14 14:13:41 -04:00
CompileAction . StatusDescription = string . Format ( "{0}" , Path . GetFileName ( SourceFile . AbsolutePath ) ) ;
CompileAction . bIsGCCCompiler = true ;
// We're already distributing the command by execution on Mac.
2019-11-08 14:54:14 -05:00
CompileAction . bCanExecuteRemotely = true ;
2014-07-23 18:42:01 -04:00
CompileAction . bShouldOutputStatusDescription = true ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
2019-08-30 17:54:29 -04:00
foreach ( UEBuildFramework Framework in CompileEnvironment . AdditionalFrameworks )
2019-04-03 11:54:52 -04:00
{
2019-08-30 17:54:29 -04:00
if ( Framework . ZipFile ! = null )
{
2020-03-09 13:20:14 -04:00
FileItem ExtractedTokenFile = ExtractFramework ( Framework , Graph ) ;
2019-01-14 12:11:24 -05:00
CompileAction . PrerequisiteItems . Add ( ExtractedTokenFile ) ;
2019-08-30 17:54:29 -04:00
}
2019-01-14 12:11:24 -05:00
}
2014-03-14 14:13:41 -04:00
}
return Result ;
}
2020-03-09 13:20:14 -04:00
public override FileItem LinkFiles ( LinkEnvironment LinkEnvironment , bool bBuildImportLibraryOnly , IActionGraphBuilder Graph )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
string LinkerPath = Settings . Value . ToolchainDir +
( LinkEnvironment . bIsBuildingLibrary ? IOSArchiver : IOSLinker ) ;
2014-03-14 14:13:41 -04:00
// Create an action that invokes the linker.
2020-03-09 13:20:14 -04:00
Action LinkAction = Graph . CreateAction ( ActionType . Link ) ;
2014-03-14 14:13:41 -04:00
// RPC utility parameters are in terms of the Mac side
LinkAction . WorkingDirectory = GetMacDevSrcRoot ( ) ;
// build this up over the rest of the function
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
string LinkCommandArguments = LinkEnvironment . bIsBuildingLibrary ? GetArchiveArguments_Global ( LinkEnvironment ) : GetLinkArguments_Global ( LinkEnvironment ) ;
2019-02-27 11:57:17 -05:00
if ( LinkEnvironment . bIsBuildingDLL )
{
// @todo roll this put into GetLinkArguments_Global
LinkerPath = IOSLinker ;
LinkCommandArguments + = " -dynamiclib -Xlinker -export_dynamic -Xlinker -no_deduplicate" ;
string InstallName = LinkEnvironment . InstallName ? ? String . Format ( "@executable_path/Frameworks/{0}" , LinkEnvironment . OutputFilePath . MakeRelativeTo ( LinkEnvironment . OutputFilePath . Directory . ParentDirectory ) ) ;
LinkCommandArguments + = string . Format ( " -Xlinker -install_name -Xlinker {0}" , InstallName ) ;
LinkCommandArguments + = " -Xlinker -rpath -Xlinker @executable_path/Frameworks" ;
LinkCommandArguments + = " -Xlinker -rpath -Xlinker @loader_path/Frameworks" ;
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( ! LinkEnvironment . bIsBuildingLibrary )
2014-03-14 14:13:41 -04:00
{
// Add the library paths to the argument list.
2020-04-10 11:30:32 -04:00
foreach ( DirectoryReference LibraryPath in LinkEnvironment . SystemLibraryPaths )
2014-03-14 14:13:41 -04:00
{
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
LinkCommandArguments + = string . Format ( " -L\"{0}\"" , LibraryPath . FullName ) ;
2014-03-14 14:13:41 -04:00
}
// Add the additional libraries to the argument list.
2020-04-10 11:30:32 -04:00
foreach ( string AdditionalLibrary in LinkEnvironment . SystemLibraries )
{
LinkCommandArguments + = string . Format ( " -l\"{0}\"" , AdditionalLibrary ) ;
}
foreach ( FileReference Library in LinkEnvironment . Libraries )
2014-03-14 14:13:41 -04:00
{
// for absolute library paths, convert to remote filename
2020-04-10 11:30:32 -04:00
// add it to the prerequisites to make sure it's built first (this should be the case of non-system libraries)
FileItem LibFile = FileItem . GetItemByFileReference ( Library ) ;
LinkAction . PrerequisiteItems . Add ( LibFile ) ;
2014-03-14 14:13:41 -04:00
2020-04-10 11:30:32 -04:00
// and add to the commandline
LinkCommandArguments + = string . Format ( " \"{0}\"" , Library . FullName ) ;
2014-03-14 14:13:41 -04:00
}
}
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
// Handle additional framework assets that might need to be shadowed
2019-08-30 17:54:29 -04:00
foreach ( UEBuildFramework Framework in LinkEnvironment . AdditionalFrameworks )
2019-01-14 12:11:24 -05:00
{
2019-08-30 17:54:29 -04:00
if ( Framework . ZipFile ! = null )
2019-01-14 12:11:24 -05:00
{
2020-03-09 13:20:14 -04:00
FileItem ExtractedTokenFile = ExtractFramework ( Framework , Graph ) ;
2019-01-14 12:11:24 -05:00
LinkAction . PrerequisiteItems . Add ( ExtractedTokenFile ) ;
}
}
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
2014-03-14 14:13:41 -04:00
// Add the output file as a production of the link action.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
FileItem OutputFile = FileItem . GetItemByFileReference ( LinkEnvironment . OutputFilePath ) ;
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
LinkAction . ProducedItems . Add ( OutputFile ) ;
2014-03-14 14:13:41 -04:00
2018-05-23 21:04:31 -04:00
// Add arguments to generate a map file too
2019-02-27 11:57:17 -05:00
if ( ( ! LinkEnvironment . bIsBuildingLibrary | | LinkEnvironment . bIsBuildingDLL ) & & LinkEnvironment . bCreateMapFile )
2018-05-23 21:04:31 -04:00
{
FileItem MapFile = FileItem . GetItemByFileReference ( new FileReference ( OutputFile . Location . FullName + ".map" ) ) ;
LinkCommandArguments + = string . Format ( " -Wl,-map,\"{0}\"" , MapFile . Location . FullName ) ;
LinkAction . ProducedItems . Add ( MapFile ) ;
}
2014-03-14 14:13:41 -04:00
// Add the input files to a response file, and pass the response file on the command-line.
List < string > InputFileNames = new List < string > ( ) ;
foreach ( FileItem InputFile in LinkEnvironment . InputFiles )
{
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 FileNamePath = string . Format ( "\"{0}\"" , InputFile . AbsolutePath ) ;
2018-06-08 04:27:35 -04:00
InputFileNames . Add ( FileNamePath ) ;
2014-03-14 14:13:41 -04:00
LinkAction . PrerequisiteItems . Add ( InputFile ) ;
}
// Write the list of input files to a response file, with a tempfilename, on remote machine
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
if ( LinkEnvironment . bIsBuildingLibrary )
2014-03-14 14:13:41 -04:00
{
foreach ( string Filename in InputFileNames )
{
2016-06-20 16:57:06 -04:00
LinkCommandArguments + = " " + Filename ;
2014-03-14 14:13:41 -04:00
}
// @todo rocket lib: the -filelist command should take a response file (see else condition), except that it just says it can't
// find the file that's in there. Rocket.lib may overflow the commandline by putting all files on the commandline, so this
// may be needed:
2016-06-20 16:57:06 -04:00
// LinkCommandArguments += string.Format(" -filelist \"{0}\"", ConvertPath(ResponsePath));
2014-03-14 14:13:41 -04:00
}
else
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
bool bIsUE4Game = LinkEnvironment . OutputFilePath . FullName . Contains ( "UE4Game" ) ;
FileReference ResponsePath = FileReference . Combine ( ( ( ! bIsUE4Game & & ProjectFile ! = null ) ? ProjectFile . Directory : UnrealBuildTool . EngineDirectory ) , "Intermediate" , "Build" , LinkEnvironment . Platform . ToString ( ) , "LinkFileList_" + LinkEnvironment . OutputFilePath . GetFileNameWithoutExtension ( ) + ".tmp" ) ;
2020-03-09 13:20:14 -04:00
Graph . CreateIntermediateTextFile ( ResponsePath , InputFileNames ) ;
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
LinkCommandArguments + = string . Format ( " @\"{0}\"" , ResponsePath . FullName ) ;
2014-03-14 14:13:41 -04:00
}
2019-05-29 12:31:39 -04:00
// if we are making an LTO build, write the lto file next to build so dsymutil can find it
if ( LinkEnvironment . bAllowLTCG )
{
string LtoObjectFile ;
if ( Target . bShouldCompileAsDLL )
{
// go up a directory so we don't put this big file into the framework
LtoObjectFile = Path . Combine ( Path . GetDirectoryName ( Path . GetDirectoryName ( OutputFile . AbsolutePath ) ) , Path . GetFileName ( OutputFile . AbsolutePath ) + ".lto.o" ) ;
}
else
{
LtoObjectFile = OutputFile . AbsolutePath + ".lto.o" ;
}
LinkCommandArguments + = string . Format ( " -flto -Xlinker -object_path_lto -Xlinker \"{0}\"" , LtoObjectFile ) ;
}
2014-03-14 14:13:41 -04:00
// Add the output file to the command-line.
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
LinkCommandArguments + = string . Format ( " -o \"{0}\"" , OutputFile . AbsolutePath ) ;
2014-03-14 14:13:41 -04:00
// Add the additional arguments specified by the environment.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
LinkCommandArguments + = LinkEnvironment . AdditionalArguments ;
2014-03-14 14:13:41 -04:00
// Only execute linking on the local PC.
LinkAction . bCanExecuteRemotely = false ;
LinkAction . StatusDescription = string . Format ( "{0}" , OutputFile . AbsolutePath ) ;
2019-01-14 12:11:24 -05:00
LinkAction . CommandPath = BuildHostPlatform . Current . Shell ;
2019-08-30 17:54:29 -04:00
if ( LinkEnvironment . Configuration = = CppConfiguration . Shipping & & Path . GetExtension ( OutputFile . AbsolutePath ) ! = ".a" )
2016-06-20 16:57:06 -04:00
{
// When building a shipping package, symbols are stripped from the exe as the last build step. This is a problem
// when re-packaging and no source files change because the linker skips symbol generation and dsymutil will
// recreate a new .dsym file from a symboless exe file. It's just sad. To make things happy we need to delete
// the output file to force the linker to recreate it with symbols again.
2019-08-30 17:54:29 -04:00
string linkCommandArguments = "-c '" ;
2016-06-20 16:57:06 -04:00
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
linkCommandArguments + = string . Format ( "rm -f \"{0}\";" , OutputFile . AbsolutePath ) ;
linkCommandArguments + = string . Format ( "rm -f \"{0}\\*.bcsymbolmap\";" , Path . GetDirectoryName ( OutputFile . AbsolutePath ) ) ;
2019-05-09 10:51:55 -04:00
linkCommandArguments + = "\"" + LinkerPath + "\" " + LinkCommandArguments + ";" ;
2016-06-20 16:57:06 -04:00
linkCommandArguments + = "'" ;
LinkAction . CommandArguments = linkCommandArguments ;
}
else
{
// This is not a shipping build so no need to delete the output file since symbols will not have been stripped from it.
2019-05-09 10:51:55 -04:00
LinkAction . CommandArguments = string . Format ( "-c '\"{0}\" {1}'" , LinkerPath , LinkCommandArguments ) ;
2016-06-20 16:57:06 -04:00
}
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
return OutputFile ;
2014-03-14 14:13:41 -04:00
}
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
static string GetAppBundleName ( FileReference Executable )
{
// Get the app bundle name
string AppBundleName = Executable . GetFileNameWithoutExtension ( ) ;
// Strip off any platform suffix
int SuffixIdx = AppBundleName . IndexOf ( '-' ) ;
2019-08-30 17:54:29 -04:00
if ( SuffixIdx ! = - 1 )
2018-02-22 11:25:06 -05:00
{
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
AppBundleName = AppBundleName . Substring ( 0 , SuffixIdx ) ;
2018-02-22 11:25:06 -05:00
}
2016-05-19 19:35:35 -04:00
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
// Append the .app suffix
return AppBundleName + ".app" ;
}
2019-05-24 11:51:54 -04:00
public static FileReference GetAssetCatalogFile ( UnrealTargetPlatform Platform , FileReference Executable )
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
{
// Get the output file
2019-08-30 17:54:29 -04:00
if ( Platform = = UnrealTargetPlatform . IOS )
{
return FileReference . Combine ( Executable . Directory , "Payload" , GetAppBundleName ( Executable ) , "Assets.car" ) ;
}
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
else
{
return FileReference . Combine ( Executable . Directory , "AssetCatalog" , "Assets.car" ) ;
}
}
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
2019-05-24 11:51:54 -04:00
public static string GetAssetCatalogArgs ( UnrealTargetPlatform Platform , string InputDir , string OutputDir )
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
{
StringBuilder Arguments = new StringBuilder ( "actool" ) ;
2019-08-30 17:54:29 -04:00
Arguments . Append ( " --output-format human-readable-text" ) ;
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
Arguments . Append ( " --notices" ) ;
Arguments . Append ( " --warnings" ) ;
2019-08-30 17:54:29 -04:00
Arguments . AppendFormat ( " --output-partial-info-plist '{0}/assetcatalog_generated_info.plist'" , InputDir ) ;
if ( Platform = = UnrealTargetPlatform . TVOS )
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
{
2019-04-04 07:00:38 -04:00
Arguments . Append ( " --app-icon 'App Icon & Top Shelf Image'" ) ;
Arguments . Append ( " --launch-image 'Launch Image'" ) ;
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
Arguments . Append ( " --filter-for-device-model AppleTV5,3" ) ;
2018-10-22 08:32:42 -04:00
//Arguments.Append(" --filter-for-device-os-version 10.0");
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
Arguments . Append ( " --target-device tv" ) ;
2018-10-12 14:51:55 -04:00
Arguments . Append ( " --minimum-deployment-target 10.0" ) ;
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
Arguments . Append ( " --platform appletvos" ) ;
}
else
{
2019-04-04 07:00:38 -04:00
Arguments . Append ( " --app-icon AppIcon" ) ;
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
Arguments . Append ( " --product-type com.apple.product-type.application" ) ;
Arguments . Append ( " --target-device iphone" ) ;
Arguments . Append ( " --target-device ipad" ) ;
2018-10-12 14:51:55 -04:00
Arguments . Append ( " --minimum-deployment-target 10.0" ) ;
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
Arguments . Append ( " --platform iphoneos" ) ;
}
2019-08-30 17:54:29 -04:00
Arguments . Append ( " --enable-on-demand-resources YES" ) ;
Arguments . AppendFormat ( " --compile '{0}'" , OutputDir ) ;
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
Arguments . AppendFormat ( " '{0}/Assets.xcassets'" , InputDir ) ;
return Arguments . ToString ( ) ;
}
2016-05-19 19:35:35 -04:00
2019-02-27 11:57:17 -05:00
private static bool IsCompiledAsFramework ( string ExecutablePath )
{
// @todo ios: Get the receipt to here which has the property
return ExecutablePath . Contains ( ".framework" ) ;
}
private static string GetdSYMPath ( FileItem Executable )
{
string ExecutablePath = Executable . AbsolutePath ;
// for frameworks, we want to put the .dSYM outside of the framework, and the executable is inside the .framework
if ( IsCompiledAsFramework ( ExecutablePath ) )
{
return Path . Combine ( Path . GetDirectoryName ( ExecutablePath ) , ".." , Path . GetFileName ( ExecutablePath ) + ".dSYM" ) ;
}
// return standard dSYM location
return Path . Combine ( Path . GetDirectoryName ( ExecutablePath ) , Path . GetFileName ( ExecutablePath ) + ".dSYM" ) ;
}
2019-05-29 16:41:52 -04:00
/// <summary>
/// Generates debug info for a given executable
/// </summary>
/// <param name="Executable">FileItem describing the executable to generate debug info for</param>
/// <param name="bIsForLTOBuild">Was this build made with LTO enabled?</param>
2020-03-09 13:20:14 -04:00
/// <param name="Graph">List of actions to be executed. Additional actions will be added to this list.</param>
private List < FileItem > GenerateDebugInfo ( FileItem Executable , bool bIsForLTOBuild , IActionGraphBuilder Graph )
2014-03-14 14:13:41 -04:00
{
2019-08-30 17:54:29 -04:00
// Make a file item for the source and destination files
2019-02-27 11:57:17 -05:00
string FullDestPathRoot = GetdSYMPath ( Executable ) ;
2014-10-31 04:46:23 -04:00
2019-08-30 17:54:29 -04:00
FileItem OutputFile = FileItem . GetItemByPath ( FullDestPathRoot ) ;
FileItem ZipOutputFile = FileItem . GetItemByPath ( FullDestPathRoot + ".zip" ) ;
2014-03-14 14:13:41 -04:00
2019-08-30 17:54:29 -04:00
// Make the compile action
2020-03-09 13:20:14 -04:00
Action GenDebugAction = Graph . CreateAction ( ActionType . GenerateDebugInfo ) ;
2015-09-24 12:37:21 -04:00
2015-09-24 08:08:38 -04:00
GenDebugAction . WorkingDirectory = GetMacDevSrcRoot ( ) ;
2019-01-14 12:11:24 -05:00
GenDebugAction . CommandPath = BuildHostPlatform . Current . Shell ;
2019-05-29 16:41:52 -04:00
string ExtraOptions ;
2019-08-30 17:54:29 -04:00
string DsymutilPath = GetDsymutilPath ( out ExtraOptions , bIsForLTOBuild : bIsForLTOBuild ) ;
if ( ProjectSettings . bGeneratedSYMBundle )
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
{
2019-05-29 16:41:52 -04:00
GenDebugAction . CommandArguments = string . Format ( "-c 'rm -rf \"{2}\"; \"{0}\" \"{1}\" {4} -o \"{2}\"; cd \"{2}/..\"; zip -r -y -1 {3}.zip {3}'" ,
2019-08-30 17:54:29 -04:00
DsymutilPath ,
2014-10-31 04:46:23 -04:00
Executable . AbsolutePath ,
2019-08-30 17:54:29 -04:00
OutputFile . AbsolutePath ,
2019-05-29 16:41:52 -04:00
Path . GetFileName ( FullDestPathRoot ) ,
ExtraOptions ) ;
2019-08-30 17:54:29 -04:00
GenDebugAction . ProducedItems . Add ( ZipOutputFile ) ;
Log . TraceInformation ( "Zip file: " + ZipOutputFile . AbsolutePath ) ;
}
else
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
{
2019-05-29 16:41:52 -04:00
GenDebugAction . CommandArguments = string . Format ( "-c 'rm -rf \"{2}\"; \"{0}\" \"{1}\" {3} -f -o \"{2}\"'" ,
2018-11-14 19:05:13 -05:00
DsymutilPath ,
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
Executable . AbsolutePath ,
2019-05-29 16:41:52 -04:00
OutputFile . AbsolutePath ,
ExtraOptions ) ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
}
2014-03-14 14:13:41 -04:00
GenDebugAction . PrerequisiteItems . Add ( Executable ) ;
2019-08-30 17:54:29 -04:00
GenDebugAction . ProducedItems . Add ( OutputFile ) ;
GenDebugAction . StatusDescription = GenDebugAction . CommandArguments ; // string.Format("Generating debug info for {0}", Path.GetFileName(Executable.AbsolutePath));
2014-03-14 14:13:41 -04:00
GenDebugAction . bCanExecuteRemotely = false ;
2019-04-09 21:27:26 -04:00
return GenDebugAction . ProducedItems ; // (ProjectSettings.bGeneratedSYMBundle ? ZipOutputFile : OutputFile);
2014-03-14 14:13:41 -04:00
}
2019-08-30 17:54:29 -04:00
/// <summary>
/// Generates pseudo pdb info for a given executable
/// </summary>
/// <param name="Executable">FileItem describing the executable to generate debug info for</param>
2020-03-09 13:20:14 -04:00
/// <param name="Graph">List of actions to be executed. Additional actions will be added to this list.</param>
public FileItem GeneratePseudoPDB ( FileItem Executable , IActionGraphBuilder Graph )
2019-08-30 17:54:29 -04:00
{
// Make a file item for the source and destination files
2019-02-27 11:57:17 -05:00
string FulldSYMPathRoot = GetdSYMPath ( Executable ) ;
string FullDestPathRoot = Path . ChangeExtension ( FulldSYMPathRoot , ".udebugsymbols" ) ;
2019-08-30 17:54:29 -04:00
string PathToDWARF = Path . Combine ( FulldSYMPathRoot , "Contents" , "Resources" , "DWARF" , Path . GetFileName ( Executable . AbsolutePath ) ) ;
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
FileItem dSYMFile = FileItem . GetItemByPath ( FulldSYMPathRoot ) ;
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
FileItem DWARFFile = FileItem . GetItemByPath ( PathToDWARF ) ;
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
FileItem OutputFile = FileItem . GetItemByPath ( FullDestPathRoot ) ;
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
// Make the compile action
2020-03-09 13:20:14 -04:00
Action GenDebugAction = Graph . CreateAction ( ActionType . GenerateDebugInfo ) ;
2019-08-30 17:54:29 -04:00
GenDebugAction . WorkingDirectory = DirectoryReference . Combine ( UnrealBuildTool . EngineDirectory , "Binaries" , "Mac" ) ;
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
GenDebugAction . CommandPath = BuildHostPlatform . Current . Shell ;
GenDebugAction . CommandArguments = string . Format ( "-c 'rm -rf \"{1}\"; dwarfdump --uuid \"{3}\" | cut -d\" \" -f2; chmod 777 ./DsymExporter; ./DsymExporter -UUID=$(dwarfdump --uuid \"{3}\" | cut -d\" \" -f2) \"{0}\" \"{2}\"'" ,
DWARFFile . AbsolutePath ,
OutputFile . AbsolutePath ,
Path . GetDirectoryName ( OutputFile . AbsolutePath ) ,
dSYMFile . AbsolutePath ) ;
GenDebugAction . PrerequisiteItems . Add ( dSYMFile ) ;
GenDebugAction . ProducedItems . Add ( OutputFile ) ;
GenDebugAction . StatusDescription = GenDebugAction . CommandArguments ; // string.Format("Generating debug info for {0}", Path.GetFileName(Executable.AbsolutePath));
GenDebugAction . bCanExecuteRemotely = false ;
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
return OutputFile ;
}
Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain
#wex - Put the change to sort the CookedAssetRegistry back in.
#jira WEX-5841
Back out changelist 3437412
Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.
#jira WEX-5841
Back out changelist 3437372
Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Sort the cooked asset registry on save to fix nondeterministic cook.
#jira WEX-5841
Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.
#jira WEX-5841
Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-General.
#jira WEX-5841
Merging
//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp
Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor
#jira WEX-5841
Merging
//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...
to //WEX/Main/Engine/Source/Runtime/MovieScene/...
Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.
#jira WEX-5841
Merging
//UE4/Dev-Framework/Engine/Source/Editor/...
to //WEX/Main/Engine/Source/Editor/...
Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Upload Crashlytics symbols after succesful build by build machine
#jira none
Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved more assets to fix nondeterministic cooks.
#jira WEX-5841
Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main
fix for thinking Android is always on WiFi even when it is on LTE
#jira none
Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX
fix for loading a null object when the object is just pending kill
not happy with this fix, but it works
#jira WEX-6265
Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
#jira WEX-6319
Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Make sure file handle is valid for flush
#jira none
Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
- Added IFileHandle::Flush() to get the full pre-init log
#jira WEX-6311
Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for missing logs when crashing in crash reporter
#jira none
Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6248, WEX-6285
- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
- Generalized some of the item selection logic from B_HexGrid_Heroes.
- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.
Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main
fix for no symbols on the crashreport site
#jira none
Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Enable CL as store version for Android
#jira WEX-5432
#ue4
#android
Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Crashlytics for Android
- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
#jira WEX-5785
Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
another pass at deprecation warnings
#jira none
Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
write out the UUID for the dSYM when generating the debug symbols
#jira none
Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main
fix for deprecation warnings on IOS
#jira none
Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for resetting the load status when attempting a second load of an asset
#jira WEX-6226
Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
made an extra change I didn't need
#jira none
Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main
fix for crash reports from build machine builds not symbolicating
#jira none
Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.
Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
[NULL MERGE]
make it so we are back to 100MB
temporary fix until I can either download the symbol file or symbolicate on the server
#jira WEX-6142
Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain
#wex - Resaved Entry.umap to fix nondeterministic cooks.
#jira WEX-5841
Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for debug symbols not showing up in the ipa
#jira none
Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main
fix for some more warnings
#jira none
Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
fix for build warning
#JIRA none
Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main
crashreporter part 2, now sending reports to the database on successive run
#jira WEX-5531
Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-6037
- Added support for alert-less local notifications on iOS.
Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX
#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
#JIRA: WEX-5829
Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
fix for new warnings from CrashDebugHelper in IOS
#jira none
Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main
initial crash reporter changes (pt. 1)
* client side to generate the crash report
* inclusion of the debug symbols in the ipa
#jira WEX-5531
Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main
update to the dSymExporter to handle IOS
#jira none
Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex
OpenSSL 1.0.2g updates from //UE4/Main
Fixes prompt asking user to insert a disk on a removable drive
#jira WEX-6136
Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main
update to the chunk data to allow characters to have some duplicate data in their chunks
this increases the installed size only slightly
#jira WEX-6118
#jira WEX-5996
Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
#jira WEX-6071
Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better Android web browser closing
#jira WEX-5871
#ue4
#android
Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
revert out the lock free list change, was bleed over from a memory test
#jira WEX-6077
Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main
#WEX
#JIRA: WEX-5669
- Exposed binadable OnRowReleased delegate for UListView.
- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.
Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY
#WEX
#JIRA: WEX-5669
- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).
Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix copy-paste bug
#jira WEX-5871
Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Better behavior for Android LaunchURL
#jira WEX-5871
#ue4
#android
Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main
Xcode 8.3 compiler fixes
#jira none
Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.may
#WEX
#JIRA: WEX-5966
- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.
Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera. The widgets should now show up in the right locations.
#reimplementing CL# 3371590 from Dev-Editor
#jira None
Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moving Android Facebook SDK to NFL directory
#jira OGS-636
Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
use pngs for iconbs in the plist
properly copy icon pngs
#jira none
Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add missing keycodes for Android keyboard
#jira WEX-5777
#android
Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX
#Android: (from ChrisB)
- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
- We don't need this token anyway so band-aiding it out
#JIRA: WEX-5730
Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers
trimmed include to only include what is needed
#jira none
Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX
Fix Android build error.
fallout from 3358094
#jira WEX-5193
#rb none
Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5675
- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.
Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - java toolchain changes for OnlineSubsystemGoogle
- update google auth to 9.8.0
- update required sdk to 25
#jira none
Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers
added CSV output w/ class type
skip /Script/ dependencies
#jira n/a
Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Android newkeyboard support
* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
* Calculating the area covered by the virtual keyboard
* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
#jira WEX-5675
Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.
Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538
- Added FPlatformMisc::IsPluggedIn().
- Block battery drainage tracking when the device is plugged in.
Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archives having truncated directory names
#jira none
Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix Android password hiding
#jira WEX-5159
#ue4
#android
#rb Peter.Sauerbrei
Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5538, WEX-5591
- Added FPlatformMisc::GetBatteryLevel().
- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().
Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#WidgetComponent
- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
#JIRA: none
Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX
#Engine #ActorComponents: Pasting components
- Try to respect the pasted component's name if possible.
- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
- Scroll into view after pasting
#JIRA: none
Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.
Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: None
Reverted my change that reversed Cascade's LOD ordering.
Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some changes to track down this rare streaming crash
#jira WEX-5631
Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for IOS 8 crash when trying to link Facebook
addition of IOSVersionCompare to FIOSPlatformMisc
#jira WEX-5613
Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
#jira WEX-5193
Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX
Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
Android links with -gc-sections to remove unused code/data
Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
Add support to generate a map file with android.
#rb chris.babcock
#jira WEX-5193
Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5286
- Promoted r.ParticleLODBias to a full-blown scalability setting.
- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
- Reversed the Cascade's LOD ordering to be consistent with other systems.
Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: perforce is the devil
#JIRA: none
Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
#JIRA: none
Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Fix for a bug in run-local-mcp-main.bat
#JIRA: none
Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
#JIRA: none
Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
- removed wex's run-release.bat (won't be necessary)
- removed the product_version param (going off stream name now)
#JIRA: none
Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX
#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
#JIRA: none
Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
compile fix
#jira none
Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
pull chunk 1 back out
#jira WEX-4037
Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
#jira WEX-4037
Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5526
- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.
Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
move some of the onboarding data in to the IPA
#jira WEX-4037
Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for splash screen disappearing on iPhone 5s and iPod Touch
#jira none
Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPod Touch 6 splash screen
#jira WEX-5482
Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for portrait only not being respected
#jira WEX-5517
Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix target value 1.5 obsolete warning
#android
#jira: none
Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add new notification icons
#jira WEX-5173
#ue4
#android
Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update script version for CarefullyRedist (need to use jdk1.8)
#jira: none
#android
Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#GooglePlay #Android #IAP: compile fix
#JIRA: WEX-5479
Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX
#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
#JIRA: WEX-5479
Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Update handling of device and advertiser IDs for Android
- remove GetUniqueDeviceId() - deprecated
- add GetLoginId() - uses GUID approach
- remove fallback from GetUnqiueAdvertisingId()
- changed CreateUserId
- don't send Attribution and UniqueDeviceId from USERLOGIN
#jira WEX-5461
#ue4
#android
#rb Wes.Hunt
Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX
#Engine #JSON
- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
#JIRA: none
Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Added background transparency support for AndroidWebBrowserWidget.
Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Support large OBB files in APK
- moved over since it also reduces process space used because OBB previously was mmapped
#jira: none
Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5367
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
- Added background transparency support for IOSWebViewWrapper.
Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Online Subsystem consistency cleanup
- all OSS classes use the instance name passed into the CreateFactory function
- nothing should be using the default constructor
- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
#JIRA none
Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Google sign-in first pass
- discovery service query
- user consent screen
- token exchange for access/refresh token
- retrieve user profile
- logout
#JIRA WEX-5103
Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers
added GDF export support
#JIRA n/a
Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers
Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.
The format of the Json is
array<Packages>
InclusiveSize
ExclusiveSize
Name
array<string> DirectlyReferencing
array<string> DirectlyReferencedBy
array<string> AllReferences
allowing easy graph building and digestion of data.
Usage example
C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering
#JIRA n/a
Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to using jpgs for icons and splash screens
Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
remove all duplicate data from the paks
Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for low resolution on iPad Pro
#jira WEX-5157
Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY
#WEX
#JIRA: WEX-5278
- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).
Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro
#WEX
- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.
Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
check for png and then jpg for splash screens
Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX
Ignore AAR/JAR dependencies with scope "test"
#android
Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Last of the facebook cleanup
- moved profile fields to common
- added facebook profile picture to profile and friends structures
- moved FacebookError to OnlineSubsystemFacebookTypes.h
Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Remove eglSwapInterval causing S6 to freeze
#jira WEX-5147
#android
Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Java toolchain fix for Facebook SDK
- hack per ChrisB
@codereview Chris.Babcock
Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook SDK for Android enabled
Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX
#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.
Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook TPS files for iOS and Android latest SDKs
Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Fixes for Facebook SDK changes
- Fix for comment in DefaultPlatformService ini entry
Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Android toolchain changes
Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook IOS
Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook Common
Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-5114, WEX-5116
- Buttons now only respond to first finger touch events.
Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX
enable compile for size on iOS
Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Implement GetUniqueDeviceId for Android
- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
#android
Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)
Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX
#Android #AdvertisingId
Merging shelf CL 3195079 for Chris.Babcock
Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY
#WEX
- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.
Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex
ShaderCache will use up to 16 samplers
#rb jack.porter
Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro
#WEX
#JIRA: WEX-5019
- Fixed "washed out" UMG widget coloring on iOS.
Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Clear for viewport instead of drawing quad on top, when scene rendering is disabled
#rb Jack.Porter
Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Update invalidation panel to account for a new LayoutToRenderTransform
Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Invalidation panel fixes.
Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
Updating scissor rect inside cached elements.
Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream
Added support for runtime change of the Android GT and RT affinity masks at the console.
eg "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all
#rb Dmitriy.Dyomin
Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
Iinvalidation panel fixes
#rb nick.darnell
Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"
Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for iOS build failure
Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on PLCrashReporter for iOS
Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
built PLCrashReporter for IOS
Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Updated Java files that look like were missed in merge
#rb none
Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2
UE-41567 Fixes for duplicating sound assets
Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
re-enable pak pre-cache
Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Bump shader version, hopefully will make WEX-4517 go away...
#rb none
Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX
Prevent UI materials producing encoded results.
#jira WEX-4975
#rb Jack.Porter
Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
#jira WEX-5046
#rb Max.Preussner
Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX
add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
enabled in WEX for android low end devices.
add mosaic state to android window's resolution cache conditions.
#jira WEX-4927
#rb chris.babcock, jack.porter
Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
Fixed ordering of CommanderBar image in B_HeroIcon
Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)
Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - cleaned up some dev garbage in Facebook module file
Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Temporarily limit GMaxTextureSamples to 16 for Android
#jira WEX-5051
#rb Peter.Sauerbrei
Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
LocalMcp run script:
- Remove quotes from output.
- Display progress bar when downloading artifact.
- Output MongoDB data directory.
Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
turn off logging in test builds in release stream
Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017
#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)
Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
better fix for the app name in the archive
Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for archive failure
Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly naming the dSYM for uploading
#rb none
Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - Facebook changes to get Windows/iOS up to date
- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
-- store values in generic key value pairs
- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events
Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
[NULL MERGE]
potential fix for dSYM not uploading properly
#rb none
Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fix for web browser crash on Android distribution (from 4.15)
#jira WEX-4947
#rb none
Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex
[Engine]
Add support for uberjar MCPs in LocalMcp scripts.
[WEX]
Use uberjar when launching local MCP.
Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX
Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
#jira WEX-4517.
#rb jack.porter
Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
pull over the metal state rasterizer fix from main
#jira WEX-4855
Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX
More GCM work
- platform=ANDROID for registration URL (case-sensitive)
- hooked up registration through FPlatformMisc like iOS
- removed old retrigger for delegates (not needed)
- stubbed in unregister for later
- added notification generation on message (disabled for now)
Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main
Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node. Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.
Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for double add to manifests
Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for iOS build failure
Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for animation crash
#jira WEX-4906
Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the parallelism of the packaging step to alleviate strain on Mac
Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
#jira WEX-4862
Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-4634
- Attempt to re-hide the navigation bar when we detect a few different events
Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable pak precaching as it seems to be causing crashes
Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Fixes for GoogleCloudMessaging
- moved registration later to correct issues with engine not ready
- save registration status message and token for later retrigger
- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)
Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main
UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name
Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX
#WEX: performance tracking analytics tags
- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
- changed #if to regular if so inner code gets compiled in all cases
#JIRA: WEX-4838
Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing virtual keyboard
#jira WEX-4859
Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
#UE4 - Facebook iOS upgrade to 4.18
IdentityInterface should be using proper in app dialogs now
Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO
Facebook SDK 4.18
Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for tower collision
Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging
//UE4/Release-4.15/Engine/Source/Runtime/...
to //WEX/Main/Engine/Source/Runtime/...
Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
- fixes plugins not printing proper log levels if initialized too early
#rb gil.gribb
Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add GoogleCloudMessaging plugin for Android
Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).
#rb Peter.Sauerbrei
Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX
#Json: Adding MapProperty support to JsonObjectConverter
- Only TMaps with FString keys are allowed (to match JSON spec)
- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)
Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when trying to pre-cache a pak file smaller than the cache granularity
Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX
Avoid unneeded stencil clear in mobile renderer.
#rb jack.porter
Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for non-unity compile failures
Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for another warning
Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
some warning fixes
Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.
#rb none
Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
#rb none
Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main
#WEX
#JIRA: WEX-4685
- Scale boxes now default to single pass
Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Enabled shader cache on Android
Also added recorded shader cache from my play session (need to record more complete cache later)
#rb jack.porter
#jira WEX-4691
Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#WebBrowser: Fix field initialization order warning.
Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX
#Engine #WebBrowser:
- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
- Changed locally generated requests to use PostData instead.
- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
- Default mime type to text/html to support the old behavior
Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
turn on test logging
DO NOT SUBMIT THIS TO UE4/MAIN
#rb none
Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.
#rb none
Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode. This mode is not the default, but it can save a considerable amount of time in
the right situation. Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.
#rb none
Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.
#rb none
Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Slate pixel shaders will use half precision where possible on mobile
#rb jack.porter
Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed redundant blend state changes in opengl
#rb jack.porter
Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
#rb jack.porter
Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
properly set the file extension for the dSYM for the manifest
#rb none
Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
trying to track down why the dSYM isn't working
#rb none
Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
return the zip version for now
#rb none
Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
add dSYM.zip to the output produced if we want the dSYMBundle
utilize that if it exists to populate the xcarchive
#rb none
Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for build error
#rb none
Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX
C string is not null terminated in FCurlHttpRequest::DebugCallback
#jira WEX-4610
Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so xcarchives can be archived to a directory on build machines
make it so the build machine puts the CL in as the CFBundleVersion
make it so we generated an XCArchive and a dSYM
#rb none
Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.
#rb none
Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed: Device output log partial lines
#rb jack.porter
Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable java console cmd receiver only in shipping builds
#rb jack.porter
Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Support Dynamic r.MobileContentScaleFactor change on Android
#rb Dmitriy.Dyomin
Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream
Integrating Mobile Support for r.ScreenPercentage
#rb Dmitriy.Dyomin
Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin (for real)
#ios
Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Added trackSubsessionStart to iOS Adjust plugin
#ios
Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - FB OSS for PC
- login flow implemented using web based LoginFlow module
- implemented ShowLoginUI for external UI interface
- added Login function with existing access token
- fixed GetAuthType function
- added reference to main online subsystem to Friend/Identity interfaces
Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - used more prpoer shared pointer cast
Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA WEX-4557
- An engine change that separates serializing the actor from file operations
- Serialize the saved level on the main thread, save it to a slot during the async task
Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance
Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4475
- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.
Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Removing a crashing check that turned out to not be nessesary.
Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabling the deferred desired size optimization.
Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX
#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)
Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Core Refactor. Found a way to save about 2ms on mobile for an average screen. It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass. It saves time because not every widget
cares what the desired size of their children is.
I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.
I've added an ensure prints the message, "The layout is cyclically dependent. A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."
Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.
Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now visualize batching by doing Slate.ShowBatching 1.
Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input. Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.
Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.
Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Fixing a crash in the game viewport client if no debug canvas is provded.
Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Fixing the code that sends remote commands to android.
Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for console entry
#jira WEX-4488
Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Adding some scoped performance counters for more rendering infromation in slate.
Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.
Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.
Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.
Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.
Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.
Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.
Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main
Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)
Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main
LauncherCheck module no longer has a dependancy on the DesktopPlatform module
#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule
#branch WEX_Dev-Main
#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).
#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.
Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-3793
- Added config support for enabling/disabling the iOS integrated keyboard implementation.
- Switched over to using the iOS integrated keyboard implementation.
- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.
Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers
Widget Compiler - Improving the error message for multiple widget trees.
Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.
Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers
Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.
Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Exposing a way to dynamically set the touch/click method on buttons.
Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for get-task-allow being true when distribution is enabled
Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers
Editor - Adding PPI/DPI to the unit conversion tables.
Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)
Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Platform: Improved the warning message slightly when there is no local notification service
Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value
Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplemented CL# 3134965 from Dev-Blueprints]
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)
Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM
Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3557
- Reduce the uniform buffer size for Android GPU's
Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
MediaPlayer: Fixed a typo in the editor style that included .png twice
Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)
Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149669 from Dev-Core]
Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.
Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
[Reimplementing CL# 3149397 from Dev-Framework]
Fix collision profile writing out response values to channels that don't exist.
Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)
Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
Back out changelist 3220848 now that NickD's proper fix is in
Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
UI - Missions markers should now accept a single click to become activated.
UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.
#jira WEX-4390
#jira WEX-4137
#jira WEX-4373
Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches. Did some general cleanup around this work with names
and such.
Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.
Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#ChunkInstaller:
- Added support for errors that may occur during ParseManifest
- Renamed BuildVersion (variable) to BuildUrl to match JSON key
- Fail parsing on bad file entry
- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
- Don't rebind delegates when entering Setup after a Retry
- Check bNeedsRetry befpre doing countdown for auto-retry
Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1
Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for icons missing in the IPA
#jira WEX-4380
Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: david.nikdel
#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus
Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
fix for iPhone 7/7Plus not finding the correct splash screen image for holding
addition of iPhone 7/7Plus device profiles
hold the splash screen until the manifest is downloaded
Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
changes to make it so we only copy the images needed for the support orientations
set minimu iOS to 8
Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
make it so the engine doesn't try to load editor only content in the game
#jira WEX-4319
Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.
Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers
Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.
Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
some code missed in an earlier check-in to reduce data duplication in chunks
Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
- Most platforms don't change
- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
#rb david.nikdel
Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
#rb david.nikdel
Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
#rb david.nikdel
#jira WEX-4342
Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Disabled widgets now render correctly on mobile. Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.
Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature. Cleaning up some logic in the
InertialScrollManager to be configurable externally.
Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Fixed precision issues on Adreno devices when sampling sRGB textures
#rb Jack.Porter
Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.
Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Calculating CSF using the surface size vs window size.
Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
IOS - Fixing a bug with scaling screen density by the content scale factor.
Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.
Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Build - Fixing the build on mac.
Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Add ue4.displaymetrics.dpi metadata to query device DPI for Android
Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Slate - Reverting a change to button I was testing things with.
Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate. Introducing a way to get the Physical Screen
Density on Android and iOS. On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini. If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density. With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered. This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS. The first and only gesture we currently support is the new Long Press
gesture that has been added. The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.
Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
UMG - Making a pass on invalidation. The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.
Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers
Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.
Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex
Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
#rb Jack.Porter
Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
#JIRA: WEX-4255
- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.
Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
update to the notification delegates to add a parameter for the state of the app when the notification was recieved
Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-4135
- Added a full purge of GC array pool following full GC purges.
Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Adjust analytics plugin for Android and iOS
#jira WEX-3939
#rb David.Nikdel
Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX
Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
#jira WEX-3691
#rb jack.porter
Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Final fix for buildmachine crash
Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine part 2: this time I saved the file!
Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: bruce.knapik
#WEX Fix for crash on buildmachine
Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
temporary fix for crash after logging in
#jira WEX-4085
Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream
Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.
Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
update IPP to look at Library/Caches as well when backing up the documents
Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
implement peak memory stats on IOS
#jira WEX-3947
Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX
GPU vendor data from MichaelN
Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest changes to generate the proper manifest and be ready for MCP
Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
bringing over fix for Apple HTTP requests
Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
slightly better fix for the curl crash
Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
IOS now reads/writes from Library/Caches instead of Documents
Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch to platform manifest names in prep for switch to MCP
disable screen saver while downloading chunks
another potential build machine speed up
Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
correct fix for cook crash
Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when cooking without chunks
Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
chunk assignment fixes
Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
#rb Michael.Noland
Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main
Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)
Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android build error
Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential speed up of builds
Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash in the curl debug info callback
#jira WEX-4039
Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream
Remove mosaic resolution limitation on ES3 devices
#jira WEX-3119
#rb Dmitriy.Dyomin
Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of the device token to the log
Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
switch back to IOSCompile-01 for default mac
Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow different deployments from the command line when using chunking
NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
#jira WEX-3951
Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX
potential fix for audio cued at different speeds
#jira WEX-3637
Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain
#WEX
- Disabled freed alloc caching for MallocBinned on mobile.
Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for IOS never enabling the chunk data
Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)
Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - reconciled android settings
- added placeholder app id
Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for missing platform for promotion
Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX
#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).
Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one texture on the resave
Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
warning reduction
Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX
resaved engine materials to a version
Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for heroes not showing up in the hero inspect menu for chunking
they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
#jira WEX-3936
#jira WEX-3958
Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Changed wording of warning slightly
Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main
UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot). In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)
Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX
addition of advertising id, IOS implemented
Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - android setup for new permanent backend
- added BattleBreakers keystore
- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)
Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - hopefully last of the Android/GooglePlay cleanup
- QueryInAppPurchases never needed an array of consumables flag
- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to FinalizePurchase)
- all java functions now return the productToken as part of the callback if applicable
-- token easily accessible in java, saves Base64 decode and json calls to get in native
- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either
Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - GooglePlay purchasing refactor
- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
- reduced log verbosity and log spam
Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - small java code cleanup
Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
#rb david.nikdel
Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main
Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
#rb david.nikdel
Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main
#WEX
#JIRA: WEX-3856
- Refactored how loading screens work
- Allow Pre / Post load map to handle loading screen setup / teardown by default
- Manually show the loading screen when we perform the initial level save
- Re-enable the loading screen ensure
Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for crash when bringing up the console in chunked build
#jira WEX-3922
fix for missing assets at game start in chunked build
Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
start pushing streaming data to the appropriate deployment
Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow CloudStorage to be re-initialized with new credentials if necessary
Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
- Added a mechanism for force-disabling GPU particles.
- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.
Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
latest s3 chunk data placement
Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#Android - added features to GooglePlay IAP apis
- audited code against example code
- added some code to JNI to make IAP functions not optional if store is enabled
- added ConsumePurchase call to separate consumption until after entitlements have been granted
- added QueryExistingPurchases call to enumerate pending/permanent transactions
Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for windows build failure
first attempt at promotion code
Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for PC build of IOS
Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for too many open handles
Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX
more fixes for building chunks on the build machines
Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fixes for Remote notifications
Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX
pointing at the s3 servers
Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX
optimization for obtaining chunk data
startup screen which checks for updated data before loading the entry (not yet enabled)
Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX
#Engine: Empty string is a valid ImportText for an array (indicates an empty array)
Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX
Corrections to memory stats for Android
#jira WEX-3760
#ue4
#android
Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
#JIRA: WEX-3721
- Remove all the "WaitForLoadingScreen" calls. These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.
Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for some load hitches on mobile
Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
allow Android to specify which texture format to get
Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX
updates for chunking on the various platforms
Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
when chunking is disable, initialize the chunk installer in a paused state
Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Scheme name when project is not UE4Game
Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
more logging to track down this iOS signing failure
Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
attempt to generate the plist before trying to generate the project for stub generation for iOS
Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
revert out the extra logging for the iOS build now that I have verified it is working correctly
Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for warnings on IOS
Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX
#Engine: Fix for null pointer dereference if you have closed the animation tool window.
Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for shipping build failure
Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for Android compile failure
Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3753
- Ensure the input type of Android keyboard input textbox is set before populating the initial content.
Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
initial chunk installer submission, first pass, disabled by default
#rb none
Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX
some logging to track down why the build machine is using the wrong certificate and provision
Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Fixing broken android build temporarily
Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#WEX - Android support enabled
- some better java logging
- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)
Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - setup catalog to be GooglePlay aware
- fixed up some log output inconsistencies
Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
- wolf platform commented out (needs to be reinstated before merge to main)
Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
fix for buffer being re-used before it was out of use by GPU
#rb mark.satterthwaite
#jira WEX-3482
Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6SP_DavidN
Personal_iPhone7P_DonaldM
Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338
Adding:
Personal_iPhone6P_ZakP
Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for incorrect icons and missing splash screens
#rb none
#jira wex-3012
Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
UX_iPadMini4_UX8
UX_iPadMini4_UX7
UX_iPadAir2_UX6
UX_iPadAir2_UX5
UX_iPhone6SP_UX4
UX_iPhone6SP_UX3
UX_iPhone6S_UX2
UX_iPhone6S_UX1
Personal_iPhone5S_PaulH
Personal_iPhone6_PaulI
Personal_iPhone6_EdZ
Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Personal_iPhone6S_NickP
Personal_iPhone6SP_SteveA
Personal_iPhone6_NickC
Personal_iPhone6_GeremyM
Personal_iPhone6S_AndyK_HSL
Personal_iPhone6_LizS_HSL
Personal_iPhone7_JoshM_HSL
Personal_iPhone6_CaseyS
Personal_iPhone6S_GregL
Personal_iPhone6S_BruceK
Personal2_iPhone7P_DavidH
Personal1_iPhone7P_DavidH
Personal_iPhone6SP_SimonH
Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for profile captures not working with Metal
Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
#JIRA: WEX-3059
- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.
Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main
#WEX
#JIRA: WEX-3497, WEX-3499
- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.
Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - typo fix
Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
- fixes Android display problems
#rb josh.adams
Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
Partner_01_iPhone6SP_HardSuit
Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3320
- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.
Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN
#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file
Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Fixed naming conventions for the iPadPro device profile configs.
Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
missed one engine texture for optimization, do not merge back to engine
#rb none
Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX
reduce the engine texture sizes, do not merge this back to the main engine stream
#rb none
Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices
Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9744_iPhone7P_EpicQA
9745_iPhone7_EpicQA
Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX
removed a line that shouldn't have been in, fixes MattH save crash
#rb none
Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX
#Analytics: Better support for connection loss scenarios
- Enforce a minimum delay (2 min) after any failed submission.
- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
- Remove URL from the DroppedSubmission event per Wes
Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream
Add:
8034_iPhone7_EpicQA
Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9597_iPhone6SP_Epic
Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX
disable shadows for android devices as well
Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX
disable shadows for all IOS device profiles
enable arm64 for development and shipping
#rb none
Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main
#ROBOMERGE-AUTHOR: peter.sauerbrei
Merging
//WEX/Main/Engine/...
to //WEX/Release-03/Engine/...
Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream
Adding:
9724_iPadAir2_EpicQA
Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
bring over the rest of the code signing fixes for Xcode 8
#rb none
Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX
re-submit a built IPP with the code signing changes
Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX
Merging CL 3136158
from //UE4/Main/...
to //WEX/Main/...
UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.
Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX
Merging using WEX_Main_to_UE4_WEX_Staging
Bringing in Main from WEX-Staging
#rb none
Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main
Integrating codesign fix into WEX/Main
Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX
fix for code signing on Xcode 8 (re-made from 4.13 stream)
#rb none
Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main
#WEX
- Fix warning about architecture mismatch
Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main
#WEX
- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.
Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX
#Slate: Replace WheelScrollAmount constant with a CVAR
Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main
#WEX
#JIRA: WEX-3154, WEX-2954, WEX-2953
- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)
[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
2019-08-30 17:54:29 -04:00
private static void PackageStub ( string BinaryPath , string GameName , string ExeName )
2014-04-23 19:28:13 -04:00
{
// create the ipa
string IPAName = BinaryPath + "/" + ExeName + ".stub" ;
// delete the old one
if ( File . Exists ( IPAName ) )
{
File . Delete ( IPAName ) ;
}
// make the subdirectory if needed
string DestSubdir = Path . GetDirectoryName ( IPAName ) ;
if ( ! Directory . Exists ( DestSubdir ) )
{
Directory . CreateDirectory ( DestSubdir ) ;
}
// set up the directories
string ZipWorkingDir = String . Format ( "Payload/{0}.app/" , GameName ) ;
string ZipSourceDir = string . Format ( "{0}/Payload/{1}.app" , BinaryPath , GameName ) ;
// create the file
using ( ZipFile Zip = new ZipFile ( ) )
{
// add the entire directory
Zip . AddDirectory ( ZipSourceDir , ZipWorkingDir ) ;
// Update permissions to be UNIX-style
// Modify the file attributes of any added file to unix format
foreach ( ZipEntry E in Zip . Entries )
{
const byte FileAttributePlatform_NTFS = 0x0A ;
const byte FileAttributePlatform_UNIX = 0x03 ;
const byte FileAttributePlatform_FAT = 0x00 ;
const int UNIX_FILETYPE_NORMAL_FILE = 0x8000 ;
//const int UNIX_FILETYPE_SOCKET = 0xC000;
//const int UNIX_FILETYPE_SYMLINK = 0xA000;
//const int UNIX_FILETYPE_BLOCKSPECIAL = 0x6000;
const int UNIX_FILETYPE_DIRECTORY = 0x4000 ;
//const int UNIX_FILETYPE_CHARSPECIAL = 0x2000;
//const int UNIX_FILETYPE_FIFO = 0x1000;
const int UNIX_EXEC = 1 ;
const int UNIX_WRITE = 2 ;
const int UNIX_READ = 4 ;
int MyPermissions = UNIX_READ | UNIX_WRITE ;
int OtherPermissions = UNIX_READ ;
int PlatformEncodedBy = ( E . VersionMadeBy > > 8 ) & 0xFF ;
int LowerBits = 0 ;
// Try to preserve read-only if it was set
bool bIsDirectory = E . IsDirectory ;
// Check to see if this
bool bIsExecutable = false ;
if ( Path . GetFileNameWithoutExtension ( E . FileName ) . Equals ( GameName , StringComparison . InvariantCultureIgnoreCase ) )
{
bIsExecutable = true ;
}
if ( bIsExecutable )
{
// The executable will be encrypted in the final distribution IPA and will compress very poorly, so keeping it
// uncompressed gives a better indicator of IPA size for our distro builds
E . CompressionLevel = CompressionLevel . None ;
}
if ( ( PlatformEncodedBy = = FileAttributePlatform_NTFS ) | | ( PlatformEncodedBy = = FileAttributePlatform_FAT ) )
{
FileAttributes OldAttributes = E . Attributes ;
//LowerBits = ((int)E.Attributes) & 0xFFFF;
if ( ( OldAttributes & FileAttributes . Directory ) ! = 0 )
{
bIsDirectory = true ;
}
// Permissions
if ( ( OldAttributes & FileAttributes . ReadOnly ) ! = 0 )
{
MyPermissions & = ~ UNIX_WRITE ;
OtherPermissions & = ~ UNIX_WRITE ;
}
}
if ( bIsDirectory | | bIsExecutable )
{
MyPermissions | = UNIX_EXEC ;
OtherPermissions | = UNIX_EXEC ;
}
// Re-jigger the external file attributes to UNIX style if they're not already that way
if ( PlatformEncodedBy ! = FileAttributePlatform_UNIX )
{
int NewAttributes = bIsDirectory ? UNIX_FILETYPE_DIRECTORY : UNIX_FILETYPE_NORMAL_FILE ;
NewAttributes | = ( MyPermissions < < 6 ) ;
NewAttributes | = ( OtherPermissions < < 3 ) ;
NewAttributes | = ( OtherPermissions < < 0 ) ;
// Now modify the properties
E . AdjustExternalFileAttributes ( FileAttributePlatform_UNIX , ( NewAttributes < < 16 ) | LowerBits ) ;
}
}
// Save it out
Zip . Save ( IPAName ) ;
}
}
2020-03-09 13:20:14 -04:00
FileItem ExtractFramework ( UEBuildFramework Framework , IActionGraphBuilder Graph )
2014-04-28 19:56:45 -04:00
{
2019-08-30 17:54:29 -04:00
if ( Framework . ZipFile = = null )
2014-04-30 14:09:06 -04:00
{
2019-01-14 12:11:24 -05:00
throw new BuildException ( "Unable to extract framework '{0}' - no zip file specified" , Framework . Name ) ;
2014-04-30 14:09:06 -04:00
}
2019-01-14 12:11:24 -05:00
if ( Framework . ExtractedTokenFile = = null )
2019-07-15 15:21:28 -04:00
{
2019-01-14 12:11:24 -05:00
FileItem InputFile = FileItem . GetItemByFileReference ( Framework . ZipFile ) ;
2020-03-18 15:46:36 -04:00
Framework . ExtractedTokenFile = FileItem . GetItemByFileReference ( new FileReference ( Framework . FrameworkDirectory . FullName + ".extracted" ) ) ;
2019-01-14 12:11:24 -05:00
StringBuilder ExtractScript = new StringBuilder ( ) ;
ExtractScript . AppendLine ( "#!/bin/sh" ) ;
ExtractScript . AppendLine ( "set -e" ) ;
// ExtractScript.AppendLine("set -x"); // For debugging
2020-03-18 15:46:36 -04:00
ExtractScript . AppendLine ( String . Format ( "[ -d {0} ] && rm -rf {0}" , Utils . MakePathSafeToUseWithCommandLine ( Framework . FrameworkDirectory . FullName ) ) ) ;
ExtractScript . AppendLine ( String . Format ( "unzip -q -o {0} -d {1}" , Utils . MakePathSafeToUseWithCommandLine ( Framework . ZipFile . FullName ) , Utils . MakePathSafeToUseWithCommandLine ( Framework . FrameworkDirectory . ParentDirectory . FullName ) ) ) ; // Zip contains folder with the same name, hence ParentDirectory
2019-07-12 04:18:27 -04:00
ExtractScript . AppendLine ( String . Format ( "touch {0}" , Utils . MakePathSafeToUseWithCommandLine ( Framework . ExtractedTokenFile . AbsolutePath ) ) ) ;
2019-01-14 12:11:24 -05:00
2020-03-18 18:22:41 -04:00
FileItem ExtractScriptFileItem = Graph . CreateIntermediateTextFile ( new FileReference ( Framework . FrameworkDirectory . FullName + ".sh" ) , ExtractScript . ToString ( ) ) ;
2019-01-14 12:11:24 -05:00
2020-03-09 13:20:14 -04:00
Action UnzipAction = Graph . CreateAction ( ActionType . BuildProject ) ;
2019-01-14 12:11:24 -05:00
UnzipAction . CommandPath = new FileReference ( "/bin/sh" ) ;
2019-07-12 04:18:27 -04:00
UnzipAction . CommandArguments = Utils . MakePathSafeToUseWithCommandLine ( ExtractScriptFileItem . AbsolutePath ) ;
2019-01-14 12:11:24 -05:00
UnzipAction . WorkingDirectory = UnrealBuildTool . EngineDirectory ;
UnzipAction . PrerequisiteItems . Add ( InputFile ) ;
UnzipAction . PrerequisiteItems . Add ( ExtractScriptFileItem ) ;
UnzipAction . ProducedItems . Add ( Framework . ExtractedTokenFile ) ;
UnzipAction . DeleteItems . Add ( Framework . ExtractedTokenFile ) ;
2020-03-18 15:46:36 -04:00
UnzipAction . StatusDescription = String . Format ( "Unzipping : {0} -> {1}" , Framework . ZipFile , Framework . FrameworkDirectory ) ;
2019-01-14 12:11:24 -05:00
UnzipAction . bCanExecuteRemotely = false ;
}
return Framework . ExtractedTokenFile ;
2019-08-30 17:54:29 -04:00
}
2014-04-28 19:56:45 -04:00
2019-08-30 17:54:29 -04:00
public static DirectoryReference GenerateAssetCatalog ( FileReference ProjectFile , UnrealTargetPlatform Platform , ref bool bUserImagesExist )
{
string EngineDir = UnrealBuildTool . EngineDirectory . ToString ( ) ;
string BuildDir = ( ( ( ProjectFile ! = null ) ? ProjectFile . Directory . ToString ( ) : ( string . IsNullOrEmpty ( UnrealBuildTool . GetRemoteIniPath ( ) ) ? UnrealBuildTool . EngineDirectory . ToString ( ) : UnrealBuildTool . GetRemoteIniPath ( ) ) ) ) + "/Build/" + ( Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) ;
string IntermediateDir = ( ( ( ProjectFile ! = null ) ? ProjectFile . Directory . ToString ( ) : UnrealBuildTool . EngineDirectory . ToString ( ) ) ) + "/Intermediate/" + ( Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) ;
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
2019-08-30 17:54:29 -04:00
bUserImagesExist = false ;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
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 ResourcesDir = Path . Combine ( IntermediateDir , "Resources" ) ;
2019-08-30 17:54:29 -04:00
if ( Platform = = UnrealTargetPlatform . TVOS )
{
2018-10-22 08:32:42 -04:00
// copy the template asset catalog to the appropriate directory
string Dir = Path . Combine ( ResourcesDir , "Assets.xcassets" ) ;
if ( ! Directory . Exists ( Dir ) )
{
Directory . CreateDirectory ( Dir ) ;
}
// create the directories
foreach ( string directory in Directory . EnumerateDirectories ( Path . Combine ( EngineDir , "Build" , "TVOS" , "Resources" , "Assets.xcassets" ) , "*" , SearchOption . AllDirectories ) )
{
Dir = directory . Replace ( Path . Combine ( EngineDir , "Build" , "TVOS" ) , IntermediateDir ) ;
if ( ! Directory . Exists ( Dir ) )
{
Directory . CreateDirectory ( Dir ) ;
}
}
// copy the default files
foreach ( string file in Directory . EnumerateFiles ( Path . Combine ( EngineDir , "Build" , "TVOS" , "Resources" , "Assets.xcassets" ) , "*" , SearchOption . AllDirectories ) )
{
Dir = file . Replace ( Path . Combine ( EngineDir , "Build" , "TVOS" ) , IntermediateDir ) ;
File . Copy ( file , Dir , true ) ;
FileInfo DestFileInfo = new FileInfo ( Dir ) ;
DestFileInfo . Attributes = DestFileInfo . Attributes & ~ FileAttributes . ReadOnly ;
}
// copy the icons from the game directory if it has any
string [ ] [ ] Images = {
2019-03-15 08:12:56 -04:00
new string [ ] { "Icon_Large_Back-1280x768.png" , "App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Large_Front-1280x768.png" , "App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Large_Middle-1280x768.png" , "App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Small_Back-400x240.png" , "App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Small_Back-800x480.png" , "App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Small_Front-400x240.png" , "App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Small_Front-800x480.png" , "App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Small_Middle-400x240.png" , "App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset" } ,
new string [ ] { "Icon_Small_Middle-800x480.png" , "App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset" } ,
new string [ ] { "TopShelfWide-1920x720@2x.png" , "App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset" } ,
new string [ ] { "TopShelfWide-1920x720.png" , "App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset" } ,
new string [ ] { "TopShelf.png" , "App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset" } ,
new string [ ] { "TopShelf@2x.png" , "App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset" } ,
new string [ ] { "Launch.png" , "Launch Image.launchimage" } ,
new string [ ] { "Launch@2x.png" , "Launch Image.launchimage" } ,
2018-10-22 08:32:42 -04:00
} ;
Dir = Path . Combine ( IntermediateDir , "Resources" , "Assets.xcassets" ) ;
2016-05-19 19:35:35 -04:00
2019-04-04 07:00:38 -04:00
string BuildResourcesGraphicsDir = Path . Combine ( BuildDir , "Resources" , "Assets.xcassets" ) ;
2018-10-22 08:32:42 -04:00
for ( int Index = 0 ; Index < Images . Length ; + + Index )
{
2019-04-04 07:00:38 -04:00
string SourceDir = Path . Combine ( ( Directory . Exists ( BuildResourcesGraphicsDir ) ? ( BuildDir ) : ( Path . Combine ( EngineDir , "Build" , "TVOS" ) ) ) ,
"Resources" ,
"Assets.xcassets" ) ;
string Image = Path . Combine ( SourceDir , Images [ Index ] [ 1 ] , Images [ Index ] [ 0 ] ) ;
2018-10-22 08:32:42 -04:00
if ( File . Exists ( Image ) )
{
bUserImagesExist | = Image . StartsWith ( BuildResourcesGraphicsDir ) ;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
2018-10-22 08:32:42 -04:00
File . Copy ( Image , Path . Combine ( Dir , Images [ Index ] [ 1 ] , Images [ Index ] [ 0 ] ) , true ) ;
FileInfo DestFileInfo = new FileInfo ( Path . Combine ( Dir , Images [ Index ] [ 1 ] , Images [ Index ] [ 0 ] ) ) ;
DestFileInfo . Attributes = DestFileInfo . Attributes & ~ FileAttributes . ReadOnly ;
}
}
}
else
2019-08-30 17:54:29 -04:00
{
// copy the template asset catalog to the appropriate directory
string Dir = Path . Combine ( ResourcesDir , "Assets.xcassets" ) ;
if ( ! Directory . Exists ( Dir ) )
{
Directory . CreateDirectory ( Dir ) ;
}
// create the directories
foreach ( string directory in Directory . EnumerateDirectories ( Path . Combine ( EngineDir , "Build" , "IOS" , "Resources" , "Assets.xcassets" ) , "*" , SearchOption . AllDirectories ) )
{
Dir = directory . Replace ( Path . Combine ( EngineDir , "Build" , "IOS" ) , IntermediateDir ) ;
if ( ! Directory . Exists ( Dir ) )
{
Directory . CreateDirectory ( Dir ) ;
}
}
// copy the default files
foreach ( string file in Directory . EnumerateFiles ( Path . Combine ( EngineDir , "Build" , "IOS" , "Resources" , "Assets.xcassets" ) , "*" , SearchOption . AllDirectories ) )
{
Dir = file . Replace ( Path . Combine ( EngineDir , "Build" , "IOS" ) , IntermediateDir ) ;
File . Copy ( file , Dir , true ) ;
FileInfo DestFileInfo = new FileInfo ( Dir ) ;
DestFileInfo . Attributes = DestFileInfo . Attributes & ~ FileAttributes . ReadOnly ;
}
// copy the icons from the game directory if it has any
string [ ] [ ] Images = {
new string [ ] { "IPhoneIcon20@2x.png" , "Icon20@2x.png" , "Icon40.png" } ,
new string [ ] { "IPhoneIcon20@3x.png" , "Icon20@3x.png" , "Icon60.png" } ,
new string [ ] { "IPhoneIcon29@2x.png" , "Icon29@2x.png" , "Icon58.png" } ,
new string [ ] { "IPhoneIcon29@3x.png" , "Icon29@3x.png" , "Icon87.png" } ,
new string [ ] { "IPhoneIcon40@2x.png" , "Icon40@2x.png" , "Icon80.png" } ,
new string [ ] { "IPhoneIcon40@3x.png" , "Icon40@3x.png" , "Icon60@2x.png" , "Icon120.png" } ,
new string [ ] { "IPhoneIcon60@2x.png" , "Icon60@2x.png" , "Icon40@3x.png" , "Icon120.png" } ,
new string [ ] { "IPhoneIcon60@3x.png" , "Icon60@3x.png" , "Icon180.png" } ,
new string [ ] { "IPadIcon20.png" , "Icon20.png" } ,
new string [ ] { "IPadIcon20@2x.png" , "Icon20@2x.png" , "Icon40.png" } ,
2018-05-23 21:04:31 -04:00
new string [ ] { "IPadIcon29.png" , "Icon29.png" } ,
2019-08-30 17:54:29 -04:00
new string [ ] { "IPadIcon29@2x.png" , "Icon29@2x.png" , "Icon58.png" } ,
new string [ ] { "IPadIcon40.png" , "Icon40.png" , "Icon20@2x.png" } ,
2018-05-23 21:04:31 -04:00
new string [ ] { "IPadIcon40@2x.png" , "Icon80.png" , "Icon40@2x.png" } ,
new string [ ] { "IPadIcon76.png" , "Icon76.png" } ,
2019-08-30 17:54:29 -04:00
new string [ ] { "IPadIcon76@2x.png" , "Icon76@2x.png" , "Icon152.png" } ,
new string [ ] { "IPadIcon83.5@2x.png" , "Icon83.5@2x.png" , "Icon167.png" } ,
new string [ ] { "Icon1024.png" , "Icon1024.png" } ,
} ;
Dir = Path . Combine ( IntermediateDir , "Resources" , "Assets.xcassets" , "AppIcon.appiconset" ) ;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
2019-08-30 17:54:29 -04:00
string BuildResourcesGraphicsDir = Path . Combine ( BuildDir , "Resources" , "Graphics" ) ;
for ( int Index = 0 ; Index < Images . Length ; + + Index )
{
string Image = Path . Combine ( ( Directory . Exists ( Path . Combine ( BuildDir , "Resources" , "Graphics" ) ) ? ( BuildDir ) : ( Path . Combine ( EngineDir , "Build" , "IOS" ) ) ) , "Resources" , "Graphics" , Images [ Index ] [ 1 ] ) ;
if ( ! File . Exists ( Image ) & & Images [ Index ] . Length > 2 )
{
Image = Path . Combine ( ( Directory . Exists ( Path . Combine ( BuildDir , "Resources" , "Graphics" ) ) ? ( BuildDir ) : ( Path . Combine ( EngineDir , "Build" , "IOS" ) ) ) , "Resources" , "Graphics" , Images [ Index ] [ 2 ] ) ;
}
if ( ! File . Exists ( Image ) & & Images [ Index ] . Length > 3 )
{
Image = Path . Combine ( ( Directory . Exists ( Path . Combine ( BuildDir , "Resources" , "Graphics" ) ) ? ( BuildDir ) : ( Path . Combine ( EngineDir , "Build" , "IOS" ) ) ) , "Resources" , "Graphics" , Images [ Index ] [ 3 ] ) ;
}
if ( File . Exists ( Image ) )
{
bUserImagesExist | = Image . StartsWith ( BuildResourcesGraphicsDir ) ;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
2019-08-30 17:54:29 -04:00
File . Copy ( Image , Path . Combine ( Dir , Images [ Index ] [ 0 ] ) , true ) ;
FileInfo DestFileInfo = new FileInfo ( Path . Combine ( Dir , Images [ Index ] [ 0 ] ) ) ;
DestFileInfo . Attributes = DestFileInfo . Attributes & ~ FileAttributes . ReadOnly ;
}
}
}
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
return new DirectoryReference ( ResourcesDir ) ;
2019-08-30 17:54:29 -04:00
}
2016-05-19 19:35:35 -04:00
2020-03-09 13:20:14 -04:00
public override ICollection < FileItem > PostBuild ( FileItem Executable , LinkEnvironment BinaryLinkEnvironment , IActionGraphBuilder Graph )
2019-08-30 17:54:29 -04:00
{
2020-03-09 13:20:14 -04:00
List < FileItem > OutputFiles = new List < FileItem > ( base . PostBuild ( Executable , BinaryLinkEnvironment , Graph ) ) ;
2016-05-19 19:35:35 -04:00
2019-08-30 17:54:29 -04:00
if ( BinaryLinkEnvironment . bIsBuildingLibrary )
{
return OutputFiles ;
}
2016-05-19 19:35:35 -04:00
2019-08-30 17:54:29 -04:00
// For IOS/tvOS, generate the dSYM file if needed or requested
2019-04-09 16:16:53 -04:00
if ( Target . IOSPlatform . bGeneratedSYM )
2019-08-30 17:54:29 -04:00
{
2020-03-09 13:20:14 -04:00
List < FileItem > Files = GenerateDebugInfo ( Executable , BinaryLinkEnvironment . bAllowLTCG , Graph ) ;
2019-04-09 21:27:26 -04:00
foreach ( FileItem item in Files )
{
OutputFiles . Add ( item ) ;
}
2019-08-30 17:54:29 -04:00
if ( ProjectSettings . bGenerateCrashReportSymbols | | Target . bUseMallocProfiler )
{
2020-03-09 13:20:14 -04:00
OutputFiles . Add ( GeneratePseudoPDB ( Executable , Graph ) ) ;
2019-08-30 17:54:29 -04:00
}
}
2016-05-19 19:35:35 -04:00
2019-01-14 12:11:24 -05:00
// strip the debug info from the executable if needed. creates a dummy output file for the action graph to track that it's out of date.
if ( Target . IOSPlatform . bStripSymbols | | ( Target . Configuration = = UnrealTargetConfiguration . Shipping ) )
{
FileItem StripCompleteFile = FileItem . GetItemByFileReference ( FileReference . Combine ( BinaryLinkEnvironment . IntermediateDirectory , Executable . Location . GetFileName ( ) + ".stripped" ) ) ;
2019-03-18 18:21:25 -04:00
// If building a framework we can only strip local symbols, need to leave global in place
string StripArguments = BinaryLinkEnvironment . bIsBuildingDLL ? "-x" : "" ;
2020-03-09 13:20:14 -04:00
Action StripAction = Graph . CreateAction ( ActionType . CreateAppBundle ) ;
2019-01-14 12:11:24 -05:00
StripAction . WorkingDirectory = GetMacDevSrcRoot ( ) ;
StripAction . CommandPath = BuildHostPlatform . Current . Shell ;
2019-05-29 16:42:04 -04:00
StripAction . CommandArguments = String . Format ( "-c '\"{0}strip\" {1} \"{2}\" && touch \"{3}\"'" , Settings . Value . ToolchainDir , StripArguments , Executable . Location , StripCompleteFile ) ;
2019-01-14 12:11:24 -05:00
StripAction . PrerequisiteItems . Add ( Executable ) ;
StripAction . PrerequisiteItems . AddRange ( OutputFiles ) ;
StripAction . ProducedItems . Add ( StripCompleteFile ) ;
2019-05-29 16:42:04 -04:00
StripAction . StatusDescription = String . Format ( "Stripping symbols from {0}" , Executable . AbsolutePath ) ;
2019-01-14 12:11:24 -05:00
StripAction . bCanExecuteRemotely = false ;
OutputFiles . Add ( StripCompleteFile ) ;
}
2019-08-30 17:54:29 -04:00
if ( ! BinaryLinkEnvironment . bIsBuildingDLL & & ShouldCompileAssetCatalog ( ) )
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
{
// generate the asset catalog
bool bUserImagesExist = false ;
DirectoryReference ResourcesDir = GenerateAssetCatalog ( ProjectFile , BinaryLinkEnvironment . Platform , ref bUserImagesExist ) ;
// Get the output location for the asset catalog
2019-05-24 11:51:54 -04:00
FileItem AssetCatalogFile = FileItem . GetItemByFileReference ( GetAssetCatalogFile ( BinaryLinkEnvironment . Platform , Executable . Location ) ) ;
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
// Make the compile action
2020-03-09 13:20:14 -04:00
Action CompileAssetAction = Graph . CreateAction ( ActionType . CreateAppBundle ) ;
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
CompileAssetAction . WorkingDirectory = GetMacDevSrcRoot ( ) ;
2019-01-14 12:11:24 -05:00
CompileAssetAction . CommandPath = new FileReference ( "/usr/bin/xcrun" ) ;
2019-05-24 11:51:54 -04:00
CompileAssetAction . CommandArguments = GetAssetCatalogArgs ( BinaryLinkEnvironment . Platform , ResourcesDir . FullName , Path . GetDirectoryName ( AssetCatalogFile . AbsolutePath ) ) ;
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
CompileAssetAction . PrerequisiteItems . Add ( Executable ) ;
CompileAssetAction . ProducedItems . Add ( AssetCatalogFile ) ;
CompileAssetAction . DeleteItems . Add ( AssetCatalogFile ) ;
CompileAssetAction . StatusDescription = CompileAssetAction . CommandArguments ; // string.Format("Generating debug info for {0}", Path.GetFileName(Executable.AbsolutePath));
CompileAssetAction . bCanExecuteRemotely = false ;
// Add it to the output files so it's always built
OutputFiles . Add ( AssetCatalogFile ) ;
}
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
2019-01-14 12:11:24 -05:00
// Generate the app bundle
2019-08-30 17:54:29 -04:00
if ( ! Target . bDisableLinking )
2019-01-14 12:11:24 -05:00
{
Log . TraceInformation ( "Adding PostBuildSync action" ) ;
2019-08-30 17:54:29 -04:00
2019-01-14 12:11:24 -05:00
List < string > UPLScripts = UEDeployIOS . CollectPluginDataPaths ( BinaryLinkEnvironment . AdditionalProperties ) ;
VersionNumber SdkVersion = VersionNumber . Parse ( Settings . Value . IOSSDKVersion ) ;
Dictionary < string , DirectoryReference > FrameworkNameToSourceDir = new Dictionary < string , DirectoryReference > ( ) ;
2020-03-18 15:46:36 -04:00
FileReference StagedExecutablePath = GetStagedExecutablePath ( Executable . Location , Target . Name ) ;
DirectoryReference BundleDirectory = Target . bShouldCompileAsDLL ? Executable . Directory . Location : StagedExecutablePath . Directory ;
2019-01-14 12:11:24 -05:00
foreach ( UEBuildFramework Framework in BinaryLinkEnvironment . AdditionalFrameworks )
{
2020-03-18 15:46:36 -04:00
if ( Framework . FrameworkDirectory ! = null )
2019-01-14 12:11:24 -05:00
{
2020-03-18 15:46:36 -04:00
if ( ! String . IsNullOrEmpty ( Framework . CopyBundledAssets ) )
{
// For now, this is hard coded, but we need to loop over all modules, and copy bundled assets that need it
DirectoryReference LocalSource = DirectoryReference . Combine ( Framework . FrameworkDirectory , Framework . CopyBundledAssets ) ;
string BundleName = Framework . CopyBundledAssets . Substring ( Framework . CopyBundledAssets . LastIndexOf ( '/' ) + 1 ) ;
FrameworkNameToSourceDir [ BundleName ] = LocalSource ;
}
if ( Framework . bCopyFramework )
{
string FrameworkDir = Framework . FrameworkDirectory . FullName ;
if ( FrameworkDir . EndsWith ( ".framework" ) )
{
FrameworkDir = Path . GetDirectoryName ( FrameworkDir ) ;
}
2020-03-18 18:22:41 -04:00
OutputFiles . Add ( CopyBundleResource ( new UEBuildBundleResource ( new ModuleRules . BundleResource ( Path . Combine ( FrameworkDir , Framework . Name + ".framework" ) , "Frameworks" ) ) , Executable , BundleDirectory , Graph ) ) ;
2020-03-18 15:46:36 -04:00
}
2019-01-14 12:11:24 -05:00
}
}
2019-12-18 13:52:12 -05:00
foreach ( UEBuildBundleResource Resource in BinaryLinkEnvironment . AdditionalBundleResources )
{
2020-03-18 18:22:41 -04:00
OutputFiles . Add ( CopyBundleResource ( Resource , Executable , StagedExecutablePath . Directory , Graph ) ) ;
2019-12-18 13:52:12 -05:00
}
2019-01-14 12:11:24 -05:00
IOSPostBuildSyncTarget PostBuildSyncTarget = new IOSPostBuildSyncTarget ( Target , Executable . Location , BinaryLinkEnvironment . IntermediateDirectory , UPLScripts , SdkVersion , FrameworkNameToSourceDir ) ;
FileReference PostBuildSyncFile = FileReference . Combine ( BinaryLinkEnvironment . IntermediateDirectory , "PostBuildSync.dat" ) ;
BinaryFormatterUtils . Save ( PostBuildSyncFile , PostBuildSyncTarget ) ;
2019-08-30 17:54:29 -04:00
string PostBuildSyncArguments = String . Format ( "-Input=\"{0}\" -XmlConfigCache=\"{1}\" -remoteini=\"{2}\"" , PostBuildSyncFile , XmlConfig . CacheFile , UnrealBuildTool . GetRemoteIniPath ( ) ) ;
2019-01-14 12:11:24 -05:00
2020-03-09 13:20:14 -04:00
Action PostBuildSyncAction = Graph . CreateRecursiveAction < IOSPostBuildSyncMode > ( ActionType . CreateAppBundle , PostBuildSyncArguments ) ;
2019-01-14 12:11:24 -05:00
PostBuildSyncAction . WorkingDirectory = UnrealBuildTool . EngineSourceDirectory ;
PostBuildSyncAction . PrerequisiteItems . Add ( Executable ) ;
PostBuildSyncAction . PrerequisiteItems . AddRange ( OutputFiles ) ;
PostBuildSyncAction . ProducedItems . Add ( FileItem . GetItemByFileReference ( GetStagedExecutablePath ( Executable . Location , Target . Name ) ) ) ;
PostBuildSyncAction . DeleteItems . AddRange ( PostBuildSyncAction . ProducedItems ) ;
PostBuildSyncAction . StatusDescription = "Executing PostBuildSync" ;
PostBuildSyncAction . bCanExecuteRemotely = false ;
OutputFiles . AddRange ( PostBuildSyncAction . ProducedItems ) ;
}
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
return OutputFiles ;
2019-08-30 17:54:29 -04:00
}
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
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 bool ShouldCompileAssetCatalog ( )
{
2019-08-30 17:54:29 -04:00
return Target . Platform = = UnrealTargetPlatform . TVOS | | ( Target . Platform = = UnrealTargetPlatform . IOS & & Settings . Value . IOSSDKVersionFloat > = 11.0f ) ;
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
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
public static string GetCodesignPlatformName ( UnrealTargetPlatform Platform )
{
2019-05-24 11:51:54 -04:00
if ( Platform = = UnrealTargetPlatform . TVOS )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
{
2019-05-24 11:51:54 -04:00
return "appletvos" ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
}
2019-05-24 11:51:54 -04:00
if ( Platform = = UnrealTargetPlatform . IOS )
{
return "iphoneos" ;
}
throw new BuildException ( "Invalid platform for GetCodesignPlatformName()" ) ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
}
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
class ProcessOutput
{
/// <summary>
/// Substrings that indicate a line contains an error
/// </summary>
protected static readonly string [ ] ErrorMessageTokens =
{
"ERROR " ,
"** BUILD FAILED **" ,
"[BEROR]" ,
"IPP ERROR" ,
"System.Net.Sockets.SocketException"
} ;
/// <summary>
/// Helper function to sync source files to and from the local system and a remote Mac
/// </summary>
//This chunk looks to be required to pipe output to VS giving information on the status of a remote build.
public bool OutputReceivedDataEventHandlerEncounteredError = false ;
public string OutputReceivedDataEventHandlerEncounteredErrorMessage = "" ;
public void OutputReceivedDataEventHandler ( Object Sender , DataReceivedEventArgs Line )
{
if ( ( Line ! = null ) & & ( Line . Data ! = null ) )
{
Log . TraceInformation ( Line . Data ) ;
foreach ( string ErrorToken in ErrorMessageTokens )
{
if ( Line . Data . Contains ( ErrorToken ) )
{
OutputReceivedDataEventHandlerEncounteredError = true ;
OutputReceivedDataEventHandlerEncounteredErrorMessage + = Line . Data ;
break ;
}
}
}
}
2019-03-14 10:07:19 -04:00
public void OutputReceivedDataEventLogger ( Object Sender , DataReceivedEventArgs Line )
{
if ( ( Line ! = null ) & & ( Line . Data ! = null ) )
{
Log . TraceInformation ( Line . Data ) ;
}
}
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
}
2019-05-29 20:55:13 -04:00
private static void GenerateCrashlyticsData ( string DsymZip , string ProjectDir , string ProjectName )
2019-08-30 17:54:29 -04:00
{
Copying //UE4/WEX-Staging/... to //UE4/Main (Source: //WEX/Main @ 3580612)
#rb none
#lockdown nick.penwarden
=================================================================================================
MAJOR FEATURES + CHANGES
=================================================================================================
Change 3526838 by David.Nikdel
#WEX: make map elements support TitleProperty on their values in the editor
#JIRA: none
Change 3517937 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3498765 by David.Nikdel
#WEX: Added a way to bind a delegate that fires whenever an analytics event is queued.
- Bind this delegate and use it to log analytics events (for now)
#JIRA: none
Change 3495796 by Josh.May
#WEX
#JIRA: None
- Reworked the LoadTimes.DumpReport console command to accept command arguments and added options for alphanumeric sorting (-alphasort), tweakable asset time cutoff (lowtime=X), and file output to the Saved/Profiling directory (file).
- Added hooks for automatically generating load time reports for every map load (enabled using the DUMP_LOAD_REPORT_PER_MAP #define).
Change 3489241 by Josh.Markiewicz
#UE4 - First unfinished pass to GoogleIOS
- SDK auth token data needs to copy auth into TMap properly
#jira none
Change 3487767 by David.Nikdel
#Analytics: Make FAnalyticsEventAttribute support typed values
- This makes sure the value types in the resultant JSON reflect the code.
- Added support for Number (double), Boolean, Null, and JsonFragment types
- This should make it so we don't have to whitelist everything to be converted to number on the Grafana processing side.
- Made all attributes on FAnalyticsEventAttribute immutable
#JIRA: WEX-6696, WEX-6706
Change 3478818 by Chris.Babcock
Add detection of Houdini (running on Intel Android CPU)
#jira WEX-5009
#ue4
#android
#robomerge R1.2
Change 3475449 by Allan.Bentham
Add disable force inline option for iOS build, enabled for WEX.
#jira UEMOB-167
[CL 3588553 by Peter Sauerbrei in Main branch]
2017-08-15 16:16:21 -04:00
Log . TraceInformation ( "Generating and uploading Crashlytics Data" ) ;
2019-05-30 22:26:50 -04:00
// Clean this folder as it's used for extraction
2019-05-31 00:37:04 -04:00
string TempPath = Path . Combine ( UnrealBuildTool . EngineDirectory . FullName , "Intermediate" , "Unzipped" ) ;
if ( Directory . Exists ( TempPath ) )
{
Log . TraceInformation ( "Deleting temp path {0}" , TempPath ) ;
Directory . Delete ( TempPath , true ) ;
}
2019-05-30 22:26:50 -04:00
2019-05-30 23:53:31 -04:00
string FabricPath = UnrealBuildTool . EngineDirectory + "/Intermediate/UnzippedFrameworks/Crashlytics/Fabric.embeddedframework" ;
2018-02-22 11:25:06 -05:00
if ( Directory . Exists ( FabricPath ) & & Environment . GetEnvironmentVariable ( "IsBuildMachine" ) = = "1" )
Copying //UE4/WEX-Staging/... to //UE4/Main (Source: //WEX/Main @ 3580612)
#rb none
#lockdown nick.penwarden
=================================================================================================
MAJOR FEATURES + CHANGES
=================================================================================================
Change 3526838 by David.Nikdel
#WEX: make map elements support TitleProperty on their values in the editor
#JIRA: none
Change 3517937 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3498765 by David.Nikdel
#WEX: Added a way to bind a delegate that fires whenever an analytics event is queued.
- Bind this delegate and use it to log analytics events (for now)
#JIRA: none
Change 3495796 by Josh.May
#WEX
#JIRA: None
- Reworked the LoadTimes.DumpReport console command to accept command arguments and added options for alphanumeric sorting (-alphasort), tweakable asset time cutoff (lowtime=X), and file output to the Saved/Profiling directory (file).
- Added hooks for automatically generating load time reports for every map load (enabled using the DUMP_LOAD_REPORT_PER_MAP #define).
Change 3489241 by Josh.Markiewicz
#UE4 - First unfinished pass to GoogleIOS
- SDK auth token data needs to copy auth into TMap properly
#jira none
Change 3487767 by David.Nikdel
#Analytics: Make FAnalyticsEventAttribute support typed values
- This makes sure the value types in the resultant JSON reflect the code.
- Added support for Number (double), Boolean, Null, and JsonFragment types
- This should make it so we don't have to whitelist everything to be converted to number on the Grafana processing side.
- Made all attributes on FAnalyticsEventAttribute immutable
#JIRA: WEX-6696, WEX-6706
Change 3478818 by Chris.Babcock
Add detection of Houdini (running on Intel Android CPU)
#jira WEX-5009
#ue4
#android
#robomerge R1.2
Change 3475449 by Allan.Bentham
Add disable force inline option for iOS build, enabled for WEX.
#jira UEMOB-167
[CL 3588553 by Peter Sauerbrei in Main branch]
2017-08-15 16:16:21 -04:00
{
2020-03-16 19:04:42 -04:00
//string PlistFile = ProjectDir + "/Intermediate/IOS/" + ProjectName + "-Info.plist";
2019-08-30 17:54:29 -04:00
Process FabricProcess = new Process ( ) ;
FabricProcess . StartInfo . WorkingDirectory = Path . GetDirectoryName ( DsymZip ) ;
FabricProcess . StartInfo . FileName = "/bin/sh" ;
Copying //UE4/WEX-Staging/... to //UE4/Main (Source: //WEX/Main @ 3580612)
#rb none
#lockdown nick.penwarden
=================================================================================================
MAJOR FEATURES + CHANGES
=================================================================================================
Change 3526838 by David.Nikdel
#WEX: make map elements support TitleProperty on their values in the editor
#JIRA: none
Change 3517937 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3498765 by David.Nikdel
#WEX: Added a way to bind a delegate that fires whenever an analytics event is queued.
- Bind this delegate and use it to log analytics events (for now)
#JIRA: none
Change 3495796 by Josh.May
#WEX
#JIRA: None
- Reworked the LoadTimes.DumpReport console command to accept command arguments and added options for alphanumeric sorting (-alphasort), tweakable asset time cutoff (lowtime=X), and file output to the Saved/Profiling directory (file).
- Added hooks for automatically generating load time reports for every map load (enabled using the DUMP_LOAD_REPORT_PER_MAP #define).
Change 3489241 by Josh.Markiewicz
#UE4 - First unfinished pass to GoogleIOS
- SDK auth token data needs to copy auth into TMap properly
#jira none
Change 3487767 by David.Nikdel
#Analytics: Make FAnalyticsEventAttribute support typed values
- This makes sure the value types in the resultant JSON reflect the code.
- Added support for Number (double), Boolean, Null, and JsonFragment types
- This should make it so we don't have to whitelist everything to be converted to number on the Grafana processing side.
- Made all attributes on FAnalyticsEventAttribute immutable
#JIRA: WEX-6696, WEX-6706
Change 3478818 by Chris.Babcock
Add detection of Houdini (running on Intel Android CPU)
#jira WEX-5009
#ue4
#android
#robomerge R1.2
Change 3475449 by Allan.Bentham
Add disable force inline option for iOS build, enabled for WEX.
#jira UEMOB-167
[CL 3588553 by Peter Sauerbrei in Main branch]
2017-08-15 16:16:21 -04:00
FabricProcess . StartInfo . Arguments = string . Format ( "-c 'chmod 777 \"{0}/Fabric.framework/upload-symbols\"; \"{0}/Fabric.framework/upload-symbols\" -a 7a4cebd0324af21696e5e321802c5e26ba541cad -p ios {1}'" ,
2019-08-30 17:54:29 -04:00
FabricPath ,
2019-05-29 20:55:13 -04:00
DsymZip ) ;
Copying //UE4/WEX-Staging/... to //UE4/Main (Source: //WEX/Main @ 3580612)
#rb none
#lockdown nick.penwarden
=================================================================================================
MAJOR FEATURES + CHANGES
=================================================================================================
Change 3526838 by David.Nikdel
#WEX: make map elements support TitleProperty on their values in the editor
#JIRA: none
Change 3517937 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3498765 by David.Nikdel
#WEX: Added a way to bind a delegate that fires whenever an analytics event is queued.
- Bind this delegate and use it to log analytics events (for now)
#JIRA: none
Change 3495796 by Josh.May
#WEX
#JIRA: None
- Reworked the LoadTimes.DumpReport console command to accept command arguments and added options for alphanumeric sorting (-alphasort), tweakable asset time cutoff (lowtime=X), and file output to the Saved/Profiling directory (file).
- Added hooks for automatically generating load time reports for every map load (enabled using the DUMP_LOAD_REPORT_PER_MAP #define).
Change 3489241 by Josh.Markiewicz
#UE4 - First unfinished pass to GoogleIOS
- SDK auth token data needs to copy auth into TMap properly
#jira none
Change 3487767 by David.Nikdel
#Analytics: Make FAnalyticsEventAttribute support typed values
- This makes sure the value types in the resultant JSON reflect the code.
- Added support for Number (double), Boolean, Null, and JsonFragment types
- This should make it so we don't have to whitelist everything to be converted to number on the Grafana processing side.
- Made all attributes on FAnalyticsEventAttribute immutable
#JIRA: WEX-6696, WEX-6706
Change 3478818 by Chris.Babcock
Add detection of Houdini (running on Intel Android CPU)
#jira WEX-5009
#ue4
#android
#robomerge R1.2
Change 3475449 by Allan.Bentham
Add disable force inline option for iOS build, enabled for WEX.
#jira UEMOB-167
[CL 3588553 by Peter Sauerbrei in Main branch]
2017-08-15 16:16:21 -04:00
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
ProcessOutput Output = new ProcessOutput ( ) ;
2019-08-30 17:54:29 -04:00
FabricProcess . OutputDataReceived + = new DataReceivedEventHandler ( Output . OutputReceivedDataEventHandler ) ;
FabricProcess . ErrorDataReceived + = new DataReceivedEventHandler ( Output . OutputReceivedDataEventHandler ) ;
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
2019-08-30 17:54:29 -04:00
Utils . RunLocalProcess ( FabricProcess ) ;
if ( Output . OutputReceivedDataEventHandlerEncounteredError )
{
throw new Exception ( Output . OutputReceivedDataEventHandlerEncounteredErrorMessage ) ;
}
}
}
Copying //UE4/WEX-Staging/... to //UE4/Main (Source: //WEX/Main @ 3580612)
#rb none
#lockdown nick.penwarden
=================================================================================================
MAJOR FEATURES + CHANGES
=================================================================================================
Change 3526838 by David.Nikdel
#WEX: make map elements support TitleProperty on their values in the editor
#JIRA: none
Change 3517937 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3498765 by David.Nikdel
#WEX: Added a way to bind a delegate that fires whenever an analytics event is queued.
- Bind this delegate and use it to log analytics events (for now)
#JIRA: none
Change 3495796 by Josh.May
#WEX
#JIRA: None
- Reworked the LoadTimes.DumpReport console command to accept command arguments and added options for alphanumeric sorting (-alphasort), tweakable asset time cutoff (lowtime=X), and file output to the Saved/Profiling directory (file).
- Added hooks for automatically generating load time reports for every map load (enabled using the DUMP_LOAD_REPORT_PER_MAP #define).
Change 3489241 by Josh.Markiewicz
#UE4 - First unfinished pass to GoogleIOS
- SDK auth token data needs to copy auth into TMap properly
#jira none
Change 3487767 by David.Nikdel
#Analytics: Make FAnalyticsEventAttribute support typed values
- This makes sure the value types in the resultant JSON reflect the code.
- Added support for Number (double), Boolean, Null, and JsonFragment types
- This should make it so we don't have to whitelist everything to be converted to number on the Grafana processing side.
- Made all attributes on FAnalyticsEventAttribute immutable
#JIRA: WEX-6696, WEX-6706
Change 3478818 by Chris.Babcock
Add detection of Houdini (running on Intel Android CPU)
#jira WEX-5009
#ue4
#android
#robomerge R1.2
Change 3475449 by Allan.Bentham
Add disable force inline option for iOS build, enabled for WEX.
#jira UEMOB-167
[CL 3588553 by Peter Sauerbrei in Main branch]
2017-08-15 16:16:21 -04:00
2019-01-14 12:11:24 -05:00
internal static bool GenerateProjectFiles ( FileReference ProjectFile , string [ ] Arguments )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
{
2019-01-14 12:11:24 -05:00
ProjectFileGenerator . bGenerateProjectFiles = true ;
try
2018-02-22 11:25:06 -05:00
{
2019-01-14 12:11:24 -05:00
CommandLineArguments CmdLine = new CommandLineArguments ( Arguments ) ;
PlatformProjectGeneratorCollection PlatformProjectGenerators = new PlatformProjectGeneratorCollection ( ) ;
PlatformProjectGenerators . RegisterPlatformProjectGenerator ( UnrealTargetPlatform . IOS , new IOSProjectGenerator ( CmdLine ) ) ;
PlatformProjectGenerators . RegisterPlatformProjectGenerator ( UnrealTargetPlatform . TVOS , new TVOSProjectGenerator ( CmdLine ) ) ;
2019-03-13 11:41:55 -04:00
XcodeProjectFileGenerator Generator = new XcodeProjectFileGenerator ( ProjectFile , CmdLine ) ;
2019-01-14 12:11:24 -05:00
return Generator . GenerateProjectFiles ( PlatformProjectGenerators , Arguments ) ;
2018-02-22 11:25:06 -05:00
}
2019-01-14 12:11:24 -05:00
finally
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
{
2019-01-14 12:11:24 -05:00
ProjectFileGenerator . bGenerateProjectFiles = false ;
}
2019-08-30 17:54:29 -04:00
}
2018-02-22 11:25:06 -05:00
2019-01-14 12:11:24 -05:00
public static FileReference GetStagedExecutablePath ( FileReference Executable , string TargetName )
{
return FileReference . Combine ( Executable . Directory , "Payload" , TargetName + ".app" , TargetName ) ;
}
2019-03-21 05:11:46 -04:00
private static void WriteEntitlements ( IOSPostBuildSyncTarget Target )
{
string AppName = Target . TargetName ;
FileReference MobileProvisionFile ;
IOSProjectSettings ProjectSettings = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( Target . Platform ) ) . ReadProjectSettings ( Target . ProjectFile ) ;
if ( Target . ImportProvision = = null )
{
IOSProvisioningData ProvisioningData = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( Target . Platform ) ) . ReadProvisioningData ( ProjectSettings , Target . bForDistribution ) ;
MobileProvisionFile = ProvisioningData . MobileProvisionFile ;
}
else
{
MobileProvisionFile = new FileReference ( Target . ImportProvision ) ;
}
string IntermediateDir = ( ( ( Target . ProjectFile ! = null ) ? Target . ProjectFile . Directory . ToString ( ) :
UnrealBuildTool . EngineDirectory . ToString ( ) ) ) + "/Intermediate/" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) ;
2019-03-15 13:23:55 -04:00
// get the settings from the ini file
2019-04-04 07:18:29 -04:00
ConfigHierarchy Ini = ConfigCache . ReadHierarchy ( ConfigHierarchyType . Engine , DirectoryReference . FromFile ( Target . ProjectFile ) , UnrealTargetPlatform . IOS ) ;
2019-04-09 12:08:44 -04:00
IOSExports . WriteEntitlements ( Target . Platform , Ini , AppName , MobileProvisionFile , Target . bForDistribution , IntermediateDir ) ;
2019-03-15 13:23:55 -04:00
}
2019-08-30 17:54:29 -04:00
private static void WriteMissingEmbeddedPlist ( FileReference MissingPlistPath , DirectoryReference ProjectDirectory , FileReference ProjectFile )
{
FileReference PlistTemplatePath = FileReference . Combine ( UnrealBuildTool . EngineDirectory , "Build" , "IOS" , "Resources" , "FrameworkPlist" , "Embedded.plist" ) ;
if ( ! DirectoryReference . Exists ( MissingPlistPath . Directory ) )
{
DirectoryReference . CreateDirectory ( MissingPlistPath . Directory ) ;
}
string BundleID = ProjectFiles . Xcode . XcodeFrameworkWrapperUtils . GetBundleID ( ProjectDirectory , ProjectFile ) ;
string BundleName = ProjectFiles . Xcode . XcodeFrameworkWrapperUtils . GetBundleName ( ProjectDirectory , ProjectFile ) ;
BundleID + = ".embedded" ; // This is necessary because the wrapper that contains this framework cannot have the same BundleID.
string Plist = FileReference . ReadAllText ( PlistTemplatePath ) ;
Plist = Plist . Replace ( "BUNDLE_NAME" , BundleName ) ;
Plist = Plist . Replace ( "BUNDLE_ID" , BundleID ) ;
FileReference . WriteAllText ( MissingPlistPath , Plist ) ;
}
/// <summary>
/// If the project is a UE4Game project, Target.ProjectDirectory refers to the engine dir, not the actual dir of the project. So this method gets the
/// actual directory of the project whether it is a UE4Game project or not.
/// </summary>
/// <returns>The actual project directory.</returns>
/// <param name="ProjectFile">The path to the project file</param>
private static DirectoryReference GetActualProjectDirectory ( FileReference ProjectFile )
{
DirectoryReference ProjectDirectory = ( ProjectFile = = null ? DirectoryReference . FromString ( UnrealBuildTool . GetRemoteIniPath ( ) ) : DirectoryReference . FromFile ( ProjectFile ) ) ;
return ProjectDirectory ;
}
private static void GenerateFrameworkWrapperIfNonexistent ( IOSPostBuildSyncTarget Target )
{
DirectoryReference ProjectDirectory = GetActualProjectDirectory ( Target . ProjectFile ) ;
DirectoryReference WrapperDirectory = DirectoryReference . Combine ( ProjectDirectory , "Wrapper" ) ;
string ProjectName = ProjectDirectory . GetDirectoryName ( ) ;
string FrameworkName = Target . TargetName ;
string BundleId = ProjectFiles . Xcode . XcodeFrameworkWrapperUtils . GetBundleID ( Target . ProjectDirectory , Target . ProjectFile ) ;
string EnginePath = UnrealBuildTool . EngineDirectory . ToString ( ) ;
string SrcFrameworkPath = DirectoryReference . Combine ( Target . ProjectDirectory , "Binaries" , "IOS" , Target . Configuration . ToString ( ) ) . ToString ( ) ; // We use Target.ProjectDirectory because if it is a UE4Game we want the engine dir and not the actual project dir.
string CookedDataPath = DirectoryReference . Combine ( ProjectDirectory , "Saved" , "StagedBuilds" , "IOS" , "cookeddata" ) . ToString ( ) ;
bool GenerateFrameworkWrapperProject = ProjectFiles . Xcode . XcodeFrameworkWrapperUtils . GetGenerateFrameworkWrapperProject ( Target . ProjectDirectory ) ;
string ProvisionName = string . Empty ;
string TeamUUID = string . Empty ;
IOSProjectSettings ProjectSettings = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( UnrealTargetPlatform . IOS ) ) . ReadProjectSettings ( Target . ProjectFile ) ;
IOSProvisioningData Data = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( UnrealTargetPlatform . IOS ) ) . ReadProvisioningData ( ProjectSettings , Target . bForDistribution ) ;
if ( Data ! = null )
{
ProvisionName = Data . MobileProvisionName ;
TeamUUID = Data . TeamUUID ;
}
// Create the framework wrapper project, only if it doesn't exist and only if the user wants to generate the wrapper.
if ( ! DirectoryReference . Exists ( DirectoryReference . Combine ( WrapperDirectory , FrameworkName ) ) & & GenerateFrameworkWrapperProject )
{
ProjectFiles . Xcode . XcodeFrameworkWrapperProject . GenerateXcodeFrameworkWrapper ( WrapperDirectory . ToString ( ) , ProjectName , FrameworkName , BundleId , SrcFrameworkPath , EnginePath , CookedDataPath , ProvisionName , TeamUUID ) ;
}
}
public static void PostBuildSync ( IOSPostBuildSyncTarget Target )
{
ConfigHierarchy Ini = ConfigCache . ReadHierarchy ( ConfigHierarchyType . Engine , GetActualProjectDirectory ( Target . ProjectFile ) , UnrealTargetPlatform . IOS ) ;
2019-03-28 12:09:05 -04:00
string BundleID ;
Ini . GetString ( "/Script/IOSRuntimeSettings.IOSRuntimeSettings" , "BundleIdentifier" , out BundleID ) ;
2019-04-03 11:54:52 -04:00
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3873914)
============================
MAJOR FEATURES & CHANGES
============================
Change 3873906 by Dan.Oconnor
Revised fix for preventing delegate functions from appearing in context menu when using the compilation manager - needed to run after CallDelegateHandler changed statement type
#jira UE-51726
Change 3873614 by Dan.Oconnor
Prevent delegate functions from appearing in context menu when using the compilation manager and prevent crash if such a function is somehow compiled
#jira UE-51726
Change 3873428 by Ben.Zeigler
#jira UE-54753 Fix class pin on SpawnActorFromClass to correctly support browse. It was inherting from the wrong pin widget
Copy of 3873408
Change 3873083 by Ethan.Geller
[4.19]#jira UE-54865 fix seconds -> milliseconds conversion issue. #rb aaron.mcleran #lockdown cristina.riveron
Change 3872714 by Dan.Oconnor
Further revise fix for UE-53840, mistakenly reverted to old behavior when compiling synchronously
#jira UE-53840
Change 3872648 by Ben.Zeigler
#jira UE-54845 Fix crash in NextDebugTarget when there are no valid debug targets
Copy of CL #3872636
Change 3872500 by Arne.Schober
Back out changelist 3870283
#jira UE-54838
Change 3872412 by Mark.Satterthwaite
Remove now unnecessary r.Metal.ManualVertexFetch from the device profiles.
#jira UE-54853
Change 3872313 by Martin.Wilson
Add UI to Live Link Client to warn live link users about background performance throttling
#jira none
Change 3872272 by Martin.Wilson
Fix crash when clearing a skeletal mesh on a skeletal mesh component with an active Post Process Anim Instance
#jira none
Change 3872238 by Mark.Satterthwaite
Duplicate CL #3871025
Make Manual Vertex Fetch a property of the shader platform for Metal - only the desktop platforms (METAL SM5/SM5_NoTess/MRT) will use manual vertex fetch. The mobile platforms use vertex descriptors. Prevents problems with cooked versions of games not working properly on Metal due to a mismatch between the runtime's Manual-Vertex-Fetch state versus the state used by the cooker when compiling shaders.
#jira UE-54843
Change 3872087 by Yasiman.Ahsani
Adding Python, libdisasm, musl, and LSS licenses.
#JIRA n/a - adding licenses for new TPS
Change 3872037 by Ben.Marsh
BuildGraph: Add a task for compiling MSBuild projects.
#jira
Change 3871934 by Lina.Halper
#jira: UE-54703
Change 3871595 by Michael.Trepka
Fixed a problem with Mac editor not exiting with error code returned from GuardedMain function
#jira UE-54830
Change 3870829 by Joe.Barnes
Fix unintentional change to PhysX libs used in Debug builds.
#jira ue-54817
Change 3870820 by Nick.Atamas
Copying //Tasks/UE4/Dev-VR-4.19a@3870772 to Release-4.19 (//UE4/Release-4.19)
#jira UE-54816
Change 3870755 by Chance.Ivey
Min Android version set - should fix camera permissions issue found in #JIRA UE-54024 #rb none #fyi nick.atamas
Change 3870547 by Krzysztof.Narkowicz
Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.
#jira UE-53640
Change 3870546 by Krzysztof.Narkowicz
Fixed tesselation shader tex/uniform initialization in OpenGL3/4 path
#jira UE-54471
Change 3870284 by Ben.Zeigler
#jira UE-54583 Fix issue where loading multiple already loaded assets via Async Load Asset node could return the wrong asset on the loaded pin. The assign variable node was happening at a slightly wrong time
Copy of CL #3870279
Change 3870283 by Arne.Schober
SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
#jira none
Change 3870098 by Ben.Marsh
Fix OptimizeCode = CodeOptimization.Always causing compile errors in Linux debug builds. bUseInlining was not set correctly on the global compile environment used to build shared PCHs. Also fixed other settings not being propogated down from the target correctly.
#jira UE-53855
Change 3870013 by Ben.Marsh
UBT: Add an error if a user attempts to clean a target through hot-reload, rather than just failing to delete DLLs because they are locked.
#jira UE-54179
Change 3870010 by Ben.Marsh
UBT: Add an option to format output messages in a form that can be parsed by MSBuild. Prevents errors showing as "EXEC: Error:", and displays them correctly in the error list window.
#jira
Change 3869814 by Ben.Marsh
UBT: Unify command line arguments to use -Name=Value syntax. -Module <Name>, -ModuleWithSuffix <Name> <Suffix>, -Plugin <Path> and -Receipt <Path> are no longer supported.
Also remove the RemoteRoot option, which was not used anywhere.
#jira
Change 3869786 by Martin.Wilson
Fix Live Link Remove Source button not working
#Jira UE-54652
Change 3869660 by Martin.Wilson
Fix missing message bus sources in the live link client (not repolling for new sources)
#Jira UE-54712
Change 3869659 by Guillaume.Abadie
Fixes SimpleComposure's BP_AdvancedCompositing keep allocating memory every frame.
Credits for fixing the issue to Ron Radeztsk.
#jira UE-54780
Change 3869401 by Lauren.Ridge
Adding to the conditional in FindAllAncestorNamedSlotHostWidgetsForContent
#jira UE-51470
Change 3869384 by Brandon.Schaefer
Open the project in the explorer when NullSourceCodeAccess is done creating the project
#jira UE-54630
Change 3869308 by Ben.Marsh
PR #4452: Fixed FindFilesRecursively in IPlatformFilePak (Contributed by user37337)
#jira UE-54568
Change 3869265 by Martin.Wilson
Fix crash and subsequently found issues with unloading/reloading Maya Live Link plugin
-Crash on reload due to core code getting reinitialize, made this a one time only thing (as Maya never gets rid of the module from memory)
-Added manual ticking of FTicker, allows message bus objects to be cleaned up properly (cannot do this as part of normal flow as it is in engine code which we dont have)
-rebuild binaries for Engine/Extras
#Jira UE-54643
Change 3869206 by Benn.Gallagher
Fixed crash updating clothing paint mode after tab spawners have been destroyed by the hosting application.
#jira UE-54116
Change 3869064 by Benn.Gallagher
Resolved skeletal mesh data changes and clothing section disable changes after collision. Re-added ability to disable sections at the mesh level and removed the ability to strip editor sections as these are required for a number of other features to correctly function.
#jira UE-52557
Change 3869062 by Guillaume.Abadie
Fixes "dynamic resolution is not supported on this platform" warning message being always visible.
#jira UE-54655
Change 3868202 by Lauren.Ridge
Fix for assert on expanding vector param in layered material
#jira UE-54737
Change 3868161 by zak.parrish
Replacing FaceARDebugUI with a blank UI until a new one can be created, due to a crash bug. #rb none #JIRA UE-54639
Change 3867750 by Ethan.Geller
[4.19] #jira UE-54725 Fix for Envelope attack and release values not being properly set on Synth Components #rb aaron.mcleran #lockdown cristina.riveron
Change 3867657 by Lauren.Ridge
Adding if with editor wrapper to new function
#jira cis fix
Change 3867646 by Aaron.McLeran
#jira UE-53867 Access violation on Switch when playing sound with specified time out of range
Change 3867340 by Lauren.Ridge
Fixes to Material Layers from 4.19 preview feedback
-Need to pass through base attributes better/have better default nodes in layer (optional Example Layers and Blends checkbox now enables this in Experimental Settings)
-Parent in function should be editable
-Enforce only two layers in a blend
-Mat layer should warn if it has incorrect output in the layer itself
-Enforce not being able to delete outputs
-Warn about creating a MAL node inside a function
#jira UETOOL-1312
Change 3867317 by Aaron.McLeran
#jira UE-53867 Access violation on Switch when playing sound with specified time out of range
Change 3867000 by Lauren.Ridge
Fix for folder favorites possibly becoming very large
#jira UE-54704
Change 3866892 by Martin.Wilson
Fix crash if clicking ok on message bus add source without having a source selected
#jira UE-54572
Change 3866391 by Matt.Kuhlenschmidt
Fix static analysis
#jira UE-53379
Change 3866241 by Ryan.Vance
#jira UE-54681
Fixed missing Vulkan texture GetNativeResource implementation that was lost in a bad merge.
Change 3866071 by Nick.Shin
UDN 412414
update HTMl5 readme file
#jira none
Change 3866005 by Max.Preussner
Messaging: Preventing dangling references when removing message subscribers
#jira UE-54680
Change 3865988 by Simon.Tourangeau
Fix static analysis warnings
#jira none
Change 3865895 by zachary.wilson
Renaming QA-PhysicalLightUnits to TM-PhysicalLightUnits in QAGame.
#JIRA UE-29618
Change 3865469 by Simon.Tourangeau
Support for DX11 quad buffer stereo rendering
#jira UEENT-704
Change 3865461 by Chris.Babcock
Add a wait for audio thread to pause audio on going to background
#jira UE-54301
#ue4
#android
Change 3865350 by Matt.Kuhlenschmidt
Fix issue where cascade emitter UI would disapper
#jira UE-53379
Change 3865336 by Arne.Schober
REL - Fix UE-52356 Bone Weight
#jira UE-52356
Change 3865257 by Ben.Marsh
Fix editor failing to load content-only projects when compiled in DebugGame.
#jira UE-54661
Change 3865238 by Simon.Tovey
Pulling Olaf's fix from 3832595 over to release
#tests EngineTests boots in vulkan
#JIRA UE-54394
Change 3865191 by Sorin.Gradinaru
UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format
#jira UE-54317
#Android
#4.19
From //Dev-Mobile/3863322
Change 3865190 by Sorin.Gradinaru
UE-54175 Selecting For Distribution no longer sets configuration to Shipping
#UE4
#4.19
#jira UE-54175
From //Dev-Mobile/3863371
"For Distribution" enable-> reset "Build COnfiguration" to Shipping and force serialization to DefaultGame.ini (see UE-52845)
Change 3865056 by Jamie.Dale
Fixed culture being incorrect when added via the Localization Dashboard
#jira none
Change 3864826 by Max.Preussner
WmfMedia: Added missing scope lock
#jira UE-54365
Change 3864055 by Aaron.McLeran
#jira UE-54213
Crash fix for GC'd plugin settings objects. Adding to AddReferencedObjects.
Change 3863775 by Andrew.Porter
MediaFrameworkTest: Removing Platform Media Source TVOS test content
#jira UE-29618
Change 3863714 by Dan.Oconnor
Make array, set, and map nodes no longer switch object type when a pin is disconnected. Also, you can no longer attach unrelated map types to the MakeMap node if only the value pin has been inferred
#jira UE-54634
Change 3863696 by Max.Chen
Sequencer: Fix crash open a new sequence while another is still active.
#jira UE-54620
#jira UE-54624
Change 3863638 by Dan.Oconnor
Make sure all blueprints that are skeleton compiled get a BroadcastChanged notification, also run BroadcastChanged after reinstancing, matching pre compilation manager behavior
#jira UE-54193
Change 3863494 by Jamie.Dale
Ensure Py_SetPythonHome is set correctly before the embedded Python interpreter is initialized
#jira UE-54345
Change 3863433 by Max.Preussner
MediaPlayerEditor: Removed tvOS from list of available platforms in Platform Media Source assets
tvOS currently reports itself as iOS, so it cannot have its own setting.
#jira UE-54559
Change 3863406 by Lauren.Ridge
Fix for a crash when filtering a dropdown with no set value
#jira UE-54631
Change 3863238 by Michael.Kirzinger
#jira UE-52730: Fix mac voip crash
Change 3862586 by Marc.Audy
Clean up rendering thread heartbeat checks that got mangled in various integrations
#jira
Change 3862247 by Guillaume.Abadie
Fixes editor lines that were using a simple element blending mode that was generating an incorrect alpha channel.
#jira UE-53830
Change 3862120 by Guillaume.Abadie
Fixes USceneCaptureComponent::HiddenActors always staying gray out in world editor.
#jira UE-51458
Change 3861363 by Jamie.Dale
Static analysis fixes
#jira none
Change 3861150 by Matt.Kuhlenschmidt
Fix static mesh editor displaying 0 for all stats on LODs > 0
#jira UE-53776
Change 3860990 by Dan.Oconnor
Clear subobjects not recreated on load, e.g. because we're running with -game and the subobject was created using CreateEditorOnlySubobject
#jira UE-54551
Change 3860972 by Nick.Shin
HTML5 - detect "SyntaxError: " and do a forced reload
- an actual syntax error would be caught during compile time
- this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page
#jira UE-54017 QAGame fails to launch properly on HTML5 Firefox 64 bit
Change 3860951 by Arne.Schober
Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.
#jira UE-54587
Change 3860950 by tim.gautier
QAGame: Updating ML_Stone to include Texture Coordinate and Panner functions
#jira UE-29618
Change 3860833 by Michael.Dupuis
#jira UE-54181: Repopulate the foliage list when existing simulate mode
Let the GC know that internal struct hold UObject ptr
Change 3860762 by Jamie.Dale
Ensure we invoke the correct version of Python from UBT
#jira UE-54345
Change 3860676 by Simon.Tourangeau
Remove DirectoryWatcher warning in output log
#jira UEENT-846
Change 3860598 by Lauren.Ridge
Fix for crash on opening new material instance
#jira UE-54589
Change 3860338 by Michael.Lentine
Integrate changes for fixing MorphTargets.
#jira 54398
Change 3860215 by Ben.Marsh
UAT: Fix exception consturcting target rules assembly inside UAT, now that there's an abstract TargetRules class.
#jira UE-54578
Change 3860186 by Matt.Kuhlenschmidt
Fix crash top 10 with the font editor shutting down and then a dpi event occuring
#jira UE-54543
Change 3859854 by Graeme.Thornton
PR #4124: VSCode: Changed VisualStudioCodeSourceCodeAccessor to work with non-default VSCode install paths on Linux (Contributed by christopherreed)
#jira UE-51289
Change 3859848 by Graeme.Thornton
Fix crypto.cs reading the wrong ini setting names for uasset encryption settings
#jira UE-54566
Change 3859684 by Ben.Marsh
PR #4436: Fix compile error when building BlankProgram because incorrect directory path (Contributed by windkey)
#jira UE-54392
Change 3859657 by Ben.Marsh
Fix FTransform being passed by value, causing alignment error when compiling for Win32.
#jira
Change 3859312 by nick.bullard
Updating AEOverviewMan to remove reference to sub-level AEOverviewSWP which was deleted in 3859278
Still need to update menu to remove selection
#jira UE-50784
Change 3859278 by Nick.Bullard
Deleteing AEOverviewSWP.umap per request of Developer. Also updated TM-AnimPhys which refereneced this map as well.
"This test map is a custom C++ implementation of a "procedural sound wave". This code is super janky and not worth fixing up. I'm sure there's a legit thread safety problem in there but the code is in QAGame only.
We've since implemented "synth components" which do what this test does in a much safer/better way and maintaining/testing this old thing is *not* worth the time."
#jira UE-50784
Change 3859124 by Dan.Oconnor
Fix long standing crash when duplicating a blueprint that is missing its parent class. Entries in CrashReport go back to 4.16
#jira UE-54468
Change 3859086 by Ryan.Vance
#jira UE-54470
We need to set the viewport in both cases.
Change 3859006 by Dan.Oconnor
Revise fix for archetype lookup when reinstancing. During compilation we do not want to force use of the up to date class
#jira UE-54541
Change 3858990 by mason.seay
Cleaned up blueprints to remove compile errors
#jira UE-29618
Change 3858945 by Aaron.McLeran
#jira UE-54265
PR #4428: Fixing Envelope Bug in AudioMixer (Contributed by Chrispykins)
Change 3858719 by Aaron.McLeran
#jira UE-54552 Fix for sample buffer reader
Change 3858647 by Ethan.Geller
PR #4439: Removes ambiX -> FuMa conversion (Contributed by mgorzel)
#jira UE-54407
Change 3858364 by Michael.Dupuis
#jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances.
Change 3858268 by Dan.Oconnor
Prevent postload logic running on REINST and SKEL classes
#jira UE-54531
Change 3858205 by Mitchell.Wilson
Removed particle looping from some emitters to resolve anim notify warnings.
#jira UE-53823
Change 3858148 by Lauren.Ridge
Changes based on Material Layer Feedback from previews
- (Temporary) Disabled being able to create a layer or blend in the asset dropdown
- Sections of the stack that have been disabled now inactivate that part of the UI
- Create Function Instance now indicates if you are making a layer or a blend
- Parent dropdown has been removed from layers and blends. Where relevant, a filter button has been added instead.
#jira UETOOL-1328
Change 3857933 by Michael.Dupuis
#jira UE-45854: Properly unregister callback when replacing foliage type with another one
Change 3857898 by Michael.Dupuis
#jira UE-54396: Remove the Ensure as it could be possible that the Landscape Info is invalid during an undo operation
Change 3857878 by Max.Chen
Sequencer: Assign the sequence id after the template is compiled.
Copy from Dev-Sequencer
#jira UE-54462
Change 3857808 by Michael.Dupuis
#jira UE-54421: Prevent edition during Simulate when clicking on actor
Change 3857786 by Rolando.Caloca
UE4.19 - Fix recompute tangents and skin cache for OpenGL
#jira UE-42108
PR #3271
Change 3857549 by Lina.Halper
another jittering issue due to revision number change
clear the motion vector after compile
#jira: UE-53930
Change 3857439 by Lina.Halper
Clear motion vector when end of sequencer when in editor world
#jira:UE-54057
Change 3857384 by Graeme.Thornton
Restore fix for visual studio source code accessor not correctly determining that a content project has no solution and opening a fresh instance of visual studio
#jira UE-50020
Change 3856596 by Chris.Babcock
Fix ResonanceAudioApi Android library architecture filtering
#jira UE-54478
#ue4
#android
Change 3856449 by Michael.Dupuis
#jira UE-35097: Various cosmetic changes that were done in phase 2 that help improve clarity of the design.
Change 3856415 by Dan.Oconnor
Fix regression when loading instances that have had their class deleted. Issue detected by static analysis
#jira UE-54467
Change 3856332 by Ben.Marsh
Resaving TP_HandheldARBP assets to fix version again.
#jira
Change 3856319 by Ben.Marsh
Back out changelist 3855588
Causes build failure in UFE because it introduces a dependency on the Engine module. UFE compiles with WITH_ENGINE = 0.
#jira UE-54472
Change 3856292 by Ben.Marsh
Fix app-local dependencies not being included in binary builds, and only working for code projects in source builds.
#jira UE-54448
Change 3856190 by Martin.Wilson
Fix bone access mismatch between raw mesh bones and final bones (that include virtual bones too)
#jira UE-54266
Change 3856169 by Ben.Marsh
Tag XGEControlWorker.exe as a build product, so it's included in the binary distro.
#jira UE-54283
Change 3856123 by Chris.Babcock
Fix missing ARCore file
#jira UE-54453
#ue4
#android
Change 3856005 by Richard.Wallis
Clone of Dev-Rendering CL 3855993 - turn off FShaderCache.
#jira UE-52928
Change 3855961 by Jian.Ru
Copy 3855047 - fix DFAO Nan problem
#jira UE-54403
Change 3855811 by Martin.Wilson
Add build process for Maya Live Link plugin (standalone, manually triggered) + add built binaries to Engine/Extras (Maya 2016, Maya 2017, Maya 2018)
#jira none
Change 3855758 by Cosmin.Sulea
UE-53569 - tvOS does not package or launch-on
#jira UE-53569
Change 3855727 by Ben.Marsh
Resaving assets with a versioned build in the editor, to fix warnings building DDC.
#jira
Change 3855626 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-50979 (MP4 doesn't resume playback when iOS 11 device wakes from sleep)
#jira UE-50979
Change 3855588 by Graeme.Thornton
Fix visual studio solution path being incorrect for content projects
#jira UE-50020
Change 3855283 by Ben.Marsh
Fix race condition where stdout/stderr write handles could be inherited by multiple processes, resulting in them not being closed (and the process exit being detected) until all processes that inherited them had been closed. Improves performance of ParallelExecutor.
#jira
Change 3855009 by Chance.Ivey
Resaving with version number. #JIRA-54330 #rb none
Change 3854943 by Dan.Oconnor
Fix archetype lookup when searching hierarchy that has been partially reinstanced
#jira UE-53840
Change 3854882 by Ryan.Vance
#jira UE-54438
Removing vr related references to screen percentage.
Removing previously removed gvr screen percentage code that came back in an integration from google.
Change 3854806 by Mike.Beach
Mirroring part of CL 3802176 to fix a crash that can occur when users try to use the default 'DisplayModel' on MotionController components. Also provided users a better error message to explain why a model might not be showing up.
#jira UE-54214
Change 3854680 by Chance.Ivey
Saving assets with version number#JIRA UE-54330 #rb none
Change 3854652 by Uriel.Doyon
Added a tooltip to the EV100 slider in the exposure menu.
Using game settings now disables the slider.
#jira UE-53945
Change 3854605 by Dan.Oconnor
Make sure we don't create objects outered to a placeholder object, also make sure that archetypes that are reinstanced on load are relinked in to the linker table so that they are postload'd (and the old instance isn't)
#jira UE-53954
Change 3854274 by Brandon.Schaefer
Changes in CL 3842286 changed the function glslang::GlslangToSpv and requires a rebuild on Linux
#jira UE-54302
#codeview Arciel.Rekman
Change 3854255 by Phillip.Kavan
Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties.
- Mirrored from //UE4/Dev-Framework (3853349).
#jira UE-53960
Change 3854177 by Ethan.Geller
#jira UE-54415 set EnabledByDefault to false for Resonance Audio
Change 3854123 by Ethan.Geller
#jira UE-54410 set AudioComponentID
Change 3853775 by Lauren.Ridge
Minor cleanup
#jira UE-54054
Change 3853772 by Lauren.Ridge
Don't create widgets when just testing if the selected widget is a replacement candidate
#jira UE-54054
Change 3853715 by Rolando.Caloca
UE4.19 - Fix for OpenGL overwriting texture units
#jira UE-54401
Change 3853655 by Ben.Marsh
Add a retry loop on creating the first directory before copying files. Attempt to work around problems copying to shared folders.
#jira
Change 3853535 by Ben.Marsh
Expose the engine compatible changelist to Perforce. If EnginePatchVersion > 0, this will be the changelist of the original .0 release.
#jira
Change 3852583 by Nick.Atamas
Resaved assets so they don't produce DDC warnings.
#jira none
Change 3852552 by Uriel.Doyon
Fixed Pre-Exposure shader compilation and Temporal AA issue.
#jira UE-54276
Change 3852354 by Nick.Atamas
Hopefully fixes the static analysis warning from jira issue.
#jira UE-54332
Change 3852281 by Nick.Atamas
Merging CL 3851690 from //Tasks/UE4/Dev-VR-4.19a/... to //UE4/Telease-4.19/...
#jira UE-54331
Change 3852274 by Simon.Tourangeau
Back out changelist 3851041 until Win7 issue is resolved.
#jira UE-54354
Change 3852208 by Jamie.Dale
Merging CL# 3821754 from //UE4/Dev-Enterprise
Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
#jira none
Change 3852202 by Jamie.Dale
More explicit handling of EngineDir for Python SDK
#jira UE-54345
Change 3851982 by Brandon.Schaefer
Workaround using a hardcoded path
#jira UE-54136
Change 3851748 by Michael.Dupuis
#jira UE-53904: Put the code back to what it was before, as we really only want to perform this code if bIsLayerThumbnail is true, it was changed to fix another issue complaining about a missing shader, that end up being added to the existing functions
Change 3851545 by Marc.Audy
Remove debugging code that slipped in
#jira none
Change 3851461 by Ben.Marsh
Fix #includes with backslashes from crashing UBT.
#jira UE-53996
Change 3851391 by Jamie.Dale
Updated Python to prefer our TPS SDK
#jira UE-54345
Change 3851372 by Jamie.Dale
Added bat file to copy the Python SDK into TPS
#jira UE-54345
Change 3851218 by Ben.Marsh
Add missing template to installed engine build.
#jira UE-54339
Change 3851117 by andrew.porter
QAGame: Removing duplicate map
#jira UE-29618
Change 3851041 by Simon.Tourangeau
Support for DX11 quad buffer stereo rendering
#jira UEENT-704
Change 3850548 by Ben.Marsh
Add TP_HandheldARBP to installed engine build.
#jira
Change 3850424 by Ben.Zeigler
Fix reported memory for asset registry to be correct, extracted from a larger change
#jira none
Change 3850324 by Ryan.Vance
#jira UEVR-1050
Hook up the Rift dynamic res to the new IDynamicResolutionState framework
Change 3849819 by JeanLuc.Corenthin
Unhide Datasmith plugins in "regular" projects to allow easy project conversion
#jira UEENT-795
Change 3849302 by Martin.Wilson
Live Link is no longer experimental in 4.19 (moved from experimental folder to Animation)
#jira none
Change 3849238 by Max.Chen
Sequencer: Remove bKeepStaleTracks so that stale tracks are now always purged.
#jira UE-54248
Change 3849211 by Michael.Dupuis
#jira UE-54181: Prevent foliage edition during PIE or simulate mode
#coderevire jack.porter
Change 3849123 by Benn.Gallagher
Fixed crash in clothing actor creation when the clothing simulation mesh has no simulated vertices
#jira UE-53741
Change 3849120 by Benn.Gallagher
Fixed crash adding empty materials to destructible meshes in the destructible mesh editor
#jira UE-53938
Change 3849047 by Jurre.deBaare
Move material baking out of experimental
#fix follow-up also remove the entry from experimental settings
#jira UE-52685
Change 3848808 by Michael.Dupuis
#jira UE-35097: Remove IncludeTessellationInShadowLOD & RestrictTessellationToShadowCascade from 4.19 as there is currently a bug regarding this in the dynamic rendering code path and would be too risky to fix for now.
Fixed dynamic shadow code path issue vs static code path
Change 3848659 by Lina.Halper
Fix issue with animation resetting in the sequencer
#jira: UE-54047
Change 3848635 by Rolando.Caloca
UE4.19 - Fix static analysis
#jira UE-50449
Change 3848515 by Sorin.Gradinaru
Unshelved from pending changelist '3843541':
WebBrowser Android crash on 4.4.3
#jira UE-53247
#Android
#4.19
Crash on Android 4.x.x caused by a call to a Api Level 21 method
Change 3848514 by Jurre.deBaare
Moving over:
CL 3832173
"Failed to import Alembic files
#jira UE-53941
#fix Change Alembic thirdparty library setup
- Removed old unused library files
- Updated batch files for building HDF5 ILMBase and Alembic libraries to use new AlembicDeploy path
- HDF5 is now build as a Dynamic library (which also enableds multi-threading)
- Added DLLs for HDF5 to build.cs file
CL 3838053
"Adding missing hdf5 dynamic libraries
Change 3848245 by Ben.Marsh
Downgrade warning about not using XGE shader compilation to a log message. Build machines do not have XGE.
#jira UE-54237
Change 3847300 by Phillip.Kavan
Fix shadowed local variable.
#jira UE-54141
Change 3846922 by Max.Preussner
ImgMedia: Fixed image media player never finished initialization if loading failed
Copied from Dev-Sequencer CL# 3846902
#jira UE-54247
Change 3846831 by Arciel.Rekman
Linux: only use lld for x86_64 (UE-54144).
- lld support for other architectures seems to not ready for prime time.
#jira UE-54144
Change 3846771 by Lauren.Ridge
Material window now uses the background color set in preview scene.
#jira UE-52215
Change 3846705 by Ben.Marsh
Fix batch file paths not being quoted correctly when run through XGE.
#jira
Change 3846550 by Lauren.Ridge
Toggling Show Background now updates the background as well
#jira UE-52250
Change 3846417 by Matt.Kuhlenschmidt
Fix crash resizing shootergame window
#jira UE-53137
Change 3846295 by Rolando.Caloca
UE4.19 - New Vulkan descriptor pooling mechanism (enabled on non-android)
#jira UE-50449
Change 3846273 by tim.gautier
QAGame: Updating Material Layer test assets to include more Params
- Added temp assets, quicker repros for bugs
#jira UE-54176, UE-54165
Change 3846255 by Lauren.Ridge
Parameter tab is the primary tab for material instances
#jira UE-54092
Change 3846086 by Chris.Babcock
Add missing SecureHash.h include
#jira UE-54026
#PR #4417
#ue4
#android
Change 3846049 by Martin.Wilson
Fix Set Root Motion Enabled Anim Data Modifier node (previously didn't set the enabled flag)
#jira UE-54220
Change 3846033 by Martin.Wilson
Fix root motion being repeatedly applied ( Clear() call only clears bHasRootMotion flag, not the transform itself )
#Jira UE-54219
Change 3845991 by andrew.porter
QAGame: Updating bindings on activechannels sequencer test content
#jira UE-29618
Change 3845933 by Lauren.Ridge
Check for original material being valid
#jira UE-54166
Change 3845920 by Martin.Wilson
Optimized redundant key removal
#jira UE-51303
Change 3845812 by Matt.Kuhlenschmidt
Fix not being able to change BSP brush shape
#jira UE-53738
Change 3845790 by Martin.Wilson
Fix for assert failure when accumulating root motion in debug.
#jira UE-53955
Change 3845730 by JeanLuc.Corenthin
Fix build breakage
warning: resaved disc.uasset with 4.19.0 preview #1
failure: set the correct default mesh for AreaLightStruct.uasset
#jira none
Change 3845693 by Lina.Halper
Fix issue with previewing pose asset with curve data
#jira: UE-53967
Change 3845533 by Andrew.Rodham
Sequencer: Fixed sub sequences potentially being loaded during AddReferencedObjects
#jira UE-54173
Change 3845472 by Thomas.Sarkanen
Prevented debug object selection dropdown from displaying objects with pending kill outers
#jira UE-54045 - Animation Blueprint Editor Crashes on Compile if the Debug Instance Selection is Other Than No Object or Preview Instance
Change 3845401 by Yannick.Lange
Reverting thumbnail capture from viewport.
#jira UE-53775
#jira UE-53701
Change 3844693 by JeanMichel.Dignard
Changed IES texture brightness to be the max candela value and set the texture multiplier to be 1. This fixes the IES lights intensity being too high.
#jira UEENT-632
Change 3844689 by JeanLuc.Corenthin
Update Datasmith content assets to latest
Copying fix from Dev-Enterprise by Jean-Luc Corenthin CL 3809803
Updated assets with correct release version
Cleanup some paths on static meshes and texture
#jira UEENT-759
#jira UEENT-657
Change 3844571 by Martin.Wilson
Fix motion controller motion source pin still showing when pin is connected to something
#Jira UE-53236
Change 3844564 by Martin.Wilson
Due to previously fixed bug some anim blueprint nodes could have duplicated guids, this fixes them
#Jira UE-54174
Change 3844545 by Jamie.Dale
No longer attempt to parse group separators for numeric inputs
This avoids some ambiguity when parsing numbers for languages such as German
#jira UE-54170
Change 3844221 by Nick.Shin
HTML5 - filter out "windows/super" keys - these are not used in UE4
- but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead...
#jira UE-54056 HTML5 crashes inside browser upon pressing windows key
Change 3843937 by JeanMichel.Dignard
Fixed a crash when right clicking on a static mesh for which its AssetImportData class is currently unavailable (ie: in an unloaded plugin).
#jira UEENT-764
Change 3843929 by Peter.Sauerbrei
pull over fix for bad directory when copying launch images
#jira UE-53177
Change 3843658 by Thomas.Sarkanen
Text is red again in anim viewports
#jira UE-53224 - Colouring removed from "Animation is being edited" warning messages
Change 3843657 by Thomas.Sarkanen
Enable picking via Enter for details panel asset pickers
The previous (4.18) behavior was to only allow selection of the previous/next item in the list with arrow keys. A fix (CL 3783114) for pickers with many assets broke this. This change now allows for selection of any item by navigating with arrow keys and pressing Enter, as suggested in the Jira.
#jira UE-53440 - Unable to select assets within modal Asset Selection dropdowns after navigating with keyboard entry
Change 3843120 by Dan.Oconnor
Avoid fixing component template games outside the editor, this logic does not work for games that have been nativized
#jira UE-54009
Change 3842841 by Ben.Zeigler
#jira UE-50020
Switch visual studio module back to using absolute paths so go to definition works, broken in CL #3796157
Change 3842582 by Lauren.Ridge
Guards against the widget passed to scrollwidgetintoview being null
#jira UE-54037
Change 3842575 by Max.Chen
Sequence Recorder: Stop recording if the preview window is destroyed.
#jira UE-49778
Change 3842551 by Michael.Dupuis
#jira UE-35097: Minor bug fix, documentation, etc. to the landscape optim that was done in the phase 2 that have 0 risk.
Change 3842371 by Max.Preussner
Media: Merged 4.19 fixes from Dev-Sequencer
CL 3807293 WmfMedia: Fixed YUY2 video format strides
CL 3827988 MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together
CL 3805414 MediaAssets: Setting valid GUID when initializing media texture resource
CL 3804183 MediaAssets: Added missing lock in media sound component
CL 3831580 MfMedia: Media open events generated in same order as on other platforms
CL 3807193 WmfMedia: Fixed incorrect buffer stride for RGB32 video tracks
#jira UE-53532
#jira UE-53328
Change 3842356 by Max.Preussner
ImgMedia: Fixed ensure when cooking project that uses ImgMediaSource
#jira UE-51631
Change 3842335 by Aaron.McLeran
#jira UE-54087
PR #4419: Fixes a crash due to nullptr dereference (Contributed by mgorzel)
Change 3842286 by Rolando.Caloca
UE4.19 - Fix for static analysis
- Glslang 1.0.65.1
#jira UE-54128
Change 3842222 by andrew.porter
QAGame: Updating framerate of EXR_Sequence
#jira UE-29618
Change 3842211 by Ben.Marsh
Fix determination of Windows version string. The manifest for UE4 applications declares compatibility with Windows 10 nowadays, so we get accurate version numbers returned from GetOSVersionInfo().
#jira UE-54035
Change 3842163 by Cosmin.Sulea
UE-53303 - We do not check for remote connection before attempting remote shader compile, causing crashes when misconfigured
#jira UE-53303
Change 3841770 by Max.Chen
Sequencer: Fix to allow keying of an arbitrarily deep property path.
#jira UE-54095
Change 3841758 by Max.Chen
Sequencer: Fix unbound possessable components when pasting spawnables.
#jira UE-54104
Change 3841415 by Lauren.Ridge
Renaming a material layer or material layer blend will no longer cause the asset to appear removed from the stack
#jira UE-53942
Change 3841327 by Arciel.Rekman
Linux: fix Debug build (UE-53855)
- A workaround. UBT should be using proper PCH files instead.
#jira UE-53855
Change 3840975 by Rolando.Caloca
UE4.19 - Updated VulkanRHI
- Fixes for GPU frame time
- Fixes for CPU performance
#jira UE-50449
Change 3840838 by Michael.Dupuis
#jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash
Change 3840693 by Ben.Zeigler
#jira UE-53923 Fix regression in 4.19 where PrintScriptCallstack is not always safe to call from the immediate window. I narrowed down the issue to some confusing optimized code so I turned off optimization
Copy of CL #3840692
Change 3840680 by Aaron.McLeran
Bringing fixes from Dev-AnimPhys to 4.19.
#jira UE-53903 crash on load with oculus audio and old audio engine
#jira UE-52786, UE-53910 Fix for broken spatialization on xaudio2, old audio engine.
Change 3840663 by Rolando.Caloca
UE4.19 - Fix for layout ensure on HMD projects on Vulkan
#jira UE-50265
Change 3840577 by Rolando.Caloca
UE4.19 - Fix for CPUs with more than 16 cores
#jira UE-53434
Change 3840551 by andrew.porter
QAGame: Setting Allow Bindings from Asset to false
#jira UE-29618
Change 3840491 by Ben.Zeigler
#jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing
Copy of CL #3840489
Change 3840297 by Max.Chen
Sequencer: Fix copy/paste crash for lights
#jira UE-54084
Change 3840284 by Michael.Dupuis
#jira UE-53053: Was having a mismatch between the remove reorder and the actual remove
Change 3840215 by Sorin.Gradinaru
Unshelved from pending changelist '3812852':
UE-53550 Level doesn't render on Lenovo 939
UE-53592 Assertion right after rendering scene on Lenovo S939
#jira UE-53550
#jira UE-53592
#4.19
#Android
UE-53550
Removed force disabling texture2DLodEXT and textureCubeLodEXT on Mali-400 devices
The problem was that the shader compiler complains about code lines before the #extension directives.
Placeholder // end extensions in the original shader code - to be replaced with round() functions
UE-53592
Always use a new task for devices that have GIsThreadedRendering=false, even when the call is from the rendering thread
Change 3840048 by Michael.Dupuis
#jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate
Change 3840005 by Richard.Wallis
Clone of CL 3835252
Fix for shader library not working with iterative cooking, also fixes native Metal library not working with iterative cook. This works by saving a "backup" of the shader library file - this is reloaded only during iterative cook and adds back in shaders that are missing from the current cook.
Fix for extracting/searching .metal files in different directories so debug tgz archiving wasn't working correctly and also support iterative cook.
Includes first pass code review suggestions by Mark Sat and Dmitriy Dyomin.
#jira UE-53815
Change 3839968 by Michael.Dupuis
#jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date
Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing
##codereview jack.porter
Change 3839924 by Richard.Wallis
Clone of CL 3838093
Fix for rewind / seek bugs in AvfMediaPlayer.
- Don't initialise and send audio buffers that have a duration of Zero from the audio tap. This chokes the audio sink and adds overhead we don't need.
- Don't faff around with current play rates during loop operation - normal seek doesn't do this so loop seek shouldn't either.
- SetRate() should not required to be passed to media tracks - should be enough to do this on audio track select only.
#jira UE-54019, UE-53027
Change 3839321 by andrew.porter
QAGame: Adding missing bookmark to QA-Sequencer_Blending
#jira UE-29618
Change 3839286 by Marcus.Wassmer
Duplicate CL: 3823296
#jira UE-52784
Change 3839229 by Brandon.Schaefer
Fix audio clean up crash when exiting PIE
#jira UE-54050
#review-3839109 @Arciel.Rekman, @Aaron.McLeran
Change 3839223 by andrew.porter
QAGame: Rebinding pointlight actor to sequences
#jira UE-29618
Change 3839098 by andrew.porter
QAGame: Fixing missing sequencer blending test content
#jira UE-29618
Change 3838919 by Mike.Erwin
glTF: binary format's BIN chunk is not necessarily right after the JSON chunk.
Discussed this with glTF spec authors. See https://github.com/KhronosGroup/glTF/issues/1177
Rearranged how we read "chunks" from the file since they are not fixed in number or order, besides JSON always being first.
#jira UE-50695
Change 3838909 by Mike.Erwin
glTF: base64 decoding of data buffers and images
Data can be encoded inside the glTF JSON as a Base64 data URI. This CL addresses a known limitation of initial commit CL 3793018. I added this after because base64 is expected to be uncommon in the wild. Authoring software will typically use external BIN files (.gltf) or a BIN chunk (.glb) to store data.
#jira UE-50695
Change 3838812 by Uriel.Doyon
Integrated CL 3838576, 3838581 and 3831760 from DevRendering, fixing issues with texture streaming.
#jira none
Change 3838773 by Lauren.Ridge
Fixing material layer filters
#jira UE-54064
Change 3838748 by Michael.Trepka
Fixed EngineTest runtime warning caused by CL 3838626
#jira UE-53893
Change 3838730 by Max.Chen
Sequencer: Add notification when the blend type is changed.
#jira UE-54046
Change 3838626 by Michael.Trepka
Changed FMacMenu to store MultiBox and MenuEntryBox as weak pointers instead of shared pointers. This way we avoid a situation where FMacMenu would try to release them on the main Cocoa thread or where we'd try to execute a menu action for menu items that Slate considers released.
#jira UE-53893
Change 3838392 by Arciel.Rekman
Fix assert on a policy removal (UE-54042).
- Applying Gil's safe fix which just sweeps the problem under the rug.
#jira UE-54042
Change 3838162 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
#jira UE-54040
(Edigrating 3819174 to Release-4.19)
Change 3838156 by Rolando.Caloca
UE4.19 - Support for Vulkan devices that have no cached memory type
#jira UE-54039
Change 3838096 by Brandon.Schaefer
Set sound to unfocused volume multiplier if not focused
#jira UE-51327
#review-3835736 arciel.rekman
Change 3838087 by Brandon.Schaefer
Fix arm server building. A fix from CL 3617084 remove inheriting from IHeadMountedDisplayVulkanExtensions. Remove overrides
#jira UE-53901
#review-3838088 arciel.rekman
Change 3837072 by Phillip.Kavan
Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18.
- Mirrored from //UE4/Dev-Framework (3836768).
#jira UE-53908
Change 3837071 by Phillip.Kavan
Emit proper syntax for set/map fields containing converted assets to generated C++ Blueprint class headers when Blueprint nativization is enabled.
- Mirrored from //UE4/Dev-Framework (3835944, 3835965).
#jira UE-42614
Change 3837070 by Phillip.Kavan
#4202 - Blueprint nativization bug fixes (PR).
- Mirrored from //UE4/Dev-Framework (3830562, 3832292).
#jira UE-52188
Change 3836507 by Ryan.Vance
#jira UE-53992
Due to hijacking the depth target directly from the scene context, we can't support depth compositing if it's being scaled by screen percentage since it wont match our color render target dimensions.
Change 3836390 by Dan.Oconnor
Fix failure to resolve archetype when using the compilation manager
#jira UE-53840
Change 3836251 by Ryan.Vance
#jira UE-53992
Change 3835852 by Mark.Satterthwaite
Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
- The control points idnex buffer shouldn't collide with anything else.
- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.
#jira UE-53851
Change 3835802 by JeanMichel.Dignard
UBT changes for Enterprise deployment
- Allow building enterprise against an installed engine version
- Added enterprise to the cleanup process if its not installed
#jira UEENT-748
Change 3835625 by Bogdan.Vasilache
UE-50257 --> (Skeletal meshes silently fail to render if they have more than 75 bones) --> changed logged error with a warning
#jira UE-50257
Change 3833649 by Mike.Beach
Enabling debug layer when multiview is enabled.
#jira UE-49954
Change 3833525 by Ethan.Geller
Fix copyright in ActiveSound.cpp #jira none #rb none
Change 3642649 by Stewart.Lynch
Renamed loctext key to stop it clashing with an existing entry
#jira UE-49432
Change 3644762 by Stewart.Lynch
LLM update: Added Total, Untracked and FMalloc Unused to LLMFULL stat page. Fixed occasionally missing allocs/frees. Removed platform csv.
* removed CheckSize arg from OnLowLevelFree
* show a warning in LLM Map when replacing existing value. This means that there has been an alloc/free mismatch.
* minor optimization in LLMMap::GetMaxIndex - cache Mask value
* added Total and Untracked stats to LLMFULL. LLMFULL now tracks almost all of the memory that LLMPlatform does, so there is no real need to use LLMPlatform. Removed the LLMPlatform csv.
* added FMalloc Unused stat to LLMFULL to account for memory Binned2 has allocated internally. This can be used to track Binned2 fragmentation over time.
* renamed Binned stats to FMemory to make it more general
* added Default tracking to CustomVirtualAlloc and disable it where necessary. This catches the few VirtualAlloc calls that were missed.
* added AllocType arg to all allocation tracking. This was needed in order to track the FMalloc total, and also to fix the pausing
* fixed a bug in pausing where alloc/frees were being missed. Now only pauses a specific allocation type.
* Trackers now maintain totals for each enum tag
* tracking of Texture and mesh allocation on Windows D3D11 & D3D12
Change 3651334 by Joe.Barnes
Fix misspelled function name.
#jira 39441
#3016
Change 3653857 by Ben.Woodhouse
Integrate from //UE4/Main/...@3653675 to //UE4/Dev-Console/...
Change 3656553 by Joe.Barnes
Add path for SCS_DeviceDepth.
Change 3662703 by Ben.Woodhouse
Merging CL 3659069 from //Fortnite/Main/... to to //ue4/dev-console/...:
[FORTNITE] [CONSOLE] [+] Improved frame syncing mechanism
- Improves input latency by allowing the game thread to sync to the swap chain flip of the previous frame.
- Added "r.GTSyncType" CVar to control how the game thread syncs with the rest of the pipe.
- r.GTSyncType 2 will sync the game thread with the flip of the swap chain, preventing the pipe from getting too long and causing excess input latency.
Platforms are required to implement RHIWaitForFlip and RHISignalFlipEvent, and call RHIInitializeFlipTracking on RHI startup.
A separate thread monitors the progress of frame flips and signals task graph events as they pass their corresponding frame index.
In r.GTSyncType 2 mode, the game thread is signaled by this flip tracking thread.
[~] Unified platform specific sync interval CVars into one: rhi.SyncInterval
- 1 == 60Hz
- 2 == 30Hz
- 3 == 20Hz
Change 3675239 by Keith.Judge
Fixed thread priorities for Windows so that BelowNormal and SlightlyBelowNormal are the same. Bumped Lowest down a notch so they all fit.
#jira UE-50626
Change 3676709 by Ben.Woodhouse
Integrate from //UE4/Main/...@3675008 to //UE4/Dev-Console/...
Change 3689712 by Ben.Woodhouse
Integrate from //UE4/Main/...@3687781 to //UE4/Dev-Console/...
Change 3701778 by Ben.Woodhouse
Integrate from //UE4/Main/...@3699491 to //UE4/Dev-Console/...
Change 3677043 by Ben.Woodhouse
From StewartL:
I also found that on Windows Fortnite is overflowing int32 values due to the number of allocations. I changed LLMArray and LLMMap to use uint32 and it seems to be Ok now. I didn't want to check this in at the last minute, so here's the shelf: 3645336
Change 3726532 by Luke.Thatcher
[CONSOLE] [~] Enable XGE shader compilation by default.
- Also set XGE mode to "force interception". With XGE on by default, we don't want people with an old Incredibuild version using the old system inadvertently.
Change 3726554 by Luke.Thatcher
[CONSOLE] [+] Improved Scoped Named Events
- Added SCOPED_NAMED_EVENT(_FSTRING/_TEXT/_F) macros to allow use of string literals, FString and printf in scoped named event strings.
- Replaced explicit use of FPlatformMisc::Begin/EndNamedEvent throughout the engine with macros, so the events can be compiled out.
- Fixed performance issues on various platforms with named events. SCOPED_NAMED_EVENT macros were not considering whether the platform uses wide or ansi char strings.
Change 3751378 by Ben.Woodhouse
Integrate from //UE4/Main/...@3748735 to //UE4/Dev-Console/...
Change 3751812 by Ben.Woodhouse
Integrate from //UE4/Main/...@3750870 to //UE4/Dev-Console/...
Change 3728571 by Luke.Thatcher
[CONSOLE] [!] Drop another XGE controller warning to log.
Change 3747150 by Joe.Barnes
Add AuthoringToolHelper.bat file to installed build copy list.
Change 3768585 by Ben.Woodhouse
Integrate from //UE4/Main/...@3767531 to //UE4/Dev-Console/...
Change 3772333 by Ben.Woodhouse
Integrate from //UE4/Main/...@3771573 to //UE4/Dev-Console/...
Change 3786872 by Ben.Woodhouse
Integrate from //UE4/Main/...@3786785 to //UE4/Dev-Console/...
Change 3787279 by Luke.Thatcher
[CONSOLE] [~] Unified present threshold CVars.
- CVars are now in RHIUtilities.cpp, and are renamed to rhi.PresentThreshold.Top and rhi.PresentThreshold.Bottom.
- Platform implementations will be checked in shortly.
Change 3787445 by Luke.Thatcher
[CONSOLE] [^] Merging (as edit) improvements to low-latency frame syncing from //Fortnite/Main to //UE4/Dev-Console
Original CLs
- 3708949 - Added rhi.SyncSlackMS cvar to allow an offset of the game thread sync time by a number of milliseconds.
- 3712693 - Fix for crash on startup in new frame syncing.
- 3735765 - Fix r.GTSyncType logic when vsync is disabled (falls back to old behaviour when vsync is off).
Change 3788417 by Ben.Woodhouse
Duplicate from FN CL 3712515
CSV profiler GPU and pre-declared stat support
- refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds
- add support for pre-declared CSV stats, using FNames (these are required for GPU stats)
- add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations
Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats
Change 3807818 by Ben.Woodhouse
Integrate from //UE4/Main/...@3803271 to //UE4/Dev-Console/...
Change 3818577 by Ben.Woodhouse
Integrate from //UE4/Main/...@3812936 to //UE4/Dev-Console/...
Change 3821198 by Ben.Woodhouse
Integrate from //UE4/Release-4.19/...@3820127 to //UE4/Dev-Console/...
Change 3821519 by Ben.Woodhouse
Integrate from //UE4/Release-4.19/...@3820753 to //UE4/Dev-Console/...
#robomerge none
Change 3813513 by Ben.Woodhouse
CSV profiler refactor+ bug fix
- Move the CSV profiler to core, so we can use it in modules other than engine
- Profiler no longer enqueues RT commands - this is handled by a new core delegate type
- Make begin/end requests more robust, enqueued via a command queue and processed in order
- Defer end capture requests by a frame. This ensures stats on threads other than the gamethread (e.g. renderthread etc) are complete, so the last frame is not truncated
- Fix long-standing bug with multiple captures where old/stale frames would appear in the first <128 frames of captures
- Move unit stats and dynamic resolution out of the profiler itself and into the engine. Only frametime is recorded in the profiler now
- Fix longstanding bug in first frame renderthread time in the engine
Change 3814039 by Ben.Woodhouse
More Csvprofiler improvements
- Event support (via CSV_EVENT macros). These appear in the "EVENTS" column of the CSV and can be used to add context to the stat data
- Reduced memory overhead for timestamps through bit-packing (now 16 bytes per marker instead of 24), and splitting stats into different types
Change 3814041 by Ben.Woodhouse
Integrate as edit CL 3796390 from Fortnite/Main:
Fix CsvProfiler not compiling in shipping for now
Change 3814229 by Ben.Woodhouse
Integrate + refactor of CL 3792591 to reduce complexity and fix bugs
Original changelist description:
CSV profiler improvements:
- The CSV profiler is now always compiled in on the server
- The CSV profiler can now handle both int32 and float stats
- In BeginCapture, the function can take additional arguments for some customization of filenames
Fixes to the above:
- Remove FCustomValue class
- Fixes bug where all timestamp values from CSV_SCOPED_STATs were garbage (due to issues resulting from FCustomValue type ambiguity when adding values together)
- FCsvCustomStat now just uses simple union + bitfield flag to reduce size and complexity (4 bytes instead of 8 per value)
- FCsvColumn class modified to use doubles, which can represent both ints and floats without loss of precision - this class is not memory or time critical
- Replace multiple overrides used by the server for filenameprefix/folder/postfix etc with a single FilenameOverride
Change 3814242 by Ben.Woodhouse
Disable CSV unit stats on the dedicated server
Change 3817339 by Ben.Woodhouse
Duplicate from 3816641: CSV profiler improvements
- Added a low-pri processing thread to compress raw timing data into a much more efficient format
- Reduces memory usage for 15 minute 30k frame capture with GPU stats enabled from 110MB to 3.4MB
- Processing time : 0.1ms per frame
- Improved name handling for char literal stats. We now use the string as the ID rather than the pointer so multiple stat uses of the same name string apply only to a single stat
- Reworked thread data access to eliminate locking for anything time-critical. Frame boundaries now handled via a lock-free helper class
- Fixed bug with queue implementation where 1 in 128 reads would duplicate the last block of stat data
- Reduced #include dependencies for CSVProfiler.h
- Removed AccumulateMax because it doesn't work, and implementing properly would add a lot of complexity
- Added a simple test harness
Change 3817582 by Ben.Woodhouse
Fix android compile warning
Change 3823242 by Ben.Woodhouse
Integrate as edit from Fortnite/Main 3820067:
Fix threading issue with D3D12 pipeline state caches for windows. This was caused by the usage of FRwScopeLock::RaiseLockToWrite. A pointer read before RaiseLockToWrite was called was invalidated because RaiseLockToWrite has to release the read lock before acquiring the write lock.
Rename FRwScopeLock::RaiseLockToWrite to ReleaseReadOnlyLockAndAcquireWriteLock_USE_WITH_CAUTION to make it more explicit what's happening. As the comment says:
// This function should be used with caution.
// It releases the read lock _before_ acquiring a new write lock. This is not an atomic operation and the caller should
// not treat it as such.
// E.g. Pointers read from protected data structures prior to this call may be invalid after the function is called.
Change 3823840 by Ben.Woodhouse
Edigrate from 3823816
Fix an issue where the csvprofile console commands would sometimes result in an empty CSV. The root cause was GFrameNumber incrementing between the console command being read and FCSVProfiler::EndFrame(). We now use our own frame counter which is updated in EndFrame, so this can't happen
Also fix an issue where calling csvprofile stop twice would cause all further commands to be ignored.
Change 3827787 by Ben.Woodhouse
Integrate-as-edit CL 3820678 from Fortnite/Main
Allow the CSV Profiler to be compiled in to shipping dedicated server builds
Change 3827842 by Ben.Woodhouse
Integrate-as-edit CL 3827079 from Fortnite/Main
CSV profiler category support
Change 3827918 by Luke.Thatcher
[CONSOLE] [!] Fix compile error in CSV custom stats.
Change 3827964 by Luke.Thatcher
[CONSOLE] [!] Fix inverted logic and spelling of boolean.
- Functionally, the boolean did the correct thing, but the logic was backwards inside the build tool.
Change 3831661 by Ben.Woodhouse
Integrate-as-edit CL 3830630 from Fortnite/Main
Fix CSVProfiler assert in dev builds on XB1
Change 3860300 by Joe.Barnes
Use same method for src and dest rect calculation as other post processing passes so rects match between passes. Prevents read of unprocessed pixels.
Change 3860347 by Joe.Barnes
Delete existing SourceConfigFile before allocating a new one to prevent them leaking.
Change 3860348 by Joe.Barnes
Completely encapsulate GetLLMAlloc() in #ifdef.
Change 3861772 by Ben.Woodhouse
Integrate-as-edit CL 3861688 from Fortnite/Main: Forward lighting GPU crash fixes
Change 3861774 by Ben.Woodhouse
Integrate as edit CL 3833918 from dev-rendering (courtesy of DanielW):
D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.
Change 3862214 by Ben.Woodhouse
Integrate-as-edit CL 3859637 from Fortnite/Main
Dynamic resolution console tweaks
- Dynamic resolution high level switch driven by a cvar instead of code
- Disable user settings dynamic resolution handling on non-desktop platforms. DynamicRes as a user setting does not make sense on consoles/mobile - we'll drive it from device profiles/scalability
- Modify naming of GPUHeadRoom to make it clear that it's a percentage, not millseconds
Change 3863919 by Ben.Woodhouse
[Copy] Integrate console dynamic resolution interface changes from CL 3863354, 3862754, 3862639
Change 3864347 by Ben.Woodhouse
Fix the editor build. This will need a proper fix before 4.19 ships.
#lockdown Nick.Penwarden
#rb none
[CL 3913399 by Ben Marsh in Main branch]
2018-02-27 17:30:35 -05:00
IOSProjectSettings ProjectSettings = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( Target . Platform ) ) . ReadProjectSettings ( Target . ProjectFile ) ;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
2019-12-09 10:41:59 -05:00
bool bPerformFullAppCreation = true ;
2019-05-29 20:55:13 -04:00
string PathToDsymZip = Target . OutputPath . FullName + ".dSYM.zip" ;
2019-02-27 11:57:17 -05:00
if ( BuildHostPlatform . Current . Platform = = UnrealTargetPlatform . Mac )
{
2019-12-09 10:41:59 -05:00
if ( Target . bBuildAsFramework )
2019-02-27 11:57:17 -05:00
{
// make sure the framework has a plist
2019-08-30 17:54:29 -04:00
FileReference PlistSrcLocation = FileReference . Combine ( Target . ProjectDirectory , "Build" , "IOS" , "Embedded.plist" ) ;
2019-02-27 11:57:17 -05:00
if ( ! FileReference . Exists ( PlistSrcLocation ) )
{
2019-08-30 17:54:29 -04:00
WriteMissingEmbeddedPlist ( PlistSrcLocation , Target . ProjectDirectory , Target . ProjectFile ) ;
if ( ! FileReference . Exists ( PlistSrcLocation ) )
throw new BuildException ( "Unable to find plist for output framework ({0})" , PlistSrcLocation ) ;
2019-02-27 11:57:17 -05:00
}
2019-08-30 17:54:29 -04:00
2019-02-27 11:57:17 -05:00
FileReference PlistDstLocation = FileReference . Combine ( Target . OutputPath . Directory , "Info.plist" ) ;
2019-03-11 15:12:02 -04:00
if ( FileReference . Exists ( PlistDstLocation ) )
{
FileReference . SetAttributes ( PlistDstLocation , FileAttributes . Normal ) ;
}
2019-02-27 11:57:17 -05:00
FileReference . Copy ( PlistSrcLocation , PlistDstLocation , true ) ;
2019-05-29 20:55:13 -04:00
PathToDsymZip = Path . Combine ( Target . OutputPath . Directory . ParentDirectory . FullName , Target . OutputPath . GetFileName ( ) + ".dSYM.zip" ) ;
2019-08-30 17:54:29 -04:00
GenerateFrameworkWrapperIfNonexistent ( Target ) ;
2019-12-09 10:41:59 -05:00
// do not perform any of the .app creation below
bPerformFullAppCreation = false ;
2019-02-27 11:57:17 -05:00
}
}
2019-01-14 12:11:24 -05:00
string AppName = Target . TargetName ;
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
2019-05-30 16:27:49 -04:00
if ( ! Target . bSkipCrashlytics )
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
{
2019-05-29 20:55:13 -04:00
GenerateCrashlyticsData ( PathToDsymZip , Target . ProjectDirectory . FullName , AppName ) ;
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
}
2019-12-09 10:41:59 -05:00
// only make the app if needed
if ( ! bPerformFullAppCreation )
{
return ;
}
2019-05-29 12:31:39 -04:00
// copy the executable
FileReference StagedExecutablePath = GetStagedExecutablePath ( Target . OutputPath , Target . TargetName ) ;
DirectoryReference . CreateDirectory ( StagedExecutablePath . Directory ) ;
FileReference . Copy ( Target . OutputPath , StagedExecutablePath , true ) ;
2019-05-29 20:55:13 -04:00
string RemoteShadowDirectoryMac = Target . OutputPath . Directory . FullName ;
2019-05-29 12:31:39 -04:00
2019-12-09 10:41:59 -05:00
if ( Target . bCreateStubIPA | | Target . bBuildAsFramework )
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
{
2019-08-30 17:54:29 -04:00
string FrameworkDerivedDataDir = Path . GetFullPath ( Target . ProjectDirectory + "/Intermediate/" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) + "/DerivedData" ) ;
DirectoryReference FrameworkPayloadDirectory = DirectoryReference . Combine ( Target . OutputPath . Directory . ParentDirectory . ParentDirectory , "Payload" ) ;
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
// generate the dummy project so signing works
2019-08-30 17:54:29 -04:00
DirectoryReference XcodeWorkspaceDir = null ;
2019-12-09 10:41:59 -05:00
if ( ! Target . bBuildAsFramework )
2019-08-30 17:54:29 -04:00
{
if ( AppName = = "UE4Game" | | AppName = = "UE4Client" | | Target . ProjectFile = = null | | Target . ProjectFile . IsUnderDirectory ( UnrealBuildTool . EngineDirectory ) )
{
XcodeWorkspaceDir = DirectoryReference . Combine ( UnrealBuildTool . RootDirectory , String . Format ( "UE4_{0}.xcworkspace" , ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) ) ) ;
}
else
{
XcodeWorkspaceDir = DirectoryReference . Combine ( Target . ProjectDirectory , String . Format ( "{0}_{1}.xcworkspace" , Target . ProjectFile . GetFileNameWithoutExtension ( ) , ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) ) ) ;
}
}
2014-04-28 19:56:45 -04:00
2019-03-14 10:07:19 -04:00
// Path to the temporary keychain. When -ImportCertificate is specified, we will temporarily add this to the list of keychains to search, and remove it later.
FileReference TempKeychain = FileReference . Combine ( Target . ProjectIntermediateDirectory , "TempKeychain.keychain" ) ;
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
FileReference SignProjectScript = FileReference . Combine ( Target . ProjectIntermediateDirectory , "SignProject.sh" ) ;
2019-08-30 17:54:29 -04:00
using ( StreamWriter Writer = new StreamWriter ( SignProjectScript . FullName ) )
2014-12-10 16:13:56 -05:00
{
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
// Boilerplate
Writer . WriteLine ( "#!/bin/sh" ) ;
Writer . WriteLine ( "set -e" ) ;
Writer . WriteLine ( "set -x" ) ;
2014-12-10 16:13:56 -05:00
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
// Copy the mobile provision into the system store
2019-08-30 17:54:29 -04:00
if ( Target . ImportProvision ! = null )
2014-03-14 14:13:41 -04:00
{
2019-01-14 12:11:24 -05:00
Writer . WriteLine ( "cp -f {0} ~/Library/MobileDevice/Provisioning\\ Profiles/" , Utils . EscapeShellArgument ( Target . ImportProvision ) ) ;
2014-12-10 16:13:56 -05:00
}
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
// Get the signing certificate to use
string SigningCertificate ;
2019-08-30 17:54:29 -04:00
if ( Target . ImportCertificate = = null )
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
{
// Take it from the standard settings
2019-03-13 11:41:55 -04:00
IOSProvisioningData ProvisioningData = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( Target . Platform ) ) . ReadProvisioningData ( Target . ProjectFile , Target . bForDistribution ) ;
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
SigningCertificate = ProvisioningData . SigningCertificate ;
// Set the identity on the command line
2019-08-30 17:54:29 -04:00
if ( ! ProjectSettings . bAutomaticSigning )
2014-12-10 16:13:56 -05:00
{
2019-08-30 17:54:29 -04:00
Writer . WriteLine ( "CODE_SIGN_IDENTITY='{0}'" , String . IsNullOrEmpty ( SigningCertificate ) ? "IPhoneDeveloper" : SigningCertificate ) ;
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
}
2014-03-14 14:13:41 -04:00
}
else
{
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
// Read the name from the certificate
X509Certificate2 Certificate ;
try
2014-03-14 14:13:41 -04:00
{
2019-01-14 12:11:24 -05:00
Certificate = new X509Certificate2 ( Target . ImportCertificate , Target . ImportCertificatePassword ? ? "" ) ;
2014-03-14 14:13:41 -04:00
}
2019-08-30 17:54:29 -04:00
catch ( Exception Ex )
2014-03-14 14:13:41 -04:00
{
2019-01-14 12:11:24 -05:00
throw new BuildException ( Ex , "Unable to read certificate '{0}': {1}" , Target . ImportCertificate , Ex . Message ) ;
2015-12-10 16:56:55 -05:00
}
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
SigningCertificate = Certificate . GetNameInfo ( X509NameType . SimpleName , false ) ;
// Install a certificate given on the command line to a temporary keychain
Writer . WriteLine ( "security delete-keychain \"{0}\" || true" , TempKeychain ) ;
Writer . WriteLine ( "security create-keychain -p \"A\" \"{0}\"" , TempKeychain ) ;
Writer . WriteLine ( "security list-keychains -s \"{0}\"" , TempKeychain ) ;
Writer . WriteLine ( "security list-keychains" ) ;
Writer . WriteLine ( "security set-keychain-settings -t 3600 -l \"{0}\"" , TempKeychain ) ;
Writer . WriteLine ( "security -v unlock-keychain -p \"A\" \"{0}\"" , TempKeychain ) ;
2019-01-14 12:11:24 -05:00
Writer . WriteLine ( "security import {0} -P {1} -k \"{2}\" -T /usr/bin/codesign -T /usr/bin/security -t agg" , Utils . EscapeShellArgument ( Target . ImportCertificate ) , Utils . EscapeShellArgument ( Target . ImportCertificatePassword ) , TempKeychain ) ;
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
Writer . WriteLine ( "security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k \"A\" -D '{0}' -t private {1}" , SigningCertificate , TempKeychain ) ;
// Set parameters to make sure it uses the correct identity and keychain
Writer . WriteLine ( "CERT_IDENTITY='{0}'" , SigningCertificate ) ;
Writer . WriteLine ( "CODE_SIGN_IDENTITY='{0}'" , SigningCertificate ) ;
Writer . WriteLine ( "CODE_SIGN_KEYCHAIN='{0}'" , TempKeychain ) ;
2015-12-10 16:56:55 -05:00
}
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
FileReference MobileProvisionFile ;
string MobileProvisionUUID ;
string TeamUUID ;
2019-08-30 17:54:29 -04:00
if ( Target . ImportProvision = = null )
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
{
2019-03-13 11:41:55 -04:00
IOSProvisioningData ProvisioningData = ( ( IOSPlatform ) UEBuildPlatform . GetBuildPlatform ( Target . Platform ) ) . ReadProvisioningData ( ProjectSettings , Target . bForDistribution ) ;
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
MobileProvisionFile = ProvisioningData . MobileProvisionFile ;
MobileProvisionUUID = ProvisioningData . MobileProvisionUUID ;
TeamUUID = ProvisioningData . TeamUUID ;
2020-02-22 18:11:43 -05:00
if ( ProvisioningData . BundleIdentifier = = null | | ! ProvisioningData . BundleIdentifier . Contains ( "*" ) )
2019-10-22 12:13:34 -04:00
{
// If the BundleIndentifer contains a wild card it will not be valid to use in the plist.
BundleID = ProvisioningData . BundleIdentifier ;
}
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
}
else
{
2019-01-14 12:11:24 -05:00
MobileProvisionFile = new FileReference ( Target . ImportProvision ) ;
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
MobileProvisionContents MobileProvision = MobileProvisionContents . Read ( MobileProvisionFile ) ;
MobileProvisionUUID = MobileProvision . GetUniqueId ( ) ;
MobileProvision . TryGetTeamUniqueId ( out TeamUUID ) ;
2019-10-22 12:13:34 -04:00
string BundleIdentifier = MobileProvision . GetBundleIdentifier ( ) ;
if ( ! BundleIdentifier . Contains ( "*" ) )
{
// If the BundleIndentifer contains a wild card it will not be valid to use in the plist.
BundleID = BundleIdentifier ;
}
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
}
2020-02-18 02:48:21 -05:00
if ( MobileProvisionFile = = null )
2019-07-08 16:17:00 -04:00
{
throw new BuildException ( "Unable to find valid certificate/mobile provision pair." ) ;
}
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 ConfigName = Target . Configuration . ToString ( ) ;
2019-01-14 12:11:24 -05:00
if ( Target . TargetType ! = TargetType . Game & & Target . TargetType ! = TargetType . Program )
2015-12-10 16:56:55 -05:00
{
2019-01-14 12:11:24 -05:00
ConfigName + = " " + Target . TargetType . ToString ( ) ;
2014-03-14 14:13:41 -04:00
}
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 SchemeName ;
if ( AppName = = "UE4Game" | | AppName = = "UE4Client" )
2014-03-14 14:13:41 -04:00
{
2019-12-09 10:41:59 -05:00
if ( Target . bBuildAsFramework )
2019-08-30 17:54:29 -04:00
{
SchemeName = "UE4Game" ;
}
else
{
SchemeName = "UE4" ;
}
2014-03-14 14:13:41 -04:00
}
else
{
2018-10-19 20:22:05 -04:00
SchemeName = Target . ProjectFile . GetFileNameWithoutExtension ( ) ;
2014-03-14 14:13:41 -04:00
}
2019-10-22 12:13:34 -04:00
Console . WriteLine ( "Provisioning: {0}, {1}, {2}, {3}" , MobileProvisionFile , MobileProvisionFile . GetFileName ( ) , MobileProvisionUUID , BundleID ) ;
2019-08-30 17:54:29 -04:00
string CmdLine ;
2019-12-09 10:41:59 -05:00
if ( Target . bBuildAsFramework )
2019-08-30 17:54:29 -04:00
{
DirectoryReference FrameworkProjectDirectory = GetActualProjectDirectory ( Target . ProjectFile ) ;
DirectoryReference WrapperDirectory = DirectoryReference . Combine ( FrameworkProjectDirectory , "Wrapper" ) ;
string FrameworkName = Target . TargetName ;
DirectoryReference WrapperProject = DirectoryReference . Combine ( WrapperDirectory , FrameworkName , FrameworkName + ".xcodeproj" ) ;
// Delete everything in payload directory before building
Writer . WriteLine ( String . Format ( "rm -rf \"{0}\"" , FrameworkPayloadDirectory ) ) ;
// Build the framework wrapper
CmdLine = new IOSToolChainSettings ( ) . XcodeDeveloperDir + "usr/bin/xcodebuild" +
" -project \"" + WrapperProject + "\"" +
" -configuration \"" + ConfigName + "\"" +
" -scheme '" + SchemeName + "'" +
" -sdk " + GetCodesignPlatformName ( Target . Platform ) +
" -destination generic/platform=" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "iOS" : "tvOS" ) +
" -derivedDataPath \"" + FrameworkDerivedDataDir + "\"" +
" CONFIGURATION_BUILD_DIR=\"" + FrameworkPayloadDirectory + "\"" +
( ! string . IsNullOrEmpty ( TeamUUID ) ? " DEVELOPMENT_TEAM=" + TeamUUID : "" ) ;
}
else
{
// code sign the project
CmdLine = new IOSToolChainSettings ( ) . XcodeDeveloperDir + "usr/bin/xcodebuild" +
" -workspace \"" + XcodeWorkspaceDir + "\"" +
" -configuration \"" + ConfigName + "\"" +
" -scheme '" + SchemeName + "'" +
" -sdk " + GetCodesignPlatformName ( Target . Platform ) +
" -destination generic/platform=" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "iOS" : "tvOS" ) +
( ! string . IsNullOrEmpty ( TeamUUID ) ? " DEVELOPMENT_TEAM=" + TeamUUID : "" ) ;
}
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
CmdLine + = String . Format ( " CODE_SIGN_IDENTITY='{0}'" , SigningCertificate ) ;
2019-08-30 17:54:29 -04:00
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
if ( ! ProjectSettings . bAutomaticSigning )
2016-03-11 09:55:03 -05:00
{
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
CmdLine + = ( ! string . IsNullOrEmpty ( MobileProvisionUUID ) ? ( " PROVISIONING_PROFILE_SPECIFIER=" + MobileProvisionUUID ) : "" ) ;
2016-03-11 09:55:03 -05:00
}
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
Writer . WriteLine ( "/usr/bin/xcrun {0}" , CmdLine ) ;
2014-03-14 14:13:41 -04:00
}
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
2019-12-09 10:41:59 -05:00
if ( ! Target . bBuildAsFramework )
2019-03-28 12:09:05 -04:00
{
2019-08-30 17:54:29 -04:00
if ( AppName = = "UE4Game" | | AppName = = "UE4Client" | | Target . ProjectFile = = null | | Target . ProjectFile . IsUnderDirectory ( UnrealBuildTool . EngineDirectory ) )
{
2020-04-16 02:01:03 -04:00
GenerateProjectFiles ( Target . ProjectFile , new string [ ] { "-platforms=" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) , "-NoIntellIsense" , ( Target . Platform = = UnrealTargetPlatform . IOS ? "-iosdeployonly" : "-tvosdeployonly" ) , "-ignorejunk" , ( Target . bForDistribution ? "-distribution" : "-development" ) , "-bundleID=" + BundleID , "-includetemptargets" , "-appname=" + AppName } ) ;
2019-08-30 17:54:29 -04:00
}
else
{
GenerateProjectFiles ( Target . ProjectFile , new string [ ] { "-platforms=" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) , "-NoIntellIsense" , ( Target . Platform = = UnrealTargetPlatform . IOS ? "-iosdeployonly" : "-tvosdeployonly" ) , "-ignorejunk" , ( Target . bForDistribution ? "-distribution" : "-development" ) , String . Format ( "-project={0}" , Target . ProjectFile ) , "-game" , "-bundleID=" + BundleID , "-includetemptargets" } ) ;
}
// Make sure it exists
if ( ! DirectoryReference . Exists ( XcodeWorkspaceDir ) )
{
throw new BuildException ( "Unable to create stub IPA; Xcode workspace not found at {0}" , XcodeWorkspaceDir ) ;
}
2019-03-28 12:09:05 -04:00
}
// ensure the plist, entitlements, and provision files are properly copied
UEDeployIOS DeployHandler = ( Target . Platform = = UnrealTargetPlatform . IOS ? new UEDeployIOS ( ) : new UEDeployTVOS ( ) ) ;
DeployHandler . ForDistribution = Target . bForDistribution ;
2019-12-09 10:41:59 -05:00
DeployHandler . PrepTargetForDeployment ( Target . ProjectFile , Target . TargetName , Target . Platform , Target . Configuration , Target . UPLScripts , Target . SdkVersion , Target . bCreateStubIPA , BundleID , Target . bBuildAsFramework ) ;
2019-03-28 12:09:05 -04:00
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
Log . TraceInformation ( "Executing {0}" , SignProjectScript ) ;
2019-03-21 05:11:46 -04:00
// write the entitlements file (building remotely)
WriteEntitlements ( Target ) ;
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
Process SignProcess = new Process ( ) ;
SignProcess . StartInfo . WorkingDirectory = RemoteShadowDirectoryMac ;
SignProcess . StartInfo . FileName = "/bin/sh" ;
2019-08-30 17:54:29 -04:00
string Arguments = String . Format ( "\"{0}\"" , SignProjectScript . FullName ) ;
SignProcess . StartInfo . Arguments = Arguments ;
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
ProcessOutput Output = new ProcessOutput ( ) ;
SignProcess . OutputDataReceived + = new DataReceivedEventHandler ( Output . OutputReceivedDataEventHandler ) ;
SignProcess . ErrorDataReceived + = new DataReceivedEventHandler ( Output . OutputReceivedDataEventHandler ) ;
2019-08-30 17:54:29 -04:00
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
Output . OutputReceivedDataEventHandlerEncounteredError = false ;
Output . OutputReceivedDataEventHandlerEncounteredErrorMessage = "" ;
Utils . RunLocalProcess ( SignProcess ) ;
2019-03-14 10:07:19 -04:00
// cleanup
if ( Target . ImportCertificate ! = null )
{
FileReference CleanProjectScript = FileReference . Combine ( Target . ProjectIntermediateDirectory , "CleanProject.sh" ) ;
using ( StreamWriter CleanWriter = new StreamWriter ( CleanProjectScript . FullName ) )
{
// Remove the temporary keychain from the search list
CleanWriter . WriteLine ( "security delete-keychain \"{0}\" || true" , TempKeychain ) ;
CleanWriter . WriteLine ( "security list-keychain -s login.keychain" ) ;
}
2019-08-30 17:54:29 -04:00
2019-03-14 10:07:19 -04:00
Log . TraceInformation ( "Executing {0}" , CleanProjectScript ) ;
Process CleanProcess = new Process ( ) ;
CleanProcess . StartInfo . WorkingDirectory = RemoteShadowDirectoryMac ;
CleanProcess . StartInfo . FileName = "/bin/sh" ;
CleanProcess . StartInfo . Arguments = CleanProjectScript . FullName ;
ProcessOutput CleanOutput = new ProcessOutput ( ) ;
SignProcess . OutputDataReceived + = new DataReceivedEventHandler ( CleanOutput . OutputReceivedDataEventLogger ) ;
SignProcess . ErrorDataReceived + = new DataReceivedEventHandler ( CleanOutput . OutputReceivedDataEventLogger ) ;
Utils . RunLocalProcess ( CleanProcess ) ;
}
2019-12-09 10:41:59 -05:00
if ( Target . bBuildAsFramework )
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
{
2019-08-30 17:54:29 -04:00
CleanIntermediateDirectory ( FrameworkDerivedDataDir ) ;
}
if ( XcodeWorkspaceDir ! = null )
{
// delete the temp project
DirectoryReference . Delete ( XcodeWorkspaceDir , true ) ;
if ( Output . OutputReceivedDataEventHandlerEncounteredError )
{
throw new Exception ( Output . OutputReceivedDataEventHandlerEncounteredErrorMessage ) ;
}
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
}
2015-09-24 08:08:38 -04:00
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
// Package the stub
2019-12-09 10:41:59 -05:00
if ( Target . bBuildAsFramework )
2019-08-30 17:54:29 -04:00
{
PackageStub ( FrameworkPayloadDirectory . ParentDirectory . ToString ( ) , AppName , Target . OutputPath . GetFileNameWithoutExtension ( ) ) ;
}
else
{
PackageStub ( RemoteShadowDirectoryMac , AppName , Target . OutputPath . GetFileNameWithoutExtension ( ) ) ;
}
2014-03-14 14:13:41 -04:00
}
2019-03-21 05:11:46 -04:00
else
{
2019-03-28 12:09:05 -04:00
// ensure the plist, entitlements, and provision files are properly copied
UEDeployIOS DeployHandler = ( Target . Platform = = UnrealTargetPlatform . IOS ? new UEDeployIOS ( ) : new UEDeployTVOS ( ) ) ;
DeployHandler . ForDistribution = Target . bForDistribution ;
2019-12-09 10:41:59 -05:00
DeployHandler . PrepTargetForDeployment ( Target . ProjectFile , Target . TargetName , Target . Platform , Target . Configuration , Target . UPLScripts , Target . SdkVersion , Target . bCreateStubIPA , BundleID , Target . bBuildAsFramework ) ;
2019-05-08 18:40:49 -04:00
// write the entitlements file (building on Mac)
WriteEntitlements ( Target ) ;
2019-03-21 05:11:46 -04:00
}
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
{
// Copy bundled assets from additional frameworks to the intermediate assets directory (so they can get picked up during staging)
String LocalFrameworkAssets = Path . GetFullPath ( Target . ProjectDirectory + "/Intermediate/" + ( Target . Platform = = UnrealTargetPlatform . IOS ? "IOS" : "TVOS" ) + "/FrameworkAssets" ) ;
// Clean the local dest directory if it exists
CleanIntermediateDirectory ( LocalFrameworkAssets ) ;
2019-01-14 12:11:24 -05:00
foreach ( KeyValuePair < string , DirectoryReference > Pair in Target . FrameworkNameToSourceDir )
2019-08-30 17:54:29 -04:00
{
2020-03-16 19:04:42 -04:00
//string UnpackedZipPath = Pair.Value.FullName;
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
2019-03-07 13:17:58 -05:00
// For now, this is hard coded, but we need to loop over all modules, and copy bundled assets that need it
string LocalDest = LocalFrameworkAssets + "/" + Pair . Key ;
Log . TraceInformation ( "Copying bundled asset... LocalSource: {0}, LocalDest: {1}" , Pair . Value , LocalDest ) ;
string ResultsText ;
2019-08-30 17:54:29 -04:00
RunExecutableAndWait ( "cp" , String . Format ( "-R -L \"{0}\" \"{1}\"" , Pair . Value , LocalDest ) , out ResultsText ) ;
}
}
2014-03-14 14:13:41 -04:00
}
2014-04-30 14:09:06 -04:00
2015-09-24 12:37:21 -04:00
public static int RunExecutableAndWait ( string ExeName , string ArgumentList , out string StdOutResults )
2014-04-30 14:09:06 -04:00
{
// Create the process
2015-09-24 12:37:21 -04:00
ProcessStartInfo PSI = new ProcessStartInfo ( ExeName , ArgumentList ) ;
2014-04-30 14:09:06 -04:00
PSI . RedirectStandardOutput = true ;
PSI . UseShellExecute = false ;
PSI . CreateNoWindow = true ;
2015-09-24 12:37:21 -04:00
Process NewProcess = Process . Start ( PSI ) ;
2014-04-30 14:09:06 -04:00
// Wait for the process to exit and grab it's output
StdOutResults = NewProcess . StandardOutput . ReadToEnd ( ) ;
NewProcess . WaitForExit ( ) ;
return NewProcess . ExitCode ;
}
2015-04-27 14:20:54 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
public void StripSymbols ( FileReference SourceFile , FileReference TargetFile )
2015-04-27 14:20:54 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
StripSymbolsWithXcode ( SourceFile , TargetFile , Settings . Value . ToolchainDir ) ;
2015-04-27 14:20:54 -04:00
}
2019-12-18 13:52:12 -05:00
2020-03-09 13:20:14 -04:00
FileItem CopyBundleResource ( UEBuildBundleResource Resource , FileItem Executable , DirectoryReference BundleDirectory , IActionGraphBuilder Graph )
2019-12-18 13:52:12 -05:00
{
2020-03-09 13:20:14 -04:00
Action CopyAction = Graph . CreateAction ( ActionType . CreateAppBundle ) ;
2019-12-18 13:52:12 -05:00
CopyAction . WorkingDirectory = GetMacDevSrcRoot ( ) ; // Path.GetFullPath(".");
CopyAction . CommandPath = BuildHostPlatform . Current . Shell ;
CopyAction . CommandDescription = "" ;
string BundlePath = BundleDirectory . FullName ;
string SourcePath = Path . Combine ( Path . GetFullPath ( "." ) , Resource . ResourcePath ) ;
2020-03-18 15:46:36 -04:00
string TargetPath ;
if ( Resource . BundleContentsSubdir = = "Resources" )
{
TargetPath = Path . Combine ( BundlePath , Path . GetFileName ( Resource . ResourcePath ) ) ;
}
else
{
TargetPath = Path . Combine ( BundlePath , Resource . BundleContentsSubdir , Path . GetFileName ( Resource . ResourcePath ) ) ;
}
2019-12-18 13:52:12 -05:00
FileItem TargetItem = FileItem . GetItemByPath ( TargetPath ) ;
CopyAction . CommandArguments = string . Format ( "-c 'cp -f -R \"{0}\" \"{1}\"; touch -c \"{2}\"'" , SourcePath , Path . GetDirectoryName ( TargetPath ) . Replace ( '\\' , '/' ) + "/" , TargetPath . Replace ( '\\' , '/' ) ) ;
CopyAction . PrerequisiteItems . Add ( Executable ) ;
CopyAction . ProducedItems . Add ( TargetItem ) ;
CopyAction . bShouldOutputStatusDescription = Resource . bShouldLog ;
CopyAction . StatusDescription = string . Format ( "Copying {0} to app bundle" , Path . GetFileName ( Resource . ResourcePath ) ) ;
CopyAction . bCanExecuteRemotely = false ;
return TargetItem ;
}
public override void SetupBundleDependencies ( List < UEBuildBinary > Binaries , string GameName )
{
base . SetupBundleDependencies ( Binaries , GameName ) ;
foreach ( UEBuildBinary Binary in Binaries )
{
BundleDependencies . Add ( FileItem . GetItemByFileReference ( Binary . OutputFilePath ) ) ;
}
}
2014-03-14 14:13:41 -04:00
} ;
}