2019-01-17 18:54:05 -05:00
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
using System ;
using System.Collections.Generic ;
using System.Text ;
using System.IO ;
2014-04-23 20:18:55 -04:00
using System.Linq ;
2014-03-14 14:13:41 -04:00
using System.Diagnostics ;
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 ;
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 Unity
2014-03-14 14:13:41 -04:00
{
2017-04-26 08:28:56 -04:00
/// <summary>
/// Set of target names we've printed out adaptive non-unity messages for.
/// </summary>
public static HashSet < string > PrintedSettingsForTargets = new HashSet < string > ( ) ;
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3196521)
#lockdown Nick.Penwarden
Change 3196499 on 2016/11/14 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3196473
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3196498 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3195674 on 2016/11/11 by Laurent.Delayen
Fix for twinblast ult mesh not disappearing at lower lods. (curves not getting properly update with URO)
Fixes https://jira.it.epicgames.net/browse/OR-31509
#rb lina.halper
#tests twinblast ult multiPIE
Change 3195245 on 2016/11/11 by Dan.Hertzka
Card crafting progress
- Device responds to UI actions appropriately and infinitely
- Backing out of device screen goes to card details first (i.e. doesn't take you all the way out of the screen)
- CraftingDevice and CraftingDeviceNode now have a few natively-controlled timelines for reversible states
- Non-reversible timelines all now play from start (so they work more than once)
Engine-side:
- Added an overload to UTimelineComponent::SetOnTimelineFinishedFunc() that takes a native (non-dynamic) delegate
- Added a way to set the owning player of a UUserWidget via a local PlayerController (since ULocalPlayer isn't a BP type) - used to establish the owner of a WidgetComponent's widget
#rb none
#tests PIE crafting
Change 3194616 on 2016/11/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3194604
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3194615 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3193875 on 2016/11/10 by Andrew.Grant
Removed GameThreadWaitForTask fatal timeout if running in editor (assumption is that some operations can cause significant blocks, and that's ok..
#jira UE-38496
#tests compiled
#rb none
#c0dereview Marcus.Wassmer
Change 3193368 on 2016/11/10 by Mieszko.Zielinski
Fixed a bug in UCharacterMovementComponent::OnMovementModeChanged making UPathFollowingComponent::OnStartedFalling being sent too late #UE4
#rb Lukasz.Furman
#test golden path
Change 3193280 on 2016/11/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3193232
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3193279 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3192376 on 2016/11/09 by Laurent.Delayen
RootMotion Sources: removed second check, as that was a perfectly valid case. Fixes https://jira.it.epicgames.net/browse/OR-31490
#rb none
#tests riftmage blackhold multiPIE
Change 3192243 on 2016/11/09 by Laurent.Delayen
UAbilityTask_ApplyRootMotionMoveToActorForce replicates TimeMappingCurve to potentially fix https://jira.it.epicgames.net/browse/OR-31266
#rb none
#tests Jump pads on Sovereign2 multiPIE
Change 3191985 on 2016/11/09 by Laurent.Delayen
Additional debug info for https://jira.it.epicgames.net/browse/OR-31300
#rb none
#tests compiles
Change 3191565 on 2016/11/09 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3191371
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3191564 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3190702 on 2016/11/08 by David.Ratti
Fix PIE autologgin mcp problem
#rb JoshM
#tests PIE autologgin
Change 3190591 on 2016/11/08 by Mieszko.Zielinski
Added a way to RecastNavMesh to retrieve navigation links in a given tile #UE4
#rb Lukasz.Furman
#test golden path
Change 3190363 on 2016/11/08 by Frank.Gigliotti
Root motion velocity clamping and bug fixes;
* Added option to clamp velocity when ending MoveToActorForce, MoveToForce, and RadialForce root motions.
* Disabled partial ticking on the FRootMotionSource_ConstantForce when applying the finishing velocity or clamping velocity on root motion ability tasks. This ensures the desired velocity is set correctly.
* Added AbilityTask_ApplyRootMotion_Base as a base class for all root motion ability tasks.
#RB David.Ratti, Zak.Middleton
#c0dereview Zak.Middleton
#Tests PIE - Multiple heroes with root motion abilities
Change 3190344 on 2016/11/08 by Laurent.Delayen
RootMotionSources: Tracking down https://jira.it.epicgames.net/browse/OR-31266
Testing for 'Matches' rule in more places, to track down where it breaks. Added more info. Switched check to ensure, so it doesn't prevent playtests.
Minor tweaks:
- Test for ID before TimeStamp
- Changed auto to proper type.
- Trim RootMotionIDMappings of outdated mappings since we can iterate over that array quite a bit.
#rb none
#tests multiPIE
Change 3190217 on 2016/11/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3190009
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3190216 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188560 on 2016/11/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3187796
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3188499 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188012 on 2016/11/05 by Andrew.Grant
Merging using ROBO://Orion/Main->//Orion/Dev-General
#rb #tests na
Change 3187818 on 2016/11/04 by Michael.Noland
Editor: Refactored the game instance PIE creation hooks, allowing them to pass an error message back that will be displayed to the user explaining why PIE was aborted/failed to start
- Fixed a potential crash trying to tear down a null world when UGameInstance::StartPlayInEditorGameInstance fails
Upgrade notes:
- UGameInstance::InitializePIE overrides should now override InitializeForPlayInEditor instead
- UGameInstance::StartPIEGameInstance overrides should now override StartPlayInEditorGameInstance instead
- These methods return a FGameInstancePIEResult which can be created via FGameInstancePIEResult::Success() or FGameInstancePIEResult::Failure(), and take a parameter struct to make it easier to send additional information in the future without breaking the signature again
#rb matt.kuhlenscmidt
#tests Tested various PIE configurations in Paragon
Change 3187756 on 2016/11/04 by Michael.Noland
Editor: Added support for games to respond to Play in Editor setting changes (by properly calling PostEditChange when the PIE/SIE menu options are picked/toggled)
#tests Tested in Paragon by binding to FCoreUObjectDelegates::OnObjectPropertyChanged
#rb ben.ziegler
Change 3187258 on 2016/11/04 by Dan.Hertzka
- UTextBlock::SetText is now virtual
- OrionTextBlock has a property ("All Caps") that, if true, will always convert all text it's given to ALL CAPS
#c0dereview Sean.Smith, Philip.Buuck, Marcel.Swanepoel, Bryan.Rathman
#rb none
#tests PIE
Change 3187157 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Case fix for staged files
#rb Ben.Marsh
#tests preflighted
#R0B0MERGE-SOURCE: CL 3187153 in //Orion/Release-34/... via CL 3187154 via CL 3187155 via CL 3187156
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186870 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3186846
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3186855 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186243 on 2016/11/03 by Michael.Noland
Engine: Fixed reporting of ScreenPct when the cvar is set directly rather than via game user settings
- Also fixed a place that was using ScreenPct as an integer instead of a float in the OSVR plugin
#jira OR-23184
#tests Tested by setting r.screenpercentage directly to a different value and inspecting the chart results
#rb ben.ziegler
Change 3185134 on 2016/11/03 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3185065
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3185131 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3183689 on 2016/11/02 by Aaron.McLeran
OR-31091 Implementing 3175639 in Dev-General
#rb zak.middleton
#tests unplug headphones and observe no log spam or other issues
Change 3183292 on 2016/11/02 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3182926
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3183084 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3182323 on 2016/11/01 by Dan.Hertzka
Fix crash in sequencer when opening a widget BP with the sequencer tab closed (failed to null check)
#c0dereview Nick.Darnell
#rb Stephan.Jiang
#tests none
Change 3182295 on 2016/11/01 by Daniel.Lamb
Fixed up routing BeginDestroy.
#rb Andrew.Grant
#jira OR-31043
#test Paragon win64 -game
Change 3181975 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181895 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181892 on 2016/11/01 by Michael.Trepka
Copy of CL 3162466
By default, do not compile Mac OpenGL and Metal SM4 shaders while cooking
#rb Mark.Satterthwaite
#jira UE-37088
#tests Cooked MacNoEditor data on Windows
Change 3181624 on 2016/11/01 by David.Ratti
Pass attribute value by reference through SetNumericValue_Internal so that the final/clamped value is what is broadcasted to attribute change delegates
#rb none
#tests golden path w/ extra logging to verify final value is what is broadcasted
#c0dereview Billy.Bramer, Fred.Kimberley
Change 3181574 on 2016/11/01 by Jason.Bestimt
#ORION_DG - Fixing up R0B0MERGE issue
#RB:none
#Tests:none
Change 3180859 on 2016/10/31 by Brian.Karis
Removed SSAO from hair
Change 3180320 on 2016/10/31 by Daniel.Lamb
Added support for rebuild lighting commandlet to read maps to rebuild from ini file.
#rb Andrew.Grant
#test Paragon rebuild lighting
#jira OR-30841
Change 3180227 on 2016/10/31 by Laurent.Delayen
Disabled Warning to fix https://jira.it.epicgames.net/browse/OR-30965
Will be turned into a warning message in the BP editor.
#c0dereview benn.gallagher
#rb none
#tests none
Change 3179903 on 2016/10/31 by jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3179886
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3179895 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3177903 on 2016/10/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3177869
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3177901 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3175548 on 2016/10/26 by Michael.Noland
GameplayAbilities: Change it so that delegates registered via RegisterGameplayAttributeEvent are still called on the client when there is no aggregator entry
#rb david.ratti
#c0dereview billy.bramer
#tests Tested in multiplayer PIE client with a new minion callback and golden path in -game
Change 3175544 on 2016/10/26 by Bart.Hawthorne
Draft in replays improvements:
- Marker added to timeline bar that shows when the level change happens
- Added "Skip Draft" button when loading a replay which will bypass the draft
- Only PvP matches will record replays
- Added "Exit Replay" button to hamburger menu while in draft
- No longer load hero data before viewing a replay if not skipping draft
- Enable replay recording in PvP
#rb john.pollard
#c0dereview paul.moore
#tests nomcp golden path up to spawnpoint, created and loaded several replays
Change 3175533 on 2016/10/26 by Michael.Noland
Fix for FMallocBinned::GetAllocationSize() for aligned allocations.
#jira UE-37249
#jira UE-37243
#rb robert.manuszewski
#lockdown robert.manuszewski
[reimplementing CL# 3165739 from Release-4.13]
#tests Compiled
Change 3175311 on 2016/10/26 by Daniel.Lamb
Added support for safe zone change.
Messed up files in last checkin
#test Ps4 paragon
#jira OR-30506
#rb Matt.Kuhlenschmidt
Change 3175298 on 2016/10/26 by Daniel.Lamb
Added support for updating safe area
#rb Matt.Kuhlenschmidt
#c0dereview Andrew.Grant Nick.Darnell
#test Ps4 paragon
#jira OR-30506
Change 3175209 on 2016/10/26 by David.Ratti
Fix a few cases where default gameplay cue parameters weren't initialized properly and could not be translated by the skin system. Fixes some mayan steel issues.
#rb none
#tests pie
Change 3174858 on 2016/10/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34/33.2 @ CL 3174784
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3174857 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3174822 on 2016/10/26 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
#rb marc.audy
#test create/destroy effects with HQ lights in editor.
Change 3174344 on 2016/10/25 by Ryan.Gerleve
Added a bIsNetStartupComponent flag to UActorComponent. This will be set for components that are owned by an actor when that actor's bNetStartup flag is set.
#rb john.pollard
#tests golden path
Change 3174270 on 2016/10/25 by Marcus.Wassmer
Add LightingChannel control to High Quality particle lights.
#rb none
#test tested different lighting channels.
Change 3173855 on 2016/10/25 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3173292
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3173361 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3173843 on 2016/10/25 by Michael.Trepka
Update custom window controls on toggle fullscreen and make sure that when we switch to windowed mode we don't use window size that wouldn't fit on desktop
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3173783 on 2016/10/25 by Dan.Youhon
Add VelocityOnFinish mode options to RootMotionRadialForce so that designers can control what happens to a character's velocity when the ability task ends (part of #OR-30249)
#rb None
#tests MultiPIE
Change 3173734 on 2016/10/25 by Dan.Youhon
Protect against invalid Duration in FRootMotionSource_MoveToDynamicForce on simulated clients #OR-27128
#rb None
#tests MultiPIE
Change 3173714 on 2016/10/25 by David.Ratti
Add Game and Engine Compat versions for replays
#coderview John.Pollard
#rb Lietz
#tests golden path, replays
Change 3173681 on 2016/10/25 by Bart.Hawthorne
Implement drafting in replays. A replay spectator is spawned in the draft lobby so that the draft is saved out to the replay server, and clients are now able to travel in replays both when they occur "naturally" (at the same time as if they were a client), and also by scrubbing to a place in the timeline that's a different level.
The feature is implemented but currently disabled by default - turn on by setting CVarEnableDraftInReplays to 1. Replays should function the same as before.
Also fixed a warning on the dedicated server related to abandoning a draft.
#rb john.pollard
#c0dereview josh.markiewicz, paul.moore
#tests nomcp golden path (up to spawning), recorded multiple replays and played back with lots of scrubbing
Change 3173677 on 2016/10/25 by Andrew.Grant
Reenabled audio thread
Added safety wrapper to prevent code accidentally using events after they are returned to the pool.
#tests na
#rb Gil.Gribb
Change 3173588 on 2016/10/25 by Ryan.Gerleve
Added a replication condition to skip replays.
#tests golden path
#rb john.pollard
Change 3172692 on 2016/10/24 by Marcus.Wassmer
Fix OR-30390 caused by missing mutex lock
#rb none
#test compile ps4
Change 3172025 on 2016/10/24 by Matt.Kuhlenschmidt
Fix blur widget not respecting clip rects
#rb none
#tests paragon blur widget clipping bugs
Change 3171570 on 2016/10/23 by Mieszko.Zielinski
Moved Bots' enemy selection eqs query triggering to native code #Orion
Did this to be able to manually trigger enemy selection when current enemy dies, to avoid having a "null" enemy in BB for couple of ticks.
Also, made couple of tweaks to positioning and tower attacking behavior of melee bots
#rb none
#test golden path
Change 3171100 on 2016/10/21 by Aaron.Eady
FGameplayCueTagDetails;
Adding a check for if the RawStructData.Num > 0 before trying to use it. There was a case where you could crash the editor if you create a new GC tag inside of a BP, compile the BP, click Add New, select a GC type, then when the file is created, click away from it in the content browser. This repro wasn't 100% but often enough to caus a problem.
#rb David.Ratti (actually wrote the code)
#tests PIE
Change 3171060 on 2016/10/21 by Ryan.Gerleve
Some cleanup and fixes for deathcam:
The recording demo net driver for the deathcam replay now uses checkpoint amortization to smooth out spikes.
Converted UOrionKillcamPlayback::IsKillcamWorld to IsKillcamActor, since IsKillWorld isn't useful for the new single-world implementation.
Converted a GetValueOnGameThread to GetValueOnAnyThread (wasn't in the merge) so that deathcam replay recording can happen on a thread.
Added comment to UAbilitySystemComponent::OnComponentDestroyed.
#rb john.pollard
#tests golden path, enabled deathcam
Change 3171041 on 2016/10/21 by Ryan.Gerleve
Make the CheckpointSaveMaxMSPerFrame value a member of UDemoNetDriver so it can be set per instance, and convert the demo.CheckpointSaveMaxMSPerFrame cvar into an override for this value.
#rb john.pollard
#tests golden path
Change 3170917 on 2016/10/21 by Mieszko.Zielinski
Made a change to OrionBTTask_ObjectiveGraphMove to make it fallback to regular move if the destination is in the same or second-closest objective graph node #Orion
#rb none
#test golden path
Change 3170914 on 2016/10/21 by Mieszko.Zielinski
Fixed EQS scoring bug resulting in some items getting NaN scored #UE4
The NaN was happening when scoring but not filtering using a bool-based test, or when unintentionally skipping items by moving item iterator without doing any work.
Removed a bunch of deprecated code while there
#rb Lukasz.Furman
#test golden path
Change 3170912 on 2016/10/21 by Mieszko.Zielinski
Manual merge of crucial BT fixed over from //Fortnite/Main #UE4
Original CL#3159145 , CL#3159892
#rb Lukasz.Furman
#test golden path
Change 3170478 on 2016/10/21 by David.Ratti
fix editor crash related to recompiling gamplay cue blueprint while a preview animation is playing that invokes that gameplay cue.
#rb none
#tests editor
Change 3170231 on 2016/10/21 by Ryan.Gerleve
Fix for an issue that was preventing moving your hero after spawning in PIE in Agora: set the net driver on static level collections as well.
#tests golden path, PIE
#c0dereview john.pollard
#rb none
Change 3170074 on 2016/10/20 by Ryan.Gerleve
Merging support for recording client replays in a task parallel with Slate (optimization for deathcam) from UE4/Dev-Networking.
CL 3169209
#tests golden path, replays
#rb none
Change 3170019 on 2016/10/20 by Ryan.Gerleve
Merging support for deathcam memory optimizations (level collection work) from UE4/Main and UE4/Dev-Networking.
CLs:
3134499
3134771
3135279
3137140
3138081
3140413
3150142
3142515
3162189
3162194
#tests golden path
#rb none
Change 3169686 on 2016/10/20 by Michael.Trepka
Fixed a Windows-specific problem with parts of the custom window buttons not accepting mouse clicks when the window is maximized due to window region used by FWindowsWindow::IsPointInWindow() being offset by border size.
#rb Jeff.Campeau
#tests Tested in editor build on PC
Change 3169668 on 2016/10/20 by Max.Chen
Sequencer - Don't crash when a bool track or visibility track has a null runtime object.
Copy from Odin
#rb none
#tests opened a recorded sequence
Change 3169657 on 2016/10/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_33 - Fix for localization export of web data
Fixed export of localized formatted text
- Removed the super-specific GetSourceTextsFromFormatHistory, and replaced it with the more-generic GetHistoricFormatData to get information about an FText that was generated via FText::Format.
- Added GetHistoricNumericData to get information about an FText that was generated via FText::AsNumber or FText::AsPercent.
- Updated the translation picker to use GetHistoricFormatData.
- Removed the code from FMultiLocHelper that used GetSourceTextsFromFormatHistory as it wasn't actually needed.
- Added code to FGameDataExporter to correctly localize a formatted text for a given culture, and re-format the result for export.
[c0dereviewed]: jamie.dale
#RB:none
#Tests:Exported game data!
#R0B0MERGE-SOURCE: CL 3169653 in //Orion/Release-33/... via CL 3169654 via CL 3169655 via CL 3169656
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3169616 on 2016/10/20 by David.Ratti
missed file
#rb none
#tests none
Change 3169597 on 2016/10/20 by David.Ratti
Missed include
#rb DanH
#tests none
Change 3169393 on 2016/10/20 by David.Ratti
AbilitySystem.GlobalAbilityScale cvar to help design iterate on animation/duration based tweaks
#rb none
#tests pie
Change 3168287 on 2016/10/19 by Mieszko.Zielinski
Expanded EQS info logged with vlog #UE4
#rb none
#test golden path
Change 3168282 on 2016/10/19 by David.Ratti
Restore warning when multiple GC notifies try to handle the same tag.
#rb none
#tests compile, launch editor, see warnings, cry
Change 3168196 on 2016/10/19 by Jon.Lietz
compile fix, removing the int version of FirstActiveIndex and leaving the in32 version.
#RB none
#tests compiles
Change 3168041 on 2016/10/19 by Michael.Trepka
Don't restore saved resolution on window activation in non-fullscreen modes
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3167859 on 2016/10/19 by Aaron.McLeran
UE-36288 Fixing concurrency resolution stop quietest
Implementing in Dev-General for Joey since he needs the fix ASAP.
#rb Jeff.Campeau
#tests perform tests described in JIRA bug.
Change 3167790 on 2016/10/19 by Andrew.Grant
Duplication of 3167569 from //Odion/Main for Paragon cinematics
#rb none
#tests compiled
Change 3167682 on 2016/10/19 by Laurent.Delayen
Integrated #ORION_33.1 - Disabled WindSources on Cloth and AnimDynamics, as it's not safe to access from the GameThread. https://jira.it.epicgames.net/browse/OR-30473
#rb ori.cohen, benn.gallagher
#tests Vamp, Kwang, Chains in Persona and PIE with WindActor in level.
Change 3167466 on 2016/10/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3167368
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3167456 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3167312 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#rb Lukasz.Furman
#test golden path
#jira UE-37496
Change 3166784 on 2016/10/18 by Laurent.Delayen
Don't leave PhysicsBodies::bWindEnabled uninitialized in case Wind is not enabled (Persona)
#rb none
#c0dereview benn.gallagher
#test Chains in Persona
Change 3166641 on 2016/10/18 by Mieszko.Zielinski
Made the value span used for EQS item score normalization configurable #UE4
#rb Lukasz.Furman
#test golden path
Change 3166632 on 2016/10/18 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Added support for multiple deployment sandboxes on PS4.
BuildCookRun -deploy=SomeDir
ps4.elf -deployedbuild=SomeDir
Omitting name in -deploy/-deployedbuild falls back to previous default of using 'GameName' as the deployment sandbox.
#tests BuildCookRun with -deploy and -deploy=Orion_v33, Ran PS4 with -deployedbuild and -deployedbuild=Orion_v33
[c0dereviewed] Marcus.Wassmer, Luke.Thatcher
#rb none
#R0B0MERGE-SOURCE: CL 3166622 in //Orion/Release-33/... via CL 3166629 via CL 3166630 via CL 3166631
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3166494 on 2016/10/18 by Michael.Noland
Engine: Removed irrelevant GPU stats from FPS chart server analytics reports
#jira OR-13877
#rb david.ratti
#tests Ran golden path on uncooked Win64, used forcewinmatch, and inspected the analytics arrays
Change 3166476 on 2016/10/18 by Michael.Noland
Cooker: Deleting dead GenerateManifestInfo methods
#tests Compiled
#rb none
#c0dereview daniel.lamb
Change 3166471 on 2016/10/18 by Michael.Noland
Making sure DebugWorlds/DebugWorldNames are in sync, since we expect an index from one to match the other (fixes an issue where users could select a debug world and the wrong one was chosen).
[reimplementing CL# 3157138 by Mike.Beach]
#jira UE-37107
#rb Dan.OConnor
#tests Tested multiplayer PIE and opening an anim BP
Change 3166460 on 2016/10/18 by Michael.Noland
Particles: Prevent log spam on servers about stripped emitters
#rb graeme.thornton
[reimplementing CL# 3157862 by Simon.Tovey]
#tests Ran an uncooked server and tested golden path
Change 3166339 on 2016/10/18 by Laurent.Delayen
oops, this file got away.
#rb none
#tests none
Change 3166337 on 2016/10/18 by Laurent.Delayen
Fix for AnimDynamics Wind crash.
https://jira.it.epicgames.net/browse/OR-30351
Access WindParameters on GameThread. Also minor optimization: don't iterate over bodies every frame if wind is off.
#rb benn.gallagher
#c0dereview lina.halper, thomas.sarkanen
#tests Vamp
Change 3166207 on 2016/10/18 by Mieszko.Zielinski
Bot perception work #Orion
Added a new sense that makes bots know about enemies visible on the minimap
Made jungle minions do not register as sight sources
Cleaned up bot perception component a bit
#rb none
#test golden path
Change 3166138 on 2016/10/18 by Michael.Noland
Blueprints: Converted a crash with the debug world name in the BP editor to an ensure until it can be fixed properly (see OR-29650)
#c0dereview dan.oconnor
#rb none
#tests Tested opening an anim BP during multiplayer PIE
Change 3165860 on 2016/10/18 by David.Ratti
remove some debug code that wasn't intended to be checked in
#rb none
#tests compile
Change 3165288 on 2016/10/17 by Ian.Fox
#XMPP - Add correlation id attribute to outgoing stanzas
#RB Rob.Cannaday
#Tests Correlation IDs come back in responses to xmpp messages we send
#JIRA OGS-409
Change 3165096 on 2016/10/17 by David.Ratti
Fix issue where gameplay tags net indices would be out of sync on cooked PS4 client playing on uncooked windows servers. Would cause some effects to not play.
#rb none
#tests PS4/PC crossplay
Change 3164973 on 2016/10/17 by Dan.Hertzka
Fix link error
#rb #tests compile
Change 3164910 on 2016/10/17 by Lukasz.Furman
fixed bug in merging behavior tree searches
copy of CL 3164903
#ue4
#rb Mieszko.Zielinski
#tests none
Change 3164908 on 2016/10/17 by Dan.Hertzka
Exposing the blur widget for use in Paragon
** Use OrionBlurWidget, not the base BackgroundBlurWidget
- Added it to the hero and default tooltips for reference
#rb none
#c0dereview Marcel.Swanepoel, Sean.Smith, Bryan.Rathman
#tests PIE
Change 3164482 on 2016/10/17 by David.Ratti
Editor loadtime improvements
* Refactor GameplayCue manager to support two distinct object library sets: Runtime and Editor. Editor library operates on all valid gameplay cue paths but never loads or scans, only reflects what asset registry has found. Runtime library is the initial loaded paths + any explicit requests. These scan when needed and async load at startup.
* Wrote UOrionAsyncLoadRequestQueue to feed the async load queue with requests at startup. This is to avoid submitting 300+ requests at startup and have them flushed by a sync load. The editor will wait until it is fully initialized before kicking these off.
* Changed UOrionUIManagerWidget to weakly reference all of its state widgets. In non editor builds these are all loaded at startup like before. In editor builds, we sync load them on demand. This allows us to not load everything in order to PIE.
* Added options for loading various pieces of data at editor startup: HUDwidget V4, last used hero data, and shared gameplay cues.
* -game -nomcp will now properly async load initial set of data
* BeginLoadAsyncData no longer takes netmode as parameter since it is confusing and can just use IsDedicatedServer() internally
* Added new log category: LogOrionStartup
#rb none
#c0dereview Dan.Hertzka
#tests pie, golden path, cooked PS4
Change 3163635 on 2016/10/14 by Laurent.Delayen
AnimInstance: Pass a few FNames by reference instead of by value. Added CalcSlotMontageLocalWeight to get local a slot's local weight without a frame a lag. Fixed Montage update happening after native update on gamethread, but before native update on worker thread. Now happens before both, so we can reliably get montage weights without a frame of lag regardless of where we access it.
#rb none
#c0dereview martin.wilson, thomas.sarkanen
#tests fixes Twinblast's primary fire blend out having a frame a lag.
Change 3163620 on 2016/10/14 by Laurent.Delayen
AnimNode_Slot debug: Show actual slot local weight, instead of always 1.
#rb none
#c0dereview martin.wilson
#tests twinblast debug
Change 3163061 on 2016/10/14 by Andrew.Grant
Pulling test framework changes into seprate CL
#rb #tests na
Change 3162675 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes down early.
#rb #tests na
#R0B0MERGE-SOURCE: CL 3162674 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3162062 on 2016/10/13 by Michael.Trepka
Replaced FWindowsCursor hack for warping the mouse cursor to the center of the viewport with a better fix for the original problem (users being able to resize the window while the cursor is hidden and the mouse controls the camera). This change removes round window corners in borderless window mode and disables window resizing when the cursor is hidden.
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3161489 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3161453
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3161473 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3160664 on 2016/10/12 by Ben.Salem
Fix logic order error fuzzy matching on automated tests - we were only allowing one match per filter instead of one match per test.
#rb adric.worley
#tests Ran All Ftests that start with S
Change 3159866 on 2016/10/12 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3159727
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3159865 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158870 on 2016/10/11 by John.Barrett
Fixed issue where some PacketHandler parsing errors, would not stop NetConnection processing of packets, and would not trigger a disconnect.
#JIRA OR-29219
#rb none
#tests compiles, client/server
Change 3158336 on 2016/10/11 by Lukasz.Furman
string pulling for local navigation grids
#ue4
#rb Mieszko.Zielinski
#tests PIE
Change 3158203 on 2016/10/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3158043
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3158154 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158162 on 2016/10/11 by Matt.Kuhlenschmidt
Added a blur widget to umg that applies a blur effect to whatever is behind the widget
- The widget has a content slot that can be used to display unblurred content on top of the blur
- The widget has a low quality mode brush that can be applied instead of the background blur. This is enabled by the cvar Slate.ForceBackgroundBlurLowQualityOverride=1
- This widget is currently expermental and must be subclassed to be used
#tests Tested on PS4, PC, Mac (opengl and metal)
#rb nick.darnell
Change 3157232 on 2016/10/10 by Lukasz.Furman
added local navigation grids: dynamic obstacles on static navmesh
#ue4
#rb Mieszko.Zielinski
#tests none, disabled by default
Change 3157112 on 2016/10/10 by Laurent.Delayen
Removed my layer anim node fix, since Martin did a similar fix.
#rb none
#tests compiles
#c0dereview martin.wilson
Change 3156789 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3156726
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3156788 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156717 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging 3156681 from //Orion/Release-33 to Main
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156713 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156596 on 2016/10/10 by Martin.Wilson
Fix pose flickering on LOD change when using Layered Blend by Bone node (recreated from dev-framework CL 3112086)
#Jira OR-30017
#rb Lina.Halper
#tests Tested affected anim nodes in editor
Change 3156149 on 2016/10/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes from //Orion/Release-33.2 to Main (//Orion/Main)
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156148 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3155444 on 2016/10/07 by David.Ratti
-Fix crashes from FScalableFloats caching raw curve pointers by invalidating cache on curve table swaps
-Removed the old code that was trying to do this in the editor on reimport, which never actually worked properly.
#rb none
#tests golden path
Change 3155228 on 2016/10/07 by Michael.Trepka
Partial (Windows implementation only) copy of CL 3151851 from //UE4/Main
Added DesktopRect and WorkArea to FMonitorInfo for desktop platforms and used that to fix an issue in SceneViewport where windowed fullscreen mode would be forced to primary monitor and incorrectly positioned on desktops where a taskbar/dock/etc. was on the left
#rb Dmitry.Rekman
#tests Tested in editor build on PC
Change 3154910 on 2016/10/07 by Lukasz.Furman
added new accessors in TSimpleCellGrid and inlined bunch of functions
#ue4
#rb none
#tests none
Change 3154906 on 2016/10/07 by Lukasz.Furman
adjusted comments for FGraphAStar
#ue4
#rb none
#tests none
Change 3154679 on 2016/10/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33 @ CL 3154662
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3154677 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153638 on 2016/10/06 by Andrew.Grant
Duplicating fix for UE-36087 from UE4
#rb #tests na
Change 3153325 on 2016/10/06 by David.Ratti
CurveTableSets: support for multiple spread sheets
-Sovereign data located in Sovereign subfolder, cloned from base data.
#rb none
#tests PIE, golden path
Change 3153318 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3152667
#RB:none
#Tests:none
[c0dereviewed]: kerrington.smith, matt.schembari
#R0B0MERGE-SOURCE: CL 3153310 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153268 on 2016/10/06 by David.Ratti
Missed file for engine changes
#rb none
#tests none
Change 3153264 on 2016/10/06 by David.Ratti
Move some DetailCustomziation classes to public folder so that games can override/extend them. Also made some virtual functions to override the things paragon needs to.
#rb none
#tests paragon editor
Change 3153204 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3152587
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3153171 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3152699 on 2016/10/05 by Andrew.Grant
I apologize for the mega-checkin but there are a lot of dependencies here, the work spiralled, and I've been cranking to get this in for the v33 branch. Please review and comment on what you know about and don't worry about the rest :)
-Added options-struct to MallocLeak detection to allow filtering open callstacks by frame range and size. This is now used in Paragon automatic tests to dump out memory left loaded by the previous map.
-PS4StackWalk now uses lowercase filenames as this is how non-UFS files are staged
-Renamed Orion.Foo.cs test scripts to OrionTest.Foo.cs
-Split some Orion tests into seprate scripts
-Added concept of "TestControllers". These are constructed by OrionEngine based on the -test= commandline and provide a super-simple way to implent state-based logic and checks by overriding base class functions.
-Added controllers for Boot, Soak, and Leak checks
-Renamed SimpleSolo bot to SimpleSoak. Moved a lot of logic about match composition and state to OrionTestControllerSoak
-Added new MatchStarted/MatchEnded delegates to OrionGameState for clients
-Fixed issues where OrionGameState_Base::HasMatchStarted would return true for WaitingForPlayers and MatchCountdown
-OrionBot code no longer caches command line since some TestControllers set it at runtime
-Added some ensures in Draft logic to catch/guard against a crash being triggered by bots.
#rb none
#tests verified all of the above and much more!
#c0dereview David.Ratti, Marcus.Wasmer,Michael.Noland
Change 3152605 on 2016/10/05 by Andrew.Grant
Suppressed warning about missing parent if parent package was in the KnownMissingPackageList
Added Editor ScaleRef stuff to Orion to suppress cooked warning
#rb none
#c0dereview Marcus.Wassmer
#tests Verified warning about ScaleRef being missing is gone
Change 3152596 on 2016/10/05 by Andrew.Grant
Made ASLR an option that can be disabled.
Disabled ASLR for Paragon PS4 Test builds so symbol lookup is available for diagnostics.
Made "don't optimize adaptive unity files" an official feature, off by default but turned on in Paragon
#c0dereview Luke.Thatcher
#rb none
#tests Verified test build has symbols that can be resolved. Verified an adaptive unity file is non-optimized, but non-adaptive files are optimized as normal
Change 3152399 on 2016/10/05 by Josh.Markiewicz
#UE4 - temporary fix for OSS R0B0MERGE issue
#rb david.nikdel
#test compiles
Change 3150916 on 2016/10/04 by Daniel.Lamb
Removed warning when shader compiler is in a bad state.
#rb Andrew.Grant
#jira OR-29580
#test Cook paragon
Change 3150889 on 2016/10/04 by Ben.Salem
Add log feedback to automation harness when processing commands, including syntax helpers when an unhandled command is added.
#rb adric.worley
#tests Ran several commands to see log output.
Change 3150844 on 2016/10/04 by Lukasz.Furman
compilation fix
#rb none
#tests none
Change 3150759 on 2016/10/04 by Lukasz.Furman
added "hidden" state to gameplay debugger category
#ue4
#rb Mieszko.Zielinski
#tests config changes and PIE
Change 3150758 on 2016/10/04 by Lukasz.Furman
pass on SimpleCellGrid template to make it usable for local navigation grids
#orion
#rb Mieszko.Zielinski
#tests PIE on agora, AI tactics debug on agora
Change 3150567 on 2016/10/04 by Dan.Hertzka
Rough initial implementation of a generic UI layer for moving widgets around to and from arbitrary locations. Lots of possible uses. For example, equipping a card in the card shop that then animates down into the correct hand slot.
- Not in actual use anywhere yet
#rb none
#tests PIE
Change 3150307 on 2016/10/04 by Laurent.Delayen
Removed check() not considering SimulatedRootMotion for RemoteClients.
#rb none
#tests compiles
Change 3150236 on 2016/10/04 by Josh.Markiewicz
#UE4 - added documentation to FNetworkNotify interface
- fixed bad UE_LOG category while double checking the above
#rb none
#tests compiles
Change 3150206 on 2016/10/04 by Josh.Markiewicz
#UE4 - moved ClientTravelToSession out of AGameSession and into UGameInstance
- removed similar function from UGameInstanceCommon
- more common usage location
#rb none
#c0dereview paul.moore
#tests rejoin vectors and golden path
Change 3150073 on 2016/10/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3150010
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3150072 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3150031 on 2016/10/04 by Mieszko.Zielinski
New AIData provider that generated random numbers #UE4
#rb Lukasz.Furman
#test golden path
Change 3149946 on 2016/10/04 by Ben.Woodhouse
Make UPrimitiveComponents (and derived variants) take proxy memory into account in GetResourceSize()
We do this by dereferencing the SceneProxy directly, but this should be safe, since we NULL it on the gamethread before the proxy is released.
#jira OR-26778
#rb luke.thatcher
#tests compile, run Win64 with -game, run editor
Change 3149743 on 2016/10/03 by Ben.Salem
Null check for blank test names when making functional tests to repair crash on server.
#rb nick.darnell
#tests Ran multiple FTests
Change 3149460 on 2016/10/03 by Laurent.Delayen
Refactored TickCharacterPose.
Now calls 'ShouldTickPose' so it can get properly obey bPauseAnims, MeshComponentUpdateFlag and other conditions.
Still forces updates when playing networked root motion montages, and that check is now done inside of USkeletalMeshComponent::ShouldTickPose().
Fixes human players always calling TickPose regardless of settings on dedicated servers.
Also addresses Jira UE-34720
#rb martin.wilson
#tests networked Vamp x2 + golden path
Change 3149435 on 2016/10/03 by Mieszko.Zielinski
Fixed a bug in EQS item score normalization for the purposes of drawing #UE4
Also, made printed out scores not normalized since seeing original EQS calculated score desirable
#rb Lukasz.Furman
#test golden path
Change 3148550 on 2016/10/03 by John.Barrett
Fixed bad/blocking ensure added in FBitReader. OR-29219
#tests compile
#rb none
Change 3147460 on 2016/09/30 by Laurent.Delayen
Fixed AOrionChar::UpdateAnimationTicking never setting EMeshComponentUpdateFlag::OnlyTickPoseWhenRendered, because OnMontageEnded() is called before the MontageInstance is actually removed and deleted.
Added OnAllMontageInstancesEnded to AnimInstance, and used that to call UpdateAnimationTicking.
#rb michael.noland
#tests Golden Path
Change 3146677 on 2016/09/30 by Jamie.Dale
Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing
#rb Andrew.Rodham
#tests Ran the gather
Change 3146555 on 2016/09/30 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3146524
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3146553 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3146129 on 2016/09/29 by Michael.Noland
Engine: Fixed the spectator camera (used in ToggleDebugCamera) so it moves consistently regardless of the slomo value by using the raw frame delta rather than trying to counter-correct for time dilation
#c0dereview marc.audy
#rb none
#tests Tested ToggleDebugCamera with slomo 0.00001
Change 3145574 on 2016/09/29 by Adric.Worley
Fix FunctionalTestingManager not compiling when included
#tests compile
#rb mieszko.zielinski
Change 3145224 on 2016/09/29 by Michael.Trepka
Better check for whether or not PreFullscreenWindowPlacement in FWindowsWindow is valid
#rb Dmitry.Rekman
#tests Tested editor build on PC
Change 3145132 on 2016/09/29 by Alexis.Matte
Make sure we use GetMesh instead of the SkeletalMeshPtr variable.
#jira OR-29617
#rb matt.kuhlenschmidt
#test none
Change 3144926 on 2016/09/29 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3144835
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3144925 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3144920 on 2016/09/29 by Benn.Gallagher
Added "Reset Clothing Sim" anim notify to trigger a clothing reset from an animation, to help with issues arising from extreme movements in animations.
#rb James.Golding
#tests Editor + -game vamp RMB abilities using new notify
Change 3144055 on 2016/09/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: ben.marsh
BuildGraph: Fix builds created with preconditions on nodes behind triggers, causing nightly builds to run forever due to conditions never evaluating to true.
#rb none
#tests Compared exported job definition before and after
#R0B0MERGE-SOURCE: CL 3143992 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3143801 on 2016/09/28 by Mieszko.Zielinski
Made UAIBlueprintHelperLibrary::CreateMoveToProxyObject deduce WorldContextObject from Pawn if not received from BP #Orion
Also, made failing to do so not fails a check
#rb Lukasz.Furman
#test golden path
#c0dereview Aaron.Eady
Change 3142377 on 2016/09/27 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Fix crashes when using GBuffer resources in simpleforward mode.
#rb Daniel.Wright
#test vamp Q on low settings.
#R0B0MERGE-SOURCE: CL 3142376 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3141628 on 2016/09/27 by David.Ratti
Guard against recursion in WaitGameplayEffectApplied ability task
#rb none
#tests pie crash case
Change 3141497 on 2016/09/27 by Marcus.Wassmer
Duplicate 3123743
Separate skeletal/static mesh lod interfaces
#rb none
#test created an LOD for vamp locally.
Change 3140832 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Remove dubious non-threadsafe GBuffer reference adjustments.
Possibly fix OR-29506
#rb none
#test PC on all settings
#R0B0MERGE-SOURCE: CL 3140831 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3140828 on 2016/09/26 by Uriel.Doyon
Workaround (reverting previous attemp) at fixing issue with FTextRenderSceneProxy when running command let.
#rb marcus.wassmer
#tests running lighting build with command let & loading editor
Change 3140331 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Cloning fix for UE-36253 from //UE4/Dev-Framework/...
#rb #tests na
#R0B0MERGE-SOURCE: CL 3140329 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139976 on 2016/09/26 by David.Ratti
balance tweaker + some prep for multiple data tables support
#rb none
#tests pie, golden path
Change 3139904 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Adding code to log name of package that refuses to load...
#rb none
#tests compiled
#R0B0MERGE-SOURCE: CL 3139902 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139871 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Fixes for OR-29229 and OR-29413
#rb #tests na
#R0B0MERGE-SOURCE: CL 3139870 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139751 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3139692
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3139740 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139451 on 2016/09/25 by Uriel.Doyon
Submitted a workaround for the lighting build command let crash.
#rb none
#tests loaded editor, built lighting command let
Change 3138304 on 2016/09/23 by David.Ratti
Fix checkslow in Debug editor
#rb none
#tests debug editor
#c0dereview Martin.Wilson
Change 3138068 on 2016/09/23 by Laurent.Delayen
Don't try to match invalid GUIDs in FSmartNameMapping::GetNameByGuid.
Fixes Steel's curves all getting matched to 'DistanceCurve'
#rb martin.wilson
#tests Steel's curve are not all 'DistanceCurve'
Change 3137830 on 2016/09/23 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3137699
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3137746 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3137657 on 2016/09/23 by Ben.Marsh
Fix initialization order warning.
#rb none
#tests none
Change 3137628 on 2016/09/23 by bruce.nesbit
Fixed non-unity compiles in LandscapeSplines and LandscapeSplineRaster
#rb none
#tests Compiled NU
Change 3137538 on 2016/09/23 by Thomas.Sarkanen
Fix crash rendering sequence with keyframed material parameters
Ported Frank F's fix from Dev-Sequencer. Original CL 3136577:
Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues.
#tests Rendered out problematic sequence successfully multiple times
#rb none
#jira UE-36175 - Keyframing material parameters can cause crashes when rendering
#c0dereview Frank.Fella
Change 3136580 on 2016/09/22 by Ben.Marsh
Merging CL 3136158 to fix support for generating project files with Visual Studio Express.
#rb none
#tests none
Change 3136574 on 2016/09/22 by Michael.Trepka
Fixed a crash caused by trying to redraw window contents while switching from fullscreen to windowed mode
#rb Marcus.Wassmer
#tests Tested editor build on PC
Change 3136293 on 2016/09/22 by Adric.Worley
Add BlueprintType to EFunctionalTestResult
#tests editor
#rb ben.salem
#c0dereview nick.darnell
Change 3136240 on 2016/09/22 by Andrew.Grant
Merging from //UE4/Main @ 3135156
#rb none
#tests QA pass and local golden path
Change 3136197 on 2016/09/22 by Jamie.Dale
Merging CL# 3094477 and CL# 3111827 to fix some tesselated landscape crashes
#rb Gareth.Martin
#tests Loaded the map that was crashing
Change 3135914 on 2016/09/22 by Dan.Youhon
Fixed CharacterMovementComponent impulse net correction handling during additive root motion (part of #OR-5545)
- Fixes #OR-28478, heroes tethered by Kwang cannot be knocked up
- Fixes #OR-18985, Gideon R ability negating knockback/knockup effects (including Howitzer E)
#rb None
#tests MultiPIE
#R0B0MERGE: MAIN, 32.2, 32.1
Change 3135893 on 2016/09/22 by David.Ratti
GameplayCueeditir Change override type from a checkbox to a combobox to make things a little clearer
#rb none
#tests gameplaycue editor
Change 3135843 on 2016/09/22 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3135756
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3135820 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Balance/HeroData.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Cards/Effects/P_ThunderCleaver.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/DataTables/HeroData.xlsm - can't integrate exclusive file already opened
#c0dereview: jason.bestimt
Change 3134639 on 2016/09/21 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3133910
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3134086 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#c0dereview: jason.bestimt
Change 3134367 on 2016/09/21 by Ben.Woodhouse
More complete fix for SSAO issues. Disable vertex fogging automatically if forward shading is disabled
#rb daniel.wright
#tests none
Change 3134176 on 2016/09/21 by Jason.Bestimt
#ORION_DG - UnrealPak speed improvements
Moving shelved CL to DG and submitting for DanielL
#RB:none
#Tests:none
#c0dereview: andrew.grant, daniel.lamb
Change 3134129 on 2016/09/21 by Jamie.Dale
Added the "unattended" flag when running the localzation commandlets via UAT
#rb none
#tests Built UAT
Change 3133864 on 2016/09/21 by Ben.Woodhouse
Default r.VertexFoggingForOpaque to 0, since it only makes sense for forward shading. This was causing fog to be modulated by SSAO in Orion.
Note: this setting is overridden to 1 in Odin's DefaultEngine.ini, so it should work in that case.
#c0dereview daniel.wright
#rb luke.thatcher
#jira OR-29262
#tests yes
Change 3133849 on 2016/09/21 by Martin.Wilson
Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1
#rb Jurre.DeBaare
#tests Editor tests with mambo pose asset
#jira UE-36189
Change 3133546 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Null merge of 3131588. Fix from 31.1 is unncecessary as a more complete fix came from the engine integration that's in v32.
#rb none
#tests none
[c0dereviewed] Jason.Bestimt
#R0B0MERGE-SOURCE: CL 3132617 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3133487 on 2016/09/20 by Michael.Noland
Automation: Added Automation to the manual autocomplete list
Change 3133363 on 2016/09/20 by Daniel.Lamb
Added Jaymee Sanford and Tony Oliva to the rebuild lighting email list.
#rb Trivial
#test Compile automation tool
Change 3132956 on 2016/09/20 by Benn.Gallagher
Fixed crash when importing clothing with mismatching number of triangles when compared to the original render data
#tests Editor, apex reimport
#rb none
Change 3132403 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3132254
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3132353 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3132332 on 2016/09/20 by Andrew.Grant
Replicated UE4/Main fix for missing materials pane
#rb none
#tests verified material pane shows
Change 3132131 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging automation work from //Orion/Release-32.2 to Main
#rb none
#tests verified functionality
#R0B0MERGE-SOURCE: CL 3132130 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3131698 on 2016/09/19 by Andrew.Grant
Qucik fix to unblock build. Will follow up correct way tomorrow
#rb none
#tests blueprint compiles
Change 3131489 on 2016/09/19 by Andrew.Grant
Merging from //UE4/Orion-Staging (Source: //UE4/Main @ 3111290)
#rb none
#tests QA pass in Orion-Staging, Golden path post merge
Change 3131350 on 2016/09/19 by Adric.Worley
Fix functional test reporting typo
#tests PIE
#rb ben.salem
Change 3130959 on 2016/09/19 by Mieszko.Zielinski
Compilation fix #UE4
#rb none
#test compilation
Change 3130904 on 2016/09/19 by Mieszko.Zielinski
Couple of generic AI perception fixes #UE4
Made unregistering AI sight source broadcast "no longer visible" information to all observers currently "seeing" the source
Fixed FActorPerceptionInfo::GetLastStimulusLocation not carying whether selected stimulus was successfully sensed
Fixed dominant sense not really working if not set with UAIPerceptionComponent::SetDominantSense call
#rb Lukasz.Furman
#test golden path
Change 3130304 on 2016/09/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3130115
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3130164 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
[CL 3205566 by Andrew Grant in Main branch]
2016-11-20 21:35:35 -05:00
/// <summary>
/// Prefix used for all dynamically created Unity modules
/// </summary>
public static string ModulePrefix = "Module." ;
2014-04-23 20:18:55 -04:00
/// <summary>
/// A class which represents a list of files and the sum of their lengths.
/// </summary>
public class FileCollection
{
2015-09-24 12:37:21 -04:00
public List < FileItem > Files { get ; private set ; }
2019-04-18 21:57:56 -04:00
public List < FileItem > VirtualFiles { get ; private set ; }
2015-09-24 12:37:21 -04:00
public long TotalLength { get ; private set ; }
2014-04-23 20:18:55 -04:00
2015-09-11 08:51:23 -04:00
/// The length of this file collection, plus any additional virtual space needed for bUseAdapativeUnityBuild.
/// See the comment above AddVirtualFile() below for more information.
2015-09-24 12:37:21 -04:00
public long VirtualLength { get ; private set ; }
2015-09-11 08:51:23 -04:00
2014-04-23 20:18:55 -04:00
public FileCollection ( )
{
2015-09-24 12:37:21 -04:00
Files = new List < FileItem > ( ) ;
2019-04-18 21:57:56 -04:00
VirtualFiles = new List < FileItem > ( ) ;
2014-04-23 20:18:55 -04:00
TotalLength = 0 ;
2015-09-11 08:51:23 -04:00
VirtualLength = 0 ;
2014-04-23 20:18:55 -04:00
}
public void AddFile ( FileItem File )
{
Files . Add ( File ) ;
2015-09-11 08:51:23 -04:00
2019-01-17 18:54:05 -05:00
long FileLength = File . Length ;
2015-09-11 08:51:23 -04:00
TotalLength + = FileLength ;
VirtualLength + = FileLength ;
}
/// <summary>
/// Doesn't actually add a file, but instead reserves space. This is used with "bUseAdaptiveUnityBuild", to prevent
/// other compiled unity blobs in the module's numbered set from having to be recompiled after we eject source files
/// one of that module's unity blobs. Basically, it can prevent dozens of files from being recompiled after the first
/// time building after your working set of source files changes
/// </summary>
2019-04-18 21:57:56 -04:00
/// <param name="File">The virtual file to add to the collection</param>
public void AddVirtualFile ( FileItem File )
2015-09-11 08:51:23 -04:00
{
2019-04-18 21:57:56 -04:00
VirtualFiles . Add ( File ) ;
VirtualLength + = File . Length ;
2014-04-23 20:18:55 -04:00
}
}
/// <summary>
/// A class for building up a set of unity files. You add files one-by-one using AddFile then call EndCurrentUnityFile to finish that one and
/// (perhaps) begin a new one.
/// </summary>
public class UnityFileBuilder
{
private List < FileCollection > UnityFiles ;
2015-09-24 12:37:21 -04:00
private FileCollection CurrentCollection ;
private int SplitLength ;
2014-04-23 20:18:55 -04:00
/// <summary>
/// Constructs a new UnityFileBuilder.
/// </summary>
/// <param name="InSplitLength">The accumulated length at which to automatically split a unity file, or -1 to disable automatic splitting.</param>
public UnityFileBuilder ( int InSplitLength )
{
2015-09-24 12:37:21 -04:00
UnityFiles = new List < FileCollection > ( ) ;
2014-04-23 20:18:55 -04:00
CurrentCollection = new FileCollection ( ) ;
2015-09-24 12:37:21 -04:00
SplitLength = InSplitLength ;
2014-04-23 20:18:55 -04:00
}
/// <summary>
/// Adds a file to the current unity file. If splitting is required and the total size of the
/// unity file exceeds the split limit, then a new file is automatically started.
/// </summary>
/// <param name="File">The file to add.</param>
public void AddFile ( FileItem File )
{
CurrentCollection . AddFile ( File ) ;
2015-09-11 08:51:23 -04:00
if ( SplitLength ! = - 1 & & CurrentCollection . VirtualLength > SplitLength )
2014-04-23 20:18:55 -04:00
{
EndCurrentUnityFile ( ) ;
}
}
2015-09-11 08:51:23 -04:00
/// <summary>
/// Doesn't actually add a file, but instead reserves space, then splits the unity blob normally as if it
/// was a real file that was added. See the comment above FileCollection.AddVirtualFile() for more info.
/// </summary>
/// <param name="File">The file to add virtually. Only the size of the file is tracked.</param>
public void AddVirtualFile ( FileItem File )
{
2019-04-18 21:57:56 -04:00
CurrentCollection . AddVirtualFile ( File ) ;
2015-09-11 08:51:23 -04:00
if ( SplitLength ! = - 1 & & CurrentCollection . VirtualLength > SplitLength )
{
EndCurrentUnityFile ( ) ;
}
}
2014-04-23 20:18:55 -04:00
/// <summary>
/// Starts a new unity file. If the current unity file contains no files, this function has no effect, i.e. you will not get an empty unity file.
/// </summary>
public void EndCurrentUnityFile ( )
{
if ( CurrentCollection . Files . Count = = 0 )
return ;
UnityFiles . Add ( CurrentCollection ) ;
CurrentCollection = new FileCollection ( ) ;
}
/// <summary>
/// Returns the list of built unity files. The UnityFileBuilder is unusable after this.
/// </summary>
/// <returns></returns>
public List < FileCollection > GetUnityFiles ( )
{
EndCurrentUnityFile ( ) ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < FileCollection > Result = UnityFiles ;
2014-04-23 20:18:55 -04:00
// Null everything to ensure that failure will occur if you accidentally reuse this object.
CurrentCollection = null ;
2015-09-24 12:37:21 -04:00
UnityFiles = null ;
2014-04-23 20:18:55 -04:00
return Result ;
}
}
2014-03-14 14:13:41 -04:00
/// <summary>
/// Given a set of C++ files, generates another set of C++ files that #include all the original
/// files, the goal being to compile the same code in fewer translation units.
/// The "unity" files are written to the CompileEnvironment's OutputDirectory.
/// </summary>
2014-07-31 09:34:11 -04:00
/// <param name="Target">The target we're building</param>
2014-03-14 14:13:41 -04:00
/// <param name="CPPFiles">The C++ files to #include.</param>
/// <param name="CompileEnvironment">The environment that is used to compile the C++ files.</param>
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
/// <param name="WorkingSet">Interface to query files which belong to the working set</param>
2014-03-14 14:13:41 -04:00
/// <param name="BaseName">Base name to use for the Unity files</param>
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
/// <param name="IntermediateDirectory">Intermediate directory for unity cpp files</param>
2019-01-17 18:54:05 -05:00
/// <param name="Makefile">The makefile being built</param>
2019-05-15 16:17:53 -04:00
/// <param name="SourceFileToUnityFile">Receives a mapping of source file to unity file</param>
2014-03-14 14:13:41 -04:00
/// <returns>The "unity" C++ files.</returns>
public static List < FileItem > GenerateUnityCPPs (
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
ReadOnlyTargetRules Target ,
2015-09-24 12:37:21 -04:00
List < FileItem > CPPFiles ,
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
CppCompileEnvironment CompileEnvironment ,
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
ISourceFileWorkingSet WorkingSet ,
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
string BaseName ,
2019-01-17 18:54:05 -05:00
DirectoryReference IntermediateDirectory ,
2019-05-15 16:17:53 -04:00
TargetMakefile Makefile ,
Dictionary < FileItem , FileItem > SourceFileToUnityFile
2014-03-14 14:13:41 -04:00
)
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < FileItem > NewCPPFiles = new List < FileItem > ( ) ;
2015-08-27 16:33: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
UEBuildPlatform BuildPlatform = UEBuildPlatform . GetBuildPlatformForCPPTargetPlatform ( CompileEnvironment . Platform ) ;
2014-03-14 14:13:41 -04:00
// Figure out size of all input files combined. We use this to determine whether to use larger unity threshold or not.
2019-01-17 18:54:05 -05:00
long TotalBytesInCPPFiles = CPPFiles . Sum ( F = > F . Length ) ;
2014-03-14 14:13:41 -04:00
// We have an increased threshold for unity file size if, and only if, all files fit into the same unity file. This
// is beneficial when dealing with PCH files. The default PCH creation limit is X unity files so if we generate < X
// this could be fairly slow and we'd rather bump the limit a bit to group them all into the same unity file.
2015-08-27 16:33:06 -04:00
// When enabled, UnrealBuildTool will try to determine source files that you are actively iteratively changing, and break those files
// out of their unity blobs so that you can compile them as individual translation units, much faster than recompiling the entire
// unity blob each 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
bool bUseAdaptiveUnityBuild = Target . bUseAdaptiveUnityBuild & & ! Target . bStressTestUnity ;
2015-08-27 16:33:06 -04:00
2014-03-14 14:13:41 -04:00
// Optimization only makes sense if PCH files are enabled.
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 bForceIntoSingleUnityFile = Target . bStressTestUnity | | ( TotalBytesInCPPFiles < Target . NumIncludedBytesPerUnityCPP * 2 & & Target . bUsePCHFiles ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 20:18:55 -04:00
// Build the list of unity files.
List < FileCollection > AllUnityFiles ;
2014-03-14 14:13:41 -04:00
{
2015-08-24 12:27:44 -04:00
// Sort the incoming file paths alphabetically, so there will be consistency in unity blobs across multiple machines.
// Note that we're relying on this not only sorting files within each directory, but also the directories
// themselves, so the whole list of file paths is the same across computers.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < FileItem > SortedCPPFiles = CPPFiles . GetRange ( 0 , CPPFiles . Count ) ;
2015-08-24 12:27:44 -04:00
{
// Case-insensitive file path compare, because you never know what is going on with local file systems
2015-09-24 12:37:21 -04:00
Comparison < FileItem > FileItemComparer = ( FileA , FileB ) = > { return FileA . AbsolutePath . ToLowerInvariant ( ) . CompareTo ( FileB . AbsolutePath . ToLowerInvariant ( ) ) ; } ;
SortedCPPFiles . Sort ( FileItemComparer ) ;
2015-08-24 12:27:44 -04:00
}
2015-08-27 16:33:06 -04:00
// Figure out whether we REALLY want to use adaptive unity for this module. If nearly every file in the module appears in the working
// set, we'll just go ahead and let unity build do its thing.
2015-09-24 12:37:21 -04:00
if ( bUseAdaptiveUnityBuild )
2015-08-27 16:33:06 -04:00
{
int CandidateWorkingSetSourceFileCount = 0 ;
int WorkingSetSourceFileCount = 0 ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem CPPFile in SortedCPPFiles )
2015-09-24 12:37:21 -04:00
{
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
+ + CandidateWorkingSetSourceFileCount ;
2015-09-24 12:37:21 -04:00
// Don't include writable source files into unity blobs
2019-03-13 14:47:24 -04:00
if ( WorkingSet . Contains ( CPPFile ) )
2015-08-27 16:33:06 -04:00
{
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
+ + WorkingSetSourceFileCount ;
2015-08-27 16:33:06 -04:00
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
// Mark this file as part of the working set. This will be saved into the UBT Makefile so that
// the assembler can automatically invalidate the Makefile when the working set changes (allowing this
// code to run again, to build up new unity blobs.)
2019-01-17 18:54:05 -05:00
Makefile . WorkingSet . Add ( CPPFile ) ;
2015-08-27 16:33:06 -04:00
}
2015-09-24 12:37:21 -04:00
}
2015-08-27 16:33:06 -04:00
2015-09-24 12:37:21 -04:00
if ( WorkingSetSourceFileCount > = CandidateWorkingSetSourceFileCount )
2015-08-27 16:33:06 -04:00
{
// Every single file in the module appears in the working set, so don't bother using adaptive unity for this
// module. Otherwise it would make full builds really slow.
bUseAdaptiveUnityBuild = false ;
}
}
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
UnityFileBuilder CPPUnityFileBuilder = new UnityFileBuilder ( bForceIntoSingleUnityFile ? - 1 : Target . NumIncludedBytesPerUnityCPP ) ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
StringBuilder AdaptiveUnityBuildInfoString = new StringBuilder ( ) ;
foreach ( FileItem CPPFile in SortedCPPFiles )
2014-03-14 14:13:41 -04:00
{
2015-08-27 16:33:06 -04:00
if ( ! bForceIntoSingleUnityFile & & CPPFile . AbsolutePath . IndexOf ( ".GeneratedWrapper." , StringComparison . InvariantCultureIgnoreCase ) ! = - 1 )
2014-04-23 20:18:55 -04:00
{
2015-08-27 16:33:06 -04:00
NewCPPFiles . Add ( CPPFile ) ;
2014-04-23 20:18:55 -04:00
}
2014-07-31 09:34:11 -04:00
2015-08-27 16:33:06 -04:00
// When adaptive unity is enabled, go ahead and exclude any source files that we're actively working with
2019-01-17 18:54:05 -05:00
if ( bUseAdaptiveUnityBuild & & Makefile . WorkingSet . Contains ( CPPFile ) )
2015-08-27 16:33:06 -04:00
{
// Just compile this file normally, not as part of the unity blob
2015-09-24 12:37:21 -04:00
NewCPPFiles . Add ( CPPFile ) ;
2015-08-27 16:33:06 -04:00
2015-09-11 08:51:23 -04:00
// Let the unity file builder know about the file, so that we can retain the existing size of the unity blobs.
// This won't actually make the source file part of the unity blob, but it will keep track of how big the
// file is so that other existing unity blobs from the same module won't be invalidated. This prevents much
// longer compile times the first time you build after your working file set changes.
2015-09-24 12:37:21 -04:00
CPPUnityFileBuilder . AddVirtualFile ( CPPFile ) ;
2015-09-11 08:51:23 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
string CPPFileName = Path . GetFileName ( CPPFile . AbsolutePath ) ;
2015-09-24 12:37:21 -04:00
if ( AdaptiveUnityBuildInfoString . Length = = 0 )
2015-08-27 16:33:06 -04:00
{
2015-09-24 12:37:21 -04:00
AdaptiveUnityBuildInfoString . Append ( String . Format ( "[Adaptive unity build] Excluded from {0} unity file: {1}" , BaseName , CPPFileName ) ) ;
2015-08-27 16:33:06 -04:00
}
else
{
2015-09-24 12:37:21 -04:00
AdaptiveUnityBuildInfoString . Append ( ", " + CPPFileName ) ;
2015-08-27 16:33:06 -04:00
}
}
else
{
Copying //UE4/WEX-Staging to Dev-Main (//UE4/Dev-Main)
===================
MAJOR FEATURES + CHANGES
===================
Change 3123735 on 2016/09/13 by Josh.Markiewicz
#UE4 - added FNames for some common online features to be refactored later
#codereview david.nikdel
Change 3123608 on 2016/09/13 by Josh.Markiewicz
#OSS - refactor FUniqueNetIdRepl to derive from FUniqueNetIdWrapper and clean up redundant code
#codereview david.nikdel
Change 3120074 on 2016/09/09 by David.Nikdel
#Analytics: Move log message to more correct location
Change 3120073 on 2016/09/09 by David.Nikdel
#Analytics: Adjustments to ET.DroppedSubmission per Wes's feedback
- Don't try to restore events at all if caching is disabled (but do log the error)
- Stop accumulating events (even the ET.DroppedSubmission event) at 1024 cached to defend against run away accumulation
#CodeReview: Wes.Hunt
Change 3119959 on 2016/09/09 by Peter.Sauerbrei
update to engine to provide the generic chunk install when one is not implemented or requested
#rb none
Change 3119378 on 2016/09/09 by David.Nikdel
#Analytics #ET: Added a config option to not drop events in the event of a failure to flush.
- Events are re-added to the queue (may result in some reordering but timestamps will still be there) in the event of a failure
- Also appending an ET.DroppedSubmission event in this case so we can track how often clients fail. Has HTTP_STATUS and URL attributes.
- Events accumulate within a given application run but no attempt is made to persist across crashes etc.
#CodeReview: Wes.Hunt
Change 3118773 on 2016/09/08 by Peter.Sauerbrei
bring over fix for missing debug information in IOS executables
#rb none
Change 3118574 on 2016/09/08 by Peter.Sauerbrei
pulled over architecture fix for IOS from Main
#rb none
Change 3117672 on 2016/09/08 by Steve.Allison
Adding 3544_iPadMini3_ChAIRQA
Change 3116529 on 2016/09/07 by Josh.Markiewicz
#UE4 - reverted started IOS purchase/store work from default engine OSS plugins
#codereview david.nikdel
Change 3116010 on 2016/09/07 by Josh.Markiewicz
#WEX - Copying //WEX/Dev-Mobile to Dev-Main (//WEX/Dev-Main) to get OnlineSubsystemiOS changes
Change 3114411 on 2016/09/06 by Peter.Sauerbrei
fix for deploying movies to the correct directory
#rb none
Change 3113944 on 2016/09/06 by Peter.Sauerbrei
addition of resave packages command to UAT
#rb none
Change 3112948 on 2016/09/02 by Nathan.Green
#WEX
- Fixing file length on Android so that we can write out stats files (change is being submitted into Dev-Mobile by Chris Babcock)
#CodeReview: Chance.Lyon, David.Nikdel
Change 3112567 on 2016/09/02 by Josh.Markiewicz
#UE4 - fixed possible exception when checking directories that don't exist (copy of CL#3099217)
#rb ben.marsh
Change 3112055 on 2016/09/02 by Chance.Lyon
#WEX
- Merging mobile branch changes into main
Change 3108827 on 2016/08/31 by Peter.Sauerbrei
fix for warning
#rb none
Change 3105012 on 2016/08/29 by Peter.Sauerbrei
enable ICMP for Android
#rb none
Change 3103322 on 2016/08/26 by David.Nikdel
#WEX: Fix for clang warnings in Font Outline code
#CodeReview: Matt.Kuhlenschmidt
Change 3102935 on 2016/08/26 by David.Nikdel
Merging CL 3102878 from
//UE4/Dev-Editor/Engine/...
to //WEX/Main/Engine/...
------
Added support for outline fonts
- An outline size (in slate units), optional material and optional fill color can be specified with each font info.
- Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines
- Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas
#CodeReview: Matt.Kuhlenschmidt, Matt.Hancy, Peter.Sauerbrei
Change 3102541 on 2016/08/26 by Peter.Sauerbrei
fix for build warning on Mac and IOS
#rb none
Change 3101820 on 2016/08/25 by Peter.Sauerbrei
Moved the online changes to the plugins directory
#rb none
Change 3101808 on 2016/08/25 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging bringing in UE4 engine 4.14
#rb none
Change 3097879 on 2016/08/23 by David.Nikdel
#Analytics #OSS: Adjusted cohort selection algorithm and test cases
Change 3096606 on 2016/08/22 by Nathan.Green
#WEX
- Adding bAllowWindowResize, bAllowClose, bAllowMaximize, and bAllowMinimize boolean to GeneralProjectSettings
- Preventing us from resizing the window for the time being (in the future we may only allow along aspect ratio resizing)
#CodeReview: Chance.Lyon, David.Nikdel
Change 3094946 on 2016/08/19 by David.Nikdel
#OSS - Added FUserOnlineAccountMcp::SelectCohort
Change 3094942 on 2016/08/19 by David.Nikdel
#UE4 - Made FMD5 const-correct
Change 3092494 on 2016/08/17 by Nathan.Green
#WEX
- Making sure we never build zip64 instead of zip
#CodeReview: Chance.Lyon, David.Nikdel, Chris.Babcock
Change 3090760 on 2016/08/16 by Michael.Trepka
Copy of CL 3089133
Fix for task bar displayed over the fullscreen window on Windows 10 with Anniversary Update
Change 3090759 on 2016/08/16 by Michael.Trepka
Copy of CL 3078927
Updated WindowTitleBarArea widget to not override window zone in fullscreen mode, to prevent window from being moved. That required adding separate handling for double click in fullscreen, as it's no longer handled by window action.
Change 3087872 on 2016/08/12 by Josh.Markiewicz
#UE4 - cleaned up IOS store/purchase interface (first pass, minus IAP restore)
#codereview david.nikdel, josh.adams
Change 3084182 on 2016/08/10 by Peter.Sauerbrei
revert out the OpenGL shader compression code
#rb none
Change 3082565 on 2016/08/09 by Ben.Marsh
Fix building with VS2015 update 3.
Change 3082557 on 2016/08/09 by Ben.Marsh
Fix UBT makefile being invalidated to update adaptive unity build settings, even if that module happens to not include that file in a unity file. Keep a list of all files included by unity files as well as files in the working set.
#codereview Mike.Fricker, Michael.Noland
Change 3082456 on 2016/08/09 by Josh.Markiewicz
#UE4 - fixed typo
Change 3082439 on 2016/08/09 by Josh.Markiewicz
#UE4 - added CanMakePurchase call to IOS
Change 3081905 on 2016/08/09 by Michael.Noland
Editor: Made the text colors and font size in the output log configurable in the editor appearance settings (no changes to default values ... yet)
#codereview matt.kuhlenschmidt
Change 3080932 on 2016/08/08 by Josh.Markiewicz
#UE4 - New IOS purchasing/store interface v2
- added interfaces to main IOS subsystem
- added proper destruction of interfaces to Shutdown of IOS
- moved FStoreKitHelper to its own file
-- extended it for new v2 (improvements forthcoming)
- MCPCatalogHelper returns bogus user id for IOS app store
#codereview josh.adams, david.nikdel
#tests very basic IAP stuff so far
Change 3080217 on 2016/08/07 by Michael.Noland
Engine: Prevented a startup warning when SpectatorClass is nullptr, as not all games require a spectator pawn
- Also reduced the number of GetWorld() calls in APlayerController::SpawnSpectatorPawn()
Change 3080046 on 2016/08/06 by Michael.Noland
Engine: Moved where scissor rect reset happens for custom slate drawables to avoid a conflict with an existing fix in another branch
#codereview matt.kuhlenschmidt
Change 3080032 on 2016/08/06 by Michael.Noland
UMG: Fixed a bug where screen-mode UWidgetComponent widgets were drawn incorrectly offset in splitscreen or with aspect-ratio constrained cameras
#codereview nick.darnell, marc.audy
Change 3080031 on 2016/08/06 by Michael.Noland
Engine: Add the option to return player viewport-relative positions to ProjectWorldLocationToScreenWithDistance, ProjectWorldLocationToScreen, and ProjectWorldToScreen, which is useful if the position is going to be used for widgets in splitscreen or with aspect-ratio constrained cameras
#codereview nick.darnell, marc.audy
Change 3080029 on 2016/08/06 by Michael.Noland
Engine: Fixed a bug where the debug console and other debug rendering would be an incorrect size (based on the last player viewport) and also be partially clipped (depending on what in Slate rendered previously)
- This fixes issues with the console being offset and clipped when using aspect ratio constrained cameras or split screen
#codereview matt.kuhlenschmidt
Change 3079656 on 2016/08/05 by Josh.Markiewicz
#WEX - basic IOS changes to project
- added OnlineSubsystemIOS
- added some default settings
- removed GoogleVR from project
#codereview david.nikdel
Change 3078971 on 2016/08/05 by Steve.Allison
Updating to match check-in for UE4 Main @ CL 3078968
Change 3078025 on 2016/08/04 by Michael.Trepka
Copy of CLs 3073978 and 3075931
- More reliable way of checking if the cursor should be changed to resize cursor in bordeless window mode
- On Windows, lock the cursor to the center of the rect if the cursor is hidden to avoid problems with borderless window's round corners not treated as part of the window.
Change 3075415 on 2016/08/03 by Peter.Sauerbrei
reduce the metal command buffers
Change 3071457 on 2016/07/31 by David.Hunt
#WEX
Blueprint indexing
@Pete: This change and anything in Engine/Content can be stomped by any engine integration. This is just to help with not having to resave all of these to udpate a few of our own content blueprints for search indexing.
#CodeReview Peter.Sauerbrei, Steve.Allison, David.Nikdel
Change 3068661 on 2016/07/28 by Josh.Markiewicz
#WEX - changed the max number of possible UObjects allowed by a factor of 10 to reduce the memory footprint
#codereview david.nikdel, peter.sauerbrei
Change 3068500 on 2016/07/28 by David.Nikdel
#OSSMCP: Use correct HttpRequest creation method to respect game service config
Change 3066945 on 2016/07/27 by David.Nikdel
Reproduced CL 3063869 from Michael.Noland
>> Engine: Added a cvar (t.FPSChart.OpenFolderOnDump) to control whether or not FPS charts automatically open the profiling folder when stopfpschart is executed, which can be useful to avoid a bunch of open
>> windows while doing automated testing
#CodeReview: Michael.Noland
#JIRA: WEX-2342
Change 3063495 on 2016/07/25 by Michael.Trepka
Copy of CL 3063426
Borderless window support improvements:
- the cursor changes to resize when hovering over the window edge
- added a way for widgets to register a delegate that's called when window actions occur (maximize, restore, etc.)
- used window action notification for WindowTitleBarArea to improve how toggling fullscreen on double click is handled
Change 3063431 on 2016/07/25 by Michael.Trepka
Copy of CL 3063057 - Use round corners for windows with no system title bar and border only in windowed mode.
Change 3062654 on 2016/07/23 by Michael.Trepka
Copy of CL 3046975 and 3056204 - Support for making the game window borderless (no system border or title bar). Disabled by default. Enabling requires adding bUseBorderlessWindow=True to [/Script/EngineSettings.GeneralProjectSettings] in DefaultGame.ini. The game using this is responsible for adding WindowTitleBarArea widget to its UI, as well as window minimize/maximize/close buttons.
Change 3062647 on 2016/07/23 by Michael.Trepka
Copy of CL 3029211 - Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3062646 on 2016/07/23 by Michael.Trepka
Copy of CLs 3039855, 3042644 and 3042911 - Added an option to toggle fullscreen with F11 key in addition to Alt+Enter
Change 3062638 on 2016/07/23 by Michael.Trepka
Copy of CL 3038201 and CL 3046803 -Added WindowTitleBarArea widget
Change 3062056 on 2016/07/22 by Peter.Sauerbrei
addition of optimization for ios compile times
Change 3054586 on 2016/07/18 by Nathan.Green
#WEX
- Adding tags around my engine level change
#CodeReview: Chance.Lyon, David.Nikdel
Change 3054581 on 2016/07/18 by Nathan.Green
#WEX
- Removing previous change, making all buttons ignore space bar and enter as we don't really care about that functionality
#JIRA: WEX-2256
#CodeReview: Chance.Lyon, Colin.Pyle, David.Nikdel
Change 3048243 on 2016/07/13 by Steve.Allison
This one actually has the changes from rev4
Change 3046649 on 2016/07/12 by Steve.Allison
Updating to match provision in UE4 Main @ CL 3046262
Change 3046127 on 2016/07/12 by Ian.Fox
#UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin
#codereview David.Nikdel
Change 3034707 on 2016/06/30 by Peter.Sauerbrei
update provision to go with latest certificate
#rb none
Change 3031429 on 2016/06/28 by David.Nikdel
#WEX: porting an engine change we depend on in latest OGF (pre integrate)
Change 3030084 on 2016/06/27 by David.Nikdel
#GameCatalog: Add code to export attributes in itemGrants
#CodeReview: Scott.Bowen
Change 3030073 on 2016/06/27 by David.Nikdel
#Json: Make JsonObjectWrapper play nice with serialization and Import/Export Text
#CodeReview: Scott.Bowen
Change 3030029 on 2016/06/27 by David.Nikdel
#WEX: Fix for FJsonObjectWrapper::ImportTextItem (use FParse::QuotedString to read from Buffer)
#CodeReview: Scott.Bowen
Change 3029740 on 2016/06/27 by David.Nikdel
#OGF #JsonObjectWrapper
- Add attributes to catalog grants
@ScottB - I didn't get a chance to test this today. Things are crazy for PS+. All the code should already be there on the backend though. Here's a shelf in case you need it asap
#CodeReview: Scott.Bowen
Change 3028704 on 2016/06/27 by Ian.Fox
Duplicating 3027482 from //Orion/Main
Read TaggedPropertyRedirects from all config files to allow plugins to register property redirectors
You'll need this before you grab the latest OGF or your catalog prices will go away, so here it is now
#ue4
#rb David.Nikdel
#tests none
Change 3021448 on 2016/06/21 by Peter.Sauerbrei
potential fix for android apk size issue
Change 3020999 on 2016/06/21 by David.Nikdel
#WEX: Likely fix for WEX-1610
#CodeReview: Chance.Lyon
Change 3008450 on 2016/06/09 by Colin.Pyle
#PF
- WEX-1737, WEX-1744
- Adding the ability to set new layers in widget components
- WidgetComponents are now blueprintable
- New blueprint for the level marker menu widget components
- Map marker menus are now in a layer above other widget components
Change 3007804 on 2016/06/09 by Peter.Sauerbrei
fix for build set up failure
Change 3007292 on 2016/06/09 by Peter.Sauerbrei
add the WEX e-mail stuff back in, seems to have gotten lost in the transition
Change 3004478 on 2016/06/07 by Peter.Sauerbrei
for now have the cooker respect the bCookAll flag in the project settings.
Change 3000256 on 2016/06/03 by Peter.Sauerbrei
fix for iOS compile warning
Change 2998304 on 2016/06/02 by Nathan.Green
#PF
- Fixing Windowed Mode
#CodeReview: Chance.Lyon, Colin.Pyle, Peter.Sauerbrei
Change 2994269 on 2016/05/31 by Peter.Sauerbrei
Merging
//depot/UE4-WEX/...
to //WEX/Main/...
Change 2987181 on 2016/05/23 by Peter.Sauerbrei
Merging
//UE4/WEX-Staging/.p4ignore.txt
//UE4/WEX-Staging/Engine/...
//UE4/WEX-Staging/GenerateProjectFiles.bat
//UE4/WEX-Staging/GenerateProjectFiles.command
//UE4/WEX-Staging/GenerateProjectFiles.sh
//UE4/WEX-Staging/UE4Games.uprojectdirs
//UE4/WEX-Staging/WEX/...
to //WEX/Main/...
Change 2984959 on 2016/05/20 by Peter.Sauerbrei
re-applying HSL engine change
#PF
PF-292
- Make sure to regenerate the list when you open the recipe view
- Fixes cases where you buy an item in the store then return to evolve
Change 2984957 on 2016/05/20 by Peter.Sauerbrei
re-apply engine change from HSL
#PF
PF-33
- Check if we are in BeginDestroyed on Animation updates, possibly fixes a crash on level transition
- Make interactive items play their mouseover animations
- Heroes make the screen shake if they are on cooldown, we should figure out how to remove that on PC
Change 2984956 on 2016/05/20 by Peter.Sauerbrei
re-apply HSL change
#PF
PF-11
- Remove simulated touch with the mouse
- Add Right-click support to the game
- Right click now does the special attack
Change 2984345 on 2016/05/19 by Peter.Sauerbrei
Copying
//UE4/WEX-Staging/...
to //WEX/Main/...
This should reset the merge history
Change 2981872 on 2016/05/18 by Peter.Sauerbrei
fixes for IOS build of WEX
Change 2980734 on 2016/05/17 by Peter.Sauerbrei
Copying
//depot/UE4-WEX/...
to //WEX/Main/...
Populating WEX stream from old depot at CL2979954
#lockdown nick.penwarden
[CL 3129012 by Peter Sauerbrei in Main branch]
2016-09-16 17:07:30 -04:00
// If adaptive unity build is enabled for this module, add this source file to the set that will invalidate the makefile
if ( bUseAdaptiveUnityBuild )
{
2019-01-17 18:54:05 -05:00
Makefile . CandidatesForWorkingSet . Add ( CPPFile ) ;
Copying //UE4/WEX-Staging to Dev-Main (//UE4/Dev-Main)
===================
MAJOR FEATURES + CHANGES
===================
Change 3123735 on 2016/09/13 by Josh.Markiewicz
#UE4 - added FNames for some common online features to be refactored later
#codereview david.nikdel
Change 3123608 on 2016/09/13 by Josh.Markiewicz
#OSS - refactor FUniqueNetIdRepl to derive from FUniqueNetIdWrapper and clean up redundant code
#codereview david.nikdel
Change 3120074 on 2016/09/09 by David.Nikdel
#Analytics: Move log message to more correct location
Change 3120073 on 2016/09/09 by David.Nikdel
#Analytics: Adjustments to ET.DroppedSubmission per Wes's feedback
- Don't try to restore events at all if caching is disabled (but do log the error)
- Stop accumulating events (even the ET.DroppedSubmission event) at 1024 cached to defend against run away accumulation
#CodeReview: Wes.Hunt
Change 3119959 on 2016/09/09 by Peter.Sauerbrei
update to engine to provide the generic chunk install when one is not implemented or requested
#rb none
Change 3119378 on 2016/09/09 by David.Nikdel
#Analytics #ET: Added a config option to not drop events in the event of a failure to flush.
- Events are re-added to the queue (may result in some reordering but timestamps will still be there) in the event of a failure
- Also appending an ET.DroppedSubmission event in this case so we can track how often clients fail. Has HTTP_STATUS and URL attributes.
- Events accumulate within a given application run but no attempt is made to persist across crashes etc.
#CodeReview: Wes.Hunt
Change 3118773 on 2016/09/08 by Peter.Sauerbrei
bring over fix for missing debug information in IOS executables
#rb none
Change 3118574 on 2016/09/08 by Peter.Sauerbrei
pulled over architecture fix for IOS from Main
#rb none
Change 3117672 on 2016/09/08 by Steve.Allison
Adding 3544_iPadMini3_ChAIRQA
Change 3116529 on 2016/09/07 by Josh.Markiewicz
#UE4 - reverted started IOS purchase/store work from default engine OSS plugins
#codereview david.nikdel
Change 3116010 on 2016/09/07 by Josh.Markiewicz
#WEX - Copying //WEX/Dev-Mobile to Dev-Main (//WEX/Dev-Main) to get OnlineSubsystemiOS changes
Change 3114411 on 2016/09/06 by Peter.Sauerbrei
fix for deploying movies to the correct directory
#rb none
Change 3113944 on 2016/09/06 by Peter.Sauerbrei
addition of resave packages command to UAT
#rb none
Change 3112948 on 2016/09/02 by Nathan.Green
#WEX
- Fixing file length on Android so that we can write out stats files (change is being submitted into Dev-Mobile by Chris Babcock)
#CodeReview: Chance.Lyon, David.Nikdel
Change 3112567 on 2016/09/02 by Josh.Markiewicz
#UE4 - fixed possible exception when checking directories that don't exist (copy of CL#3099217)
#rb ben.marsh
Change 3112055 on 2016/09/02 by Chance.Lyon
#WEX
- Merging mobile branch changes into main
Change 3108827 on 2016/08/31 by Peter.Sauerbrei
fix for warning
#rb none
Change 3105012 on 2016/08/29 by Peter.Sauerbrei
enable ICMP for Android
#rb none
Change 3103322 on 2016/08/26 by David.Nikdel
#WEX: Fix for clang warnings in Font Outline code
#CodeReview: Matt.Kuhlenschmidt
Change 3102935 on 2016/08/26 by David.Nikdel
Merging CL 3102878 from
//UE4/Dev-Editor/Engine/...
to //WEX/Main/Engine/...
------
Added support for outline fonts
- An outline size (in slate units), optional material and optional fill color can be specified with each font info.
- Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines
- Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas
#CodeReview: Matt.Kuhlenschmidt, Matt.Hancy, Peter.Sauerbrei
Change 3102541 on 2016/08/26 by Peter.Sauerbrei
fix for build warning on Mac and IOS
#rb none
Change 3101820 on 2016/08/25 by Peter.Sauerbrei
Moved the online changes to the plugins directory
#rb none
Change 3101808 on 2016/08/25 by Peter.Sauerbrei
Merging using WEX_Main_to_UE4_WEX_Staging bringing in UE4 engine 4.14
#rb none
Change 3097879 on 2016/08/23 by David.Nikdel
#Analytics #OSS: Adjusted cohort selection algorithm and test cases
Change 3096606 on 2016/08/22 by Nathan.Green
#WEX
- Adding bAllowWindowResize, bAllowClose, bAllowMaximize, and bAllowMinimize boolean to GeneralProjectSettings
- Preventing us from resizing the window for the time being (in the future we may only allow along aspect ratio resizing)
#CodeReview: Chance.Lyon, David.Nikdel
Change 3094946 on 2016/08/19 by David.Nikdel
#OSS - Added FUserOnlineAccountMcp::SelectCohort
Change 3094942 on 2016/08/19 by David.Nikdel
#UE4 - Made FMD5 const-correct
Change 3092494 on 2016/08/17 by Nathan.Green
#WEX
- Making sure we never build zip64 instead of zip
#CodeReview: Chance.Lyon, David.Nikdel, Chris.Babcock
Change 3090760 on 2016/08/16 by Michael.Trepka
Copy of CL 3089133
Fix for task bar displayed over the fullscreen window on Windows 10 with Anniversary Update
Change 3090759 on 2016/08/16 by Michael.Trepka
Copy of CL 3078927
Updated WindowTitleBarArea widget to not override window zone in fullscreen mode, to prevent window from being moved. That required adding separate handling for double click in fullscreen, as it's no longer handled by window action.
Change 3087872 on 2016/08/12 by Josh.Markiewicz
#UE4 - cleaned up IOS store/purchase interface (first pass, minus IAP restore)
#codereview david.nikdel, josh.adams
Change 3084182 on 2016/08/10 by Peter.Sauerbrei
revert out the OpenGL shader compression code
#rb none
Change 3082565 on 2016/08/09 by Ben.Marsh
Fix building with VS2015 update 3.
Change 3082557 on 2016/08/09 by Ben.Marsh
Fix UBT makefile being invalidated to update adaptive unity build settings, even if that module happens to not include that file in a unity file. Keep a list of all files included by unity files as well as files in the working set.
#codereview Mike.Fricker, Michael.Noland
Change 3082456 on 2016/08/09 by Josh.Markiewicz
#UE4 - fixed typo
Change 3082439 on 2016/08/09 by Josh.Markiewicz
#UE4 - added CanMakePurchase call to IOS
Change 3081905 on 2016/08/09 by Michael.Noland
Editor: Made the text colors and font size in the output log configurable in the editor appearance settings (no changes to default values ... yet)
#codereview matt.kuhlenschmidt
Change 3080932 on 2016/08/08 by Josh.Markiewicz
#UE4 - New IOS purchasing/store interface v2
- added interfaces to main IOS subsystem
- added proper destruction of interfaces to Shutdown of IOS
- moved FStoreKitHelper to its own file
-- extended it for new v2 (improvements forthcoming)
- MCPCatalogHelper returns bogus user id for IOS app store
#codereview josh.adams, david.nikdel
#tests very basic IAP stuff so far
Change 3080217 on 2016/08/07 by Michael.Noland
Engine: Prevented a startup warning when SpectatorClass is nullptr, as not all games require a spectator pawn
- Also reduced the number of GetWorld() calls in APlayerController::SpawnSpectatorPawn()
Change 3080046 on 2016/08/06 by Michael.Noland
Engine: Moved where scissor rect reset happens for custom slate drawables to avoid a conflict with an existing fix in another branch
#codereview matt.kuhlenschmidt
Change 3080032 on 2016/08/06 by Michael.Noland
UMG: Fixed a bug where screen-mode UWidgetComponent widgets were drawn incorrectly offset in splitscreen or with aspect-ratio constrained cameras
#codereview nick.darnell, marc.audy
Change 3080031 on 2016/08/06 by Michael.Noland
Engine: Add the option to return player viewport-relative positions to ProjectWorldLocationToScreenWithDistance, ProjectWorldLocationToScreen, and ProjectWorldToScreen, which is useful if the position is going to be used for widgets in splitscreen or with aspect-ratio constrained cameras
#codereview nick.darnell, marc.audy
Change 3080029 on 2016/08/06 by Michael.Noland
Engine: Fixed a bug where the debug console and other debug rendering would be an incorrect size (based on the last player viewport) and also be partially clipped (depending on what in Slate rendered previously)
- This fixes issues with the console being offset and clipped when using aspect ratio constrained cameras or split screen
#codereview matt.kuhlenschmidt
Change 3079656 on 2016/08/05 by Josh.Markiewicz
#WEX - basic IOS changes to project
- added OnlineSubsystemIOS
- added some default settings
- removed GoogleVR from project
#codereview david.nikdel
Change 3078971 on 2016/08/05 by Steve.Allison
Updating to match check-in for UE4 Main @ CL 3078968
Change 3078025 on 2016/08/04 by Michael.Trepka
Copy of CLs 3073978 and 3075931
- More reliable way of checking if the cursor should be changed to resize cursor in bordeless window mode
- On Windows, lock the cursor to the center of the rect if the cursor is hidden to avoid problems with borderless window's round corners not treated as part of the window.
Change 3075415 on 2016/08/03 by Peter.Sauerbrei
reduce the metal command buffers
Change 3071457 on 2016/07/31 by David.Hunt
#WEX
Blueprint indexing
@Pete: This change and anything in Engine/Content can be stomped by any engine integration. This is just to help with not having to resave all of these to udpate a few of our own content blueprints for search indexing.
#CodeReview Peter.Sauerbrei, Steve.Allison, David.Nikdel
Change 3068661 on 2016/07/28 by Josh.Markiewicz
#WEX - changed the max number of possible UObjects allowed by a factor of 10 to reduce the memory footprint
#codereview david.nikdel, peter.sauerbrei
Change 3068500 on 2016/07/28 by David.Nikdel
#OSSMCP: Use correct HttpRequest creation method to respect game service config
Change 3066945 on 2016/07/27 by David.Nikdel
Reproduced CL 3063869 from Michael.Noland
>> Engine: Added a cvar (t.FPSChart.OpenFolderOnDump) to control whether or not FPS charts automatically open the profiling folder when stopfpschart is executed, which can be useful to avoid a bunch of open
>> windows while doing automated testing
#CodeReview: Michael.Noland
#JIRA: WEX-2342
Change 3063495 on 2016/07/25 by Michael.Trepka
Copy of CL 3063426
Borderless window support improvements:
- the cursor changes to resize when hovering over the window edge
- added a way for widgets to register a delegate that's called when window actions occur (maximize, restore, etc.)
- used window action notification for WindowTitleBarArea to improve how toggling fullscreen on double click is handled
Change 3063431 on 2016/07/25 by Michael.Trepka
Copy of CL 3063057 - Use round corners for windows with no system title bar and border only in windowed mode.
Change 3062654 on 2016/07/23 by Michael.Trepka
Copy of CL 3046975 and 3056204 - Support for making the game window borderless (no system border or title bar). Disabled by default. Enabling requires adding bUseBorderlessWindow=True to [/Script/EngineSettings.GeneralProjectSettings] in DefaultGame.ini. The game using this is responsible for adding WindowTitleBarArea widget to its UI, as well as window minimize/maximize/close buttons.
Change 3062647 on 2016/07/23 by Michael.Trepka
Copy of CL 3029211 - Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3062646 on 2016/07/23 by Michael.Trepka
Copy of CLs 3039855, 3042644 and 3042911 - Added an option to toggle fullscreen with F11 key in addition to Alt+Enter
Change 3062638 on 2016/07/23 by Michael.Trepka
Copy of CL 3038201 and CL 3046803 -Added WindowTitleBarArea widget
Change 3062056 on 2016/07/22 by Peter.Sauerbrei
addition of optimization for ios compile times
Change 3054586 on 2016/07/18 by Nathan.Green
#WEX
- Adding tags around my engine level change
#CodeReview: Chance.Lyon, David.Nikdel
Change 3054581 on 2016/07/18 by Nathan.Green
#WEX
- Removing previous change, making all buttons ignore space bar and enter as we don't really care about that functionality
#JIRA: WEX-2256
#CodeReview: Chance.Lyon, Colin.Pyle, David.Nikdel
Change 3048243 on 2016/07/13 by Steve.Allison
This one actually has the changes from rev4
Change 3046649 on 2016/07/12 by Steve.Allison
Updating to match provision in UE4 Main @ CL 3046262
Change 3046127 on 2016/07/12 by Ian.Fox
#UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin
#codereview David.Nikdel
Change 3034707 on 2016/06/30 by Peter.Sauerbrei
update provision to go with latest certificate
#rb none
Change 3031429 on 2016/06/28 by David.Nikdel
#WEX: porting an engine change we depend on in latest OGF (pre integrate)
Change 3030084 on 2016/06/27 by David.Nikdel
#GameCatalog: Add code to export attributes in itemGrants
#CodeReview: Scott.Bowen
Change 3030073 on 2016/06/27 by David.Nikdel
#Json: Make JsonObjectWrapper play nice with serialization and Import/Export Text
#CodeReview: Scott.Bowen
Change 3030029 on 2016/06/27 by David.Nikdel
#WEX: Fix for FJsonObjectWrapper::ImportTextItem (use FParse::QuotedString to read from Buffer)
#CodeReview: Scott.Bowen
Change 3029740 on 2016/06/27 by David.Nikdel
#OGF #JsonObjectWrapper
- Add attributes to catalog grants
@ScottB - I didn't get a chance to test this today. Things are crazy for PS+. All the code should already be there on the backend though. Here's a shelf in case you need it asap
#CodeReview: Scott.Bowen
Change 3028704 on 2016/06/27 by Ian.Fox
Duplicating 3027482 from //Orion/Main
Read TaggedPropertyRedirects from all config files to allow plugins to register property redirectors
You'll need this before you grab the latest OGF or your catalog prices will go away, so here it is now
#ue4
#rb David.Nikdel
#tests none
Change 3021448 on 2016/06/21 by Peter.Sauerbrei
potential fix for android apk size issue
Change 3020999 on 2016/06/21 by David.Nikdel
#WEX: Likely fix for WEX-1610
#CodeReview: Chance.Lyon
Change 3008450 on 2016/06/09 by Colin.Pyle
#PF
- WEX-1737, WEX-1744
- Adding the ability to set new layers in widget components
- WidgetComponents are now blueprintable
- New blueprint for the level marker menu widget components
- Map marker menus are now in a layer above other widget components
Change 3007804 on 2016/06/09 by Peter.Sauerbrei
fix for build set up failure
Change 3007292 on 2016/06/09 by Peter.Sauerbrei
add the WEX e-mail stuff back in, seems to have gotten lost in the transition
Change 3004478 on 2016/06/07 by Peter.Sauerbrei
for now have the cooker respect the bCookAll flag in the project settings.
Change 3000256 on 2016/06/03 by Peter.Sauerbrei
fix for iOS compile warning
Change 2998304 on 2016/06/02 by Nathan.Green
#PF
- Fixing Windowed Mode
#CodeReview: Chance.Lyon, Colin.Pyle, Peter.Sauerbrei
Change 2994269 on 2016/05/31 by Peter.Sauerbrei
Merging
//depot/UE4-WEX/...
to //WEX/Main/...
Change 2987181 on 2016/05/23 by Peter.Sauerbrei
Merging
//UE4/WEX-Staging/.p4ignore.txt
//UE4/WEX-Staging/Engine/...
//UE4/WEX-Staging/GenerateProjectFiles.bat
//UE4/WEX-Staging/GenerateProjectFiles.command
//UE4/WEX-Staging/GenerateProjectFiles.sh
//UE4/WEX-Staging/UE4Games.uprojectdirs
//UE4/WEX-Staging/WEX/...
to //WEX/Main/...
Change 2984959 on 2016/05/20 by Peter.Sauerbrei
re-applying HSL engine change
#PF
PF-292
- Make sure to regenerate the list when you open the recipe view
- Fixes cases where you buy an item in the store then return to evolve
Change 2984957 on 2016/05/20 by Peter.Sauerbrei
re-apply engine change from HSL
#PF
PF-33
- Check if we are in BeginDestroyed on Animation updates, possibly fixes a crash on level transition
- Make interactive items play their mouseover animations
- Heroes make the screen shake if they are on cooldown, we should figure out how to remove that on PC
Change 2984956 on 2016/05/20 by Peter.Sauerbrei
re-apply HSL change
#PF
PF-11
- Remove simulated touch with the mouse
- Add Right-click support to the game
- Right click now does the special attack
Change 2984345 on 2016/05/19 by Peter.Sauerbrei
Copying
//UE4/WEX-Staging/...
to //WEX/Main/...
This should reset the merge history
Change 2981872 on 2016/05/18 by Peter.Sauerbrei
fixes for IOS build of WEX
Change 2980734 on 2016/05/17 by Peter.Sauerbrei
Copying
//depot/UE4-WEX/...
to //WEX/Main/...
Populating WEX stream from old depot at CL2979954
#lockdown nick.penwarden
[CL 3129012 by Peter Sauerbrei in Main branch]
2016-09-16 17:07:30 -04:00
}
2015-08-27 16:33:06 -04:00
// Compile this file as part of the unity blob
CPPUnityFileBuilder . AddFile ( CPPFile ) ;
}
2014-04-23 20:18:55 -04:00
}
2015-08-27 16:33:06 -04:00
2015-09-24 12:37:21 -04:00
if ( AdaptiveUnityBuildInfoString . Length > 0 )
2015-08-27 16:33:06 -04:00
{
2017-04-26 08:28:56 -04:00
if ( PrintedSettingsForTargets . Add ( Target . Name ) )
{
#CodeReview: jason.bestimt,nick.whiting,mike.beach
--------------------------------------
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core [at] 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
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4285673 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4287799 by jason bestimt in Dev-VR branch]
2018-08-15 11:23:10 -04:00
if ( Target . bAdaptiveUnityCreatesDedicatedPCH )
{
Log . TraceInformation ( "[Adaptive unity build] Creating dedicated PCH for each excluded file. Set bAdaptiveUnityCreatesDedicatedPCH to false in BuildConfiguration.xml to change this behavior." ) ;
}
else if ( Target . bAdaptiveUnityDisablesPCH )
2017-04-26 08:28:56 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3421703 on 2017/05/03 by Ben.Marsh
Surround invalid character message in quotes, so it's clear when a space is listed.
#jira UE-44606
Change 3422644 on 2017/05/04 by Steve.Robb
Ranged-for support for TChunkedArray.
Change 3422754 on 2017/05/04 by Steve.Robb
IAsyncReadFileHandle made non-copyable to prevent accidental wrong stat calculation.
Change 3422758 on 2017/05/04 by Steve.Robb
Misc readability/standards improvements in stats code.
Change 3427955 on 2017/05/08 by Steve.Robb
Version fix for IOS optimization pragmas, copied from equivalent Mac code.
Change 3428017 on 2017/05/08 by Steve.Robb
Unused property types removed.
Change 3428641 on 2017/05/08 by Ben.Marsh
UAT: Remove failed attempt to separate out BuildCookRun into separate commands, which have since rotted.
Change 3430407 on 2017/05/09 by Ben.Marsh
UBT: Define UE_4_X_OR_LATER macros for every UE4 version greater than 4.17 (eg. UE_4_17_OR_LATER, etc...).
Change 3430682 on 2017/05/09 by Gil.Gribb
UE4 - Added a fatal error for asking for very large alignments from MallocBinned2 and also return the true size of the memory block in GetAllocationSize().
Change 3430685 on 2017/05/09 by Gil.Gribb
UE4 - Fixed a bug with the windows async IO stuff related to an unsafe pointer cast to LPDWORD from int64*.
Change 3430756 on 2017/05/09 by Ben.Marsh
UBT: Switch some receipt stuff to use FileReference/DirectoryReference objects rather than raw paths.
Change 3431157 on 2017/05/09 by Ben.Marsh
UBT: Store absolute paths when receipts are in memory; only insert pseudo-variables for $(EngineDir) and $(ProjectDir) when saved to disk.
Change 3432334 on 2017/05/10 by Graeme.Thornton
Include project name in the UBT error message which appears when a plugin is missing
Change 3432481 on 2017/05/10 by Gil.Gribb
UE4 - Fixed code to detect cycles in parallel tick sorting.
Change 3432485 on 2017/05/10 by Steve.Robb
Simplified templating around bitfield offset calculation.
Change 3432608 on 2017/05/10 by Steve.Robb
'bool == byte' static_assert restored after being removed in CL# 3432485.
Change 3432767 on 2017/05/10 by Ben.Marsh
UBT: Fix exception when a missing plugin is encountered if the target does not have a project.
Change 3433031 on 2017/05/10 by Ben.Marsh
UAT: Add classes to allow safer manipulation of paths within the staging directory (StagedFileReference, StagedDirectoryReference), and convert staging code over to using those and their regular filesystem counterparts (FileReference/DirectoryReference). Lots of cleanup and refactoring of staging code.
Change 3433049 on 2017/05/10 by Ben.Marsh
Add more diagnostic information to asserts in TStaticIndirectArrayThreadSafeRead, to try and shed light on what sort of corrupted data is being passed in from the cooker.
#jira UE-44336
Change 3433097 on 2017/05/10 by Steve.Robb
Value initialization fix for MakeUnique<T[]>().
Change 3433972 on 2017/05/10 by Daniel.Lamb
Stop unrealpak from crashing if generating a patch with more pak files then the original game.
Change 3434124 on 2017/05/10 by Ben.Marsh
UAT: Remove hacky bUseWebSocketNetDriver option.
Change 3434824 on 2017/05/11 by Gil.Gribb
UE4 - Printed an error instead of asserting when there are missing native classes.
Change 3434916 on 2017/05/11 by Ben.Marsh
UAT: Separate the list of files to be staged into a separate class.
Change 3435427 on 2017/05/11 by Gil.Gribb
UE4 - Fixed attempts to load compiled in packages, which produces warnings and is slow.
Change 3436240 on 2017/05/11 by Ben.Marsh
UAT: Add a command to search for restricted folders under a given base directory.
Change 3438068 on 2017/05/12 by James.Fox
Checking in Phase 1 of the Dev-Core test map for repro purposes. UE-44996 #rb none
Change 3438855 on 2017/05/15 by Robert.Manuszewski
When verbose cluster logging is enabled and new object is added to an already existing cluster, the cluster will be dumped to log.
Change 3438929 on 2017/05/15 by Robert.Manuszewski
Merging CL # 3436939 using Dev-Core_To_Dev-LoadTimes:
Fix for potential crashes caused by levels staying in memory through material references.
Change 3439021 on 2017/05/15 by Ben.Marsh
PR #3566: fix non-ascii characters in help command HTML converted to "?" (Contributed by kayama-shift)
Change 3439079 on 2017/05/15 by Ben.Marsh
PR #2832: Implement missing MessageBox (Contributed by projectgheist)
Change 3439258 on 2017/05/15 by Ben.Marsh
Highlight lines containing the strings "Error:" or "Warning:" in the output log, so that diagnostics from child processes are highlighted appropriately. The build system already relies similar logic for scraping diagnostics from logs, so it should be safe and predictable to check for messages in this way.
#jira UE-43673
Change 3439358 on 2017/05/15 by Ben.Marsh
UBT: Fix Visual Studio solution referencing the incorrect platform for existing C# project ("Any CPU" instead of "AnyCPU"). Was causing prompt to save the solution the first time it is opened.
Change 3439665 on 2017/05/15 by Ben.Marsh
UAT: Remove DeployPakInternalLowerCaseFilenames(). No platforms require this to be true.
Change 3440735 on 2017/05/16 by Robert.Manuszewski
UBT compile fix after the last merge
Change 3440889 on 2017/05/16 by Ben.Marsh
EC: Fix regex for matching path to source files included in error messages from the Linux toolchain.
Change 3442776 on 2017/05/17 by Steve.Robb
Platform fix for FPaths::IsSamePath.
Change 3445411 on 2017/05/17 by Ben.Marsh
UBT: Fix typo in makefile diagnostic string.
Change 3446070 on 2017/05/18 by Steve.Robb
Fix to array sizes in generated UFunction code, which should now handle editor-only functions.
Change 3446091 on 2017/05/18 by Steve.Robb
Another array size fix for generated code.
Change 3446605 on 2017/05/18 by Steve.Robb
BuildConfiguration option for static analysis.
Change 3448601 on 2017/05/19 by Richard.Fawcett
Change FWindowsPlatformProcess::ApplicationSettingsDir() so that it no longer returns a path with a mixture of "\" and "/" characters, and only contains "/" characters.
This makes it consistent with other related functions like FWindowsPlatformProcess::UserSettingsDir().
Change 3449026 on 2017/05/19 by Ben.Marsh
Fix whitespace in template file.
Change 3449697 on 2017/05/19 by James.Fox
Checking in Phase 2 of Dev-Core test map for QAGame
Also enabled Blueprint and Actor clustering by default in QAGame for more thorough GC testing.
Change 3451352 on 2017/05/22 by Steve.Robb
UFunction flags are now viewable in the debugger.
Change 3451355 on 2017/05/22 by Steve.Robb
ARRAY_COUNT fix for zero-sized arrays in Clang.
Change 3451379 on 2017/05/22 by Steve.Robb
C++14 operator delete overloads with size, for consistency.
Change 3451398 on 2017/05/22 by Graeme.Thornton
Add AES and RSA encryption keys to the list of config fields that get stripped from ini files when staging
When creating a pak file, do a filtered copy of all ini files to a temp directory so that all confidential fields can be stripped. Equivalent behaviour to staging a loose file distribution
Change 3451476 on 2017/05/22 by Ben.Marsh
Compile shipping builds for WEX and Ocean, and post telemetry for the resulting executable size.
Change 3451478 on 2017/05/22 by Graeme.Thornton
PR #3197: Improved log message formatting (Contributed by projectgheist)
Change 3451868 on 2017/05/22 by Steve.Robb
Static log category moved out of header.
ENUM_CLASS_FLAGS macro used instead of explicit operators.
Change 3452319 on 2017/05/22 by Ben.Marsh
UBT: Add a new "package" build product type, which can be used for APK files on Android and Stub files on iOS. Treating these files as executables is causing the measured executable size to be incorrect.
Change 3452607 on 2017/05/22 by Ben.Marsh
UBT: Filter out folders for other platforms when searching for headers to pass to UHT.
Change 3453600 on 2017/05/23 by Graeme.Thornton
PR #3226 - Updated some code comments to better describe the usage of the log category definition macros
Change 3453616 on 2017/05/23 by Steve.Robb
Error reported instead of a crash when there's a space between UCLASS or UINTERFACE and the open parenthesis.
Change 3453714 on 2017/05/23 by Ben.Marsh
Build: Add some Visual Studio 2017 test compiles to the build system.
Change 3453795 on 2017/05/23 by Ben.Marsh
UBT: Fix parsing of command line attributes that have a specific value assigned. We should never have an '=' suffix for such arguments.
Change 3454606 on 2017/05/23 by Ben.Marsh
UAT: Make sure log filenames are unique by creating a 0-byte file in its place.
Change 3454709 on 2017/05/23 by Ben.Marsh
UBT: Enable the /permissive- option for stricter standards compliance on Visual Studio 2017. Currently have /Zc:strictStrings disabled due to violations in Windows headers; all UE4 instances have been fixed up.
Change 3456445 on 2017/05/24 by Graeme.Thornton
MemoryProfiler2 - Add mprof filename into title bar after opening
Change 3457129 on 2017/05/24 by Ben.Marsh
Fix comment for FVector::Normalize().
#jira UE-45369
#rnx
Change 3457228 on 2017/05/24 by Ben.Marsh
Do not allow forward-declaring Rect structs. They are not public, and it conflicts with third party libraries.
#rnx
Change 3458357 on 2017/05/24 by Ben.Marsh
Fix name resolution issue with /permissive- in VS2017.
Change 3458812 on 2017/05/25 by Robert.Manuszewski
PR #2407: Fix LoadLibrary error with Microsoft Group Policy CWDIllegalinDllSearch mode 1 or 2 (Contributed by bozaro)
Change 3458894 on 2017/05/25 by Robert.Manuszewski
PR #2096: Fix argument parsing in DiffAssets Comandlet (Contributed by cgrebeld)
Change 3461205 on 2017/05/26 by Robert.Manuszewski
Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
#jira UE-33790
Change 3464714 on 2017/05/30 by Robert.Manuszewski
Fixing potential deadlock caused by a race condition when using FMallocVerifyProxy with FMallocBinned
Change 3465310 on 2017/05/30 by Ben.Marsh
UBT: Enable bAdaptiveUnityDisablesOptimizations by default.
Change 3465346 on 2017/05/30 by Ben.Marsh
UBT: Require Update 3 to be installed when compiling using VS2015.
Change 3465389 on 2017/05/30 by Ben.Marsh
UBT: Fix support for RTTI when creating PCHs and shared PCHs.
Change 3466084 on 2017/05/30 by Ben.Marsh
Fix compiling plain C files, where it would incorrectly use a C++ PCH.
Change 3467018 on 2017/05/31 by Robert.Manuszewski
Async loading code will now properly handle cases when the requested package could not be created.
Change 3467113 on 2017/05/31 by Ben.Marsh
UGS: When opening a solution in Visual Studio, always start the process in the solution's directory.
Change 3467508 on 2017/05/31 by Ben.Marsh
Add a function to fix a long package name so it matches the case of a file on disk. Fixes deterministic cooking issues when on-disk case changes.
Change 3467510 on 2017/05/31 by Ben.Marsh
Fix deterministic cooking issue caused by LODGroup only being initialized in the CDO if it's serialized, causing inconsistent delta serialization for instances.
Change 3467967 on 2017/05/31 by Ben.Marsh
Always allow UAT to compile on non-Windows platforms, even if a debugger is present, since MSVC is the only one that will load C# PDBs.
Change 3468544 on 2017/05/31 by Ben.Marsh
UBT: Add a more helpful message when a module is being compiled with implicit PCHs, but a source file is not configured correctly.
Change 3469241 on 2017/06/01 by Ben.Marsh
UBT: Fix single-file compile causing a different UHT manifest to be generated, potentially excluding hidden dependencies.
Change 3471709 on 2017/06/02 by Daniel.Lamb
Rebuild lighting commandlet now rebuilds reflections also instead of trashing them.
#test None
Change 3471719 on 2017/06/02 by Daniel.Lamb
Fixed crash in cooker while trying to cook for multiple platforms
#test Launch on shootergame windows + ps4
#jira UE-45356
Change 3472261 on 2017/06/02 by Ben.Marsh
CRP: Clear out MDD logs whenever we clear out CRP logs.
Change 3473169 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist)
Change 3473176 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist) (Part II)
- Missed some files from my previous checkin
Change 3473597 on 2017/06/05 by Ben.Marsh
UnrealVS: Fix massive slowdown on startup caused by searching the directory tree under the solution for *.uproject files (including intermediate folders, etc...). Now reads *.uprojectdirs files and only checks the listed directories within. Measured it taking > 30s to run before, now takes < 0.1s.
Change 3473722 on 2017/06/05 by Steve.Robb
GitHub #3444: UE-42521: Added missing macro's for TMap and TSet
PREPROCESSOR_COMMA_SEPARATED added as a better solution for the hacky comma separator solution in the PR.
Change 3475073 on 2017/06/06 by Steve.Robb
Fix for TPromise's move assignment operator return value.
Change 3475331 on 2017/06/06 by Ben.Marsh
UAT: Fix invalid paths being generated when stripping encryption settings from config files.
* In cases where INI files were in a subfolder of the Config folder (eg. Config\Localization), it was not stripping the separating slash, resulting in files being written to the root directory of the current drive.
* Paths under the config folder are not guaranteed to be unique.
Change 3475453 on 2017/06/06 by Ben.Marsh
UBT: Add an error if a plugin lists a non-plugin module as belonging to it.
#jira UE-45178
Change 3475668 on 2017/06/06 by Ben.Marsh
Add a message showing when we begin creating the asset registry, since it can take a long time.
#jira UE-41675
Change 3475747 on 2017/06/06 by Steve.Robb
Replicated from CL# 3332960:
Force a gather on hot reload, so we don't use stale state from the makefile.
#jira UE-42205
Change 3475897 on 2017/06/06 by Ben.Marsh
PR #3655: Improved behavior for Automation.IsBuildMachine (Contributed by projectgheist)
Change 3477432 on 2017/06/07 by Robert.Manuszewski
Removed AsyncIOBandwidthLimit as it was no longer being used by anything.
Change 3478582 on 2017/06/07 by Ben.Marsh
UBT: Allow setting the UE_ENGINE_DIRECTORY macro for any monolithic builds, to fix being able to debug cooked foreign projects in the binary release.
Change 3480035 on 2017/06/08 by Gil.Gribb
UE4 - Fixed async loading from pak files < 64k.
Change 3484348 on 2017/06/12 by Robert.Manuszewski
Removed private_subobject macro which was a temporary measure to make all subobjects private without breaking game code.
Change 3484863 on 2017/06/12 by Steve.Robb
Fix for TSparseArray::operator= corrupting non-POD objects.
InCopy.ArrayMax cached in a local instead of being read each time.
Const-correctness fix for element copy construction.
SrcData and DestData names flipped as they were the wrong way around.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485003 on 2017/06/12 by Ben.Marsh
UGS: Add support for multiple tabs. Each tab can monitor changes in a separate workspace, and scheduled syncs will run for all open tabs.
Change 3485063 on 2017/06/12 by Ben.Marsh
UGS: Fix a null reference exception when right clicking on the notification icon during startup.
Change 3485104 on 2017/06/12 by Ben.Marsh
PR #2084: [UAT] Command-line parameter to override branch name (Contributed by nbjk667)
Change 3485112 on 2017/06/12 by Steve.Robb
TSetElement generic constructor protected from becoming a copy constructor.
Redundant #include removed from AreTypesEqual.h.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485452 on 2017/06/12 by Ben.Marsh
UnrealVS: Fix command line not being updated for C# projects. IVsBuildPropertyStorage.SetPropertyValue does not seem to update properties that are cached in memory.
#jira UE-45716
Change 3486182 on 2017/06/12 by Ben.Marsh
UGS: Include option to selet tab names in the options menu.
Change 3486189 on 2017/06/12 by Ben.Marsh
UGS: Fix browse button from context menu always opening a new tab.
Change 3486636 on 2017/06/13 by Steve.Robb
FStatMessagesArray iteration changed to use ranged-for instead of indexing.
Change 3486688 on 2017/06/13 by Steve.Robb
Fix for CDO pointer replacement in non-UObject properties during hot reload.
#jira UE-38146
Change 3486704 on 2017/06/13 by Ben.Marsh
UGS: Fix exception when closing the last open tab.
Change 3486707 on 2017/06/13 by Ben.Marsh
UGS: Fix exception on load if UGS was closed with no projects open.
Change 3486715 on 2017/06/13 by Ben.Marsh
UGS: Change tabs to show the project file by default.
Change 3486718 on 2017/06/13 by Ben.Marsh
UGS: Only allow one workspace to sync at a time.
Change 3486880 on 2017/06/13 by Ben.Marsh
UGS: Show the sync progress of each tab via the underline on the tab button.
Change 3486912 on 2017/06/13 by Ben.Marsh
UGS: Include the open project and recent project list as separate top-level menu items.
Change 3486914 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.101.
Change 3487092 on 2017/06/13 by Ben.Marsh
UGS: Fix crash on startup if log window is minimized.
Change 3487099 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.102
Change 3487198 on 2017/06/13 by Ben.Marsh
Remove debug code.
Change 3487285 on 2017/06/13 by Ben.Marsh
Restore Remap() function that was accidentally removed in merge.
Change 3487769 on 2017/06/13 by Ben.Marsh
Disable the promoted flag when using the SyncProject command on Mac; doing so prevents UE4Game being compiled when packaging blueprint projects.
#jira UE-45995
Change 3487915 on 2017/06/13 by Ben.Marsh
UAT: Fix exception due to collection being modified while packaging for Linux.
#jira UE-46013
Change 3487972 on 2017/06/13 by Ben.Marsh
UAT: Always allow staged files to overwrite previously staged files. New iOS code relies on old behavior to overwrite engine icons and metadata with game copies.
#jira UE-46014
Change 3487991 on 2017/06/13 by Ben.Marsh
UAT: Ensure that the directory exists before trying to create a placeholder log filename.
#jira UE-46015
Change 3489062 on 2017/06/14 by Robert.Manuszewski
Removed FPackageFileSummary's AdditionalPackagesToCook as it was not used by anything. This should reduce the package header size considerably for levels with many streaming sublevels.
#jira UE-45563
Change 3489063 on 2017/06/14 by Robert.Manuszewski
Increasing the maximum package summary size to handle levels with multiple streaming sublevels.
#jira UE-45563
Change 3491552 on 2017/06/15 by Ben.Marsh
Handle failures to load *MeshReduction modules.
[CL 3492074 by Ben Marsh in Main branch]
2017-06-15 12:43:54 -04:00
Log . TraceInformation ( "[Adaptive unity build] Disabling PCH for excluded files. Set bAdaptiveUnityDisablesPCH to false in BuildConfiguration.xml to change this behavior." ) ;
2017-04-26 08:28:56 -04:00
}
#CodeReview: jason.bestimt,nick.whiting,mike.beach
--------------------------------------
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core [at] 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
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4285673 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4287799 by jason bestimt in Dev-VR branch]
2018-08-15 11:23:10 -04:00
2017-04-26 08:28:56 -04:00
if ( Target . bAdaptiveUnityDisablesOptimizations )
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3421703 on 2017/05/03 by Ben.Marsh
Surround invalid character message in quotes, so it's clear when a space is listed.
#jira UE-44606
Change 3422644 on 2017/05/04 by Steve.Robb
Ranged-for support for TChunkedArray.
Change 3422754 on 2017/05/04 by Steve.Robb
IAsyncReadFileHandle made non-copyable to prevent accidental wrong stat calculation.
Change 3422758 on 2017/05/04 by Steve.Robb
Misc readability/standards improvements in stats code.
Change 3427955 on 2017/05/08 by Steve.Robb
Version fix for IOS optimization pragmas, copied from equivalent Mac code.
Change 3428017 on 2017/05/08 by Steve.Robb
Unused property types removed.
Change 3428641 on 2017/05/08 by Ben.Marsh
UAT: Remove failed attempt to separate out BuildCookRun into separate commands, which have since rotted.
Change 3430407 on 2017/05/09 by Ben.Marsh
UBT: Define UE_4_X_OR_LATER macros for every UE4 version greater than 4.17 (eg. UE_4_17_OR_LATER, etc...).
Change 3430682 on 2017/05/09 by Gil.Gribb
UE4 - Added a fatal error for asking for very large alignments from MallocBinned2 and also return the true size of the memory block in GetAllocationSize().
Change 3430685 on 2017/05/09 by Gil.Gribb
UE4 - Fixed a bug with the windows async IO stuff related to an unsafe pointer cast to LPDWORD from int64*.
Change 3430756 on 2017/05/09 by Ben.Marsh
UBT: Switch some receipt stuff to use FileReference/DirectoryReference objects rather than raw paths.
Change 3431157 on 2017/05/09 by Ben.Marsh
UBT: Store absolute paths when receipts are in memory; only insert pseudo-variables for $(EngineDir) and $(ProjectDir) when saved to disk.
Change 3432334 on 2017/05/10 by Graeme.Thornton
Include project name in the UBT error message which appears when a plugin is missing
Change 3432481 on 2017/05/10 by Gil.Gribb
UE4 - Fixed code to detect cycles in parallel tick sorting.
Change 3432485 on 2017/05/10 by Steve.Robb
Simplified templating around bitfield offset calculation.
Change 3432608 on 2017/05/10 by Steve.Robb
'bool == byte' static_assert restored after being removed in CL# 3432485.
Change 3432767 on 2017/05/10 by Ben.Marsh
UBT: Fix exception when a missing plugin is encountered if the target does not have a project.
Change 3433031 on 2017/05/10 by Ben.Marsh
UAT: Add classes to allow safer manipulation of paths within the staging directory (StagedFileReference, StagedDirectoryReference), and convert staging code over to using those and their regular filesystem counterparts (FileReference/DirectoryReference). Lots of cleanup and refactoring of staging code.
Change 3433049 on 2017/05/10 by Ben.Marsh
Add more diagnostic information to asserts in TStaticIndirectArrayThreadSafeRead, to try and shed light on what sort of corrupted data is being passed in from the cooker.
#jira UE-44336
Change 3433097 on 2017/05/10 by Steve.Robb
Value initialization fix for MakeUnique<T[]>().
Change 3433972 on 2017/05/10 by Daniel.Lamb
Stop unrealpak from crashing if generating a patch with more pak files then the original game.
Change 3434124 on 2017/05/10 by Ben.Marsh
UAT: Remove hacky bUseWebSocketNetDriver option.
Change 3434824 on 2017/05/11 by Gil.Gribb
UE4 - Printed an error instead of asserting when there are missing native classes.
Change 3434916 on 2017/05/11 by Ben.Marsh
UAT: Separate the list of files to be staged into a separate class.
Change 3435427 on 2017/05/11 by Gil.Gribb
UE4 - Fixed attempts to load compiled in packages, which produces warnings and is slow.
Change 3436240 on 2017/05/11 by Ben.Marsh
UAT: Add a command to search for restricted folders under a given base directory.
Change 3438068 on 2017/05/12 by James.Fox
Checking in Phase 1 of the Dev-Core test map for repro purposes. UE-44996 #rb none
Change 3438855 on 2017/05/15 by Robert.Manuszewski
When verbose cluster logging is enabled and new object is added to an already existing cluster, the cluster will be dumped to log.
Change 3438929 on 2017/05/15 by Robert.Manuszewski
Merging CL # 3436939 using Dev-Core_To_Dev-LoadTimes:
Fix for potential crashes caused by levels staying in memory through material references.
Change 3439021 on 2017/05/15 by Ben.Marsh
PR #3566: fix non-ascii characters in help command HTML converted to "?" (Contributed by kayama-shift)
Change 3439079 on 2017/05/15 by Ben.Marsh
PR #2832: Implement missing MessageBox (Contributed by projectgheist)
Change 3439258 on 2017/05/15 by Ben.Marsh
Highlight lines containing the strings "Error:" or "Warning:" in the output log, so that diagnostics from child processes are highlighted appropriately. The build system already relies similar logic for scraping diagnostics from logs, so it should be safe and predictable to check for messages in this way.
#jira UE-43673
Change 3439358 on 2017/05/15 by Ben.Marsh
UBT: Fix Visual Studio solution referencing the incorrect platform for existing C# project ("Any CPU" instead of "AnyCPU"). Was causing prompt to save the solution the first time it is opened.
Change 3439665 on 2017/05/15 by Ben.Marsh
UAT: Remove DeployPakInternalLowerCaseFilenames(). No platforms require this to be true.
Change 3440735 on 2017/05/16 by Robert.Manuszewski
UBT compile fix after the last merge
Change 3440889 on 2017/05/16 by Ben.Marsh
EC: Fix regex for matching path to source files included in error messages from the Linux toolchain.
Change 3442776 on 2017/05/17 by Steve.Robb
Platform fix for FPaths::IsSamePath.
Change 3445411 on 2017/05/17 by Ben.Marsh
UBT: Fix typo in makefile diagnostic string.
Change 3446070 on 2017/05/18 by Steve.Robb
Fix to array sizes in generated UFunction code, which should now handle editor-only functions.
Change 3446091 on 2017/05/18 by Steve.Robb
Another array size fix for generated code.
Change 3446605 on 2017/05/18 by Steve.Robb
BuildConfiguration option for static analysis.
Change 3448601 on 2017/05/19 by Richard.Fawcett
Change FWindowsPlatformProcess::ApplicationSettingsDir() so that it no longer returns a path with a mixture of "\" and "/" characters, and only contains "/" characters.
This makes it consistent with other related functions like FWindowsPlatformProcess::UserSettingsDir().
Change 3449026 on 2017/05/19 by Ben.Marsh
Fix whitespace in template file.
Change 3449697 on 2017/05/19 by James.Fox
Checking in Phase 2 of Dev-Core test map for QAGame
Also enabled Blueprint and Actor clustering by default in QAGame for more thorough GC testing.
Change 3451352 on 2017/05/22 by Steve.Robb
UFunction flags are now viewable in the debugger.
Change 3451355 on 2017/05/22 by Steve.Robb
ARRAY_COUNT fix for zero-sized arrays in Clang.
Change 3451379 on 2017/05/22 by Steve.Robb
C++14 operator delete overloads with size, for consistency.
Change 3451398 on 2017/05/22 by Graeme.Thornton
Add AES and RSA encryption keys to the list of config fields that get stripped from ini files when staging
When creating a pak file, do a filtered copy of all ini files to a temp directory so that all confidential fields can be stripped. Equivalent behaviour to staging a loose file distribution
Change 3451476 on 2017/05/22 by Ben.Marsh
Compile shipping builds for WEX and Ocean, and post telemetry for the resulting executable size.
Change 3451478 on 2017/05/22 by Graeme.Thornton
PR #3197: Improved log message formatting (Contributed by projectgheist)
Change 3451868 on 2017/05/22 by Steve.Robb
Static log category moved out of header.
ENUM_CLASS_FLAGS macro used instead of explicit operators.
Change 3452319 on 2017/05/22 by Ben.Marsh
UBT: Add a new "package" build product type, which can be used for APK files on Android and Stub files on iOS. Treating these files as executables is causing the measured executable size to be incorrect.
Change 3452607 on 2017/05/22 by Ben.Marsh
UBT: Filter out folders for other platforms when searching for headers to pass to UHT.
Change 3453600 on 2017/05/23 by Graeme.Thornton
PR #3226 - Updated some code comments to better describe the usage of the log category definition macros
Change 3453616 on 2017/05/23 by Steve.Robb
Error reported instead of a crash when there's a space between UCLASS or UINTERFACE and the open parenthesis.
Change 3453714 on 2017/05/23 by Ben.Marsh
Build: Add some Visual Studio 2017 test compiles to the build system.
Change 3453795 on 2017/05/23 by Ben.Marsh
UBT: Fix parsing of command line attributes that have a specific value assigned. We should never have an '=' suffix for such arguments.
Change 3454606 on 2017/05/23 by Ben.Marsh
UAT: Make sure log filenames are unique by creating a 0-byte file in its place.
Change 3454709 on 2017/05/23 by Ben.Marsh
UBT: Enable the /permissive- option for stricter standards compliance on Visual Studio 2017. Currently have /Zc:strictStrings disabled due to violations in Windows headers; all UE4 instances have been fixed up.
Change 3456445 on 2017/05/24 by Graeme.Thornton
MemoryProfiler2 - Add mprof filename into title bar after opening
Change 3457129 on 2017/05/24 by Ben.Marsh
Fix comment for FVector::Normalize().
#jira UE-45369
#rnx
Change 3457228 on 2017/05/24 by Ben.Marsh
Do not allow forward-declaring Rect structs. They are not public, and it conflicts with third party libraries.
#rnx
Change 3458357 on 2017/05/24 by Ben.Marsh
Fix name resolution issue with /permissive- in VS2017.
Change 3458812 on 2017/05/25 by Robert.Manuszewski
PR #2407: Fix LoadLibrary error with Microsoft Group Policy CWDIllegalinDllSearch mode 1 or 2 (Contributed by bozaro)
Change 3458894 on 2017/05/25 by Robert.Manuszewski
PR #2096: Fix argument parsing in DiffAssets Comandlet (Contributed by cgrebeld)
Change 3461205 on 2017/05/26 by Robert.Manuszewski
Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
#jira UE-33790
Change 3464714 on 2017/05/30 by Robert.Manuszewski
Fixing potential deadlock caused by a race condition when using FMallocVerifyProxy with FMallocBinned
Change 3465310 on 2017/05/30 by Ben.Marsh
UBT: Enable bAdaptiveUnityDisablesOptimizations by default.
Change 3465346 on 2017/05/30 by Ben.Marsh
UBT: Require Update 3 to be installed when compiling using VS2015.
Change 3465389 on 2017/05/30 by Ben.Marsh
UBT: Fix support for RTTI when creating PCHs and shared PCHs.
Change 3466084 on 2017/05/30 by Ben.Marsh
Fix compiling plain C files, where it would incorrectly use a C++ PCH.
Change 3467018 on 2017/05/31 by Robert.Manuszewski
Async loading code will now properly handle cases when the requested package could not be created.
Change 3467113 on 2017/05/31 by Ben.Marsh
UGS: When opening a solution in Visual Studio, always start the process in the solution's directory.
Change 3467508 on 2017/05/31 by Ben.Marsh
Add a function to fix a long package name so it matches the case of a file on disk. Fixes deterministic cooking issues when on-disk case changes.
Change 3467510 on 2017/05/31 by Ben.Marsh
Fix deterministic cooking issue caused by LODGroup only being initialized in the CDO if it's serialized, causing inconsistent delta serialization for instances.
Change 3467967 on 2017/05/31 by Ben.Marsh
Always allow UAT to compile on non-Windows platforms, even if a debugger is present, since MSVC is the only one that will load C# PDBs.
Change 3468544 on 2017/05/31 by Ben.Marsh
UBT: Add a more helpful message when a module is being compiled with implicit PCHs, but a source file is not configured correctly.
Change 3469241 on 2017/06/01 by Ben.Marsh
UBT: Fix single-file compile causing a different UHT manifest to be generated, potentially excluding hidden dependencies.
Change 3471709 on 2017/06/02 by Daniel.Lamb
Rebuild lighting commandlet now rebuilds reflections also instead of trashing them.
#test None
Change 3471719 on 2017/06/02 by Daniel.Lamb
Fixed crash in cooker while trying to cook for multiple platforms
#test Launch on shootergame windows + ps4
#jira UE-45356
Change 3472261 on 2017/06/02 by Ben.Marsh
CRP: Clear out MDD logs whenever we clear out CRP logs.
Change 3473169 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist)
Change 3473176 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist) (Part II)
- Missed some files from my previous checkin
Change 3473597 on 2017/06/05 by Ben.Marsh
UnrealVS: Fix massive slowdown on startup caused by searching the directory tree under the solution for *.uproject files (including intermediate folders, etc...). Now reads *.uprojectdirs files and only checks the listed directories within. Measured it taking > 30s to run before, now takes < 0.1s.
Change 3473722 on 2017/06/05 by Steve.Robb
GitHub #3444: UE-42521: Added missing macro's for TMap and TSet
PREPROCESSOR_COMMA_SEPARATED added as a better solution for the hacky comma separator solution in the PR.
Change 3475073 on 2017/06/06 by Steve.Robb
Fix for TPromise's move assignment operator return value.
Change 3475331 on 2017/06/06 by Ben.Marsh
UAT: Fix invalid paths being generated when stripping encryption settings from config files.
* In cases where INI files were in a subfolder of the Config folder (eg. Config\Localization), it was not stripping the separating slash, resulting in files being written to the root directory of the current drive.
* Paths under the config folder are not guaranteed to be unique.
Change 3475453 on 2017/06/06 by Ben.Marsh
UBT: Add an error if a plugin lists a non-plugin module as belonging to it.
#jira UE-45178
Change 3475668 on 2017/06/06 by Ben.Marsh
Add a message showing when we begin creating the asset registry, since it can take a long time.
#jira UE-41675
Change 3475747 on 2017/06/06 by Steve.Robb
Replicated from CL# 3332960:
Force a gather on hot reload, so we don't use stale state from the makefile.
#jira UE-42205
Change 3475897 on 2017/06/06 by Ben.Marsh
PR #3655: Improved behavior for Automation.IsBuildMachine (Contributed by projectgheist)
Change 3477432 on 2017/06/07 by Robert.Manuszewski
Removed AsyncIOBandwidthLimit as it was no longer being used by anything.
Change 3478582 on 2017/06/07 by Ben.Marsh
UBT: Allow setting the UE_ENGINE_DIRECTORY macro for any monolithic builds, to fix being able to debug cooked foreign projects in the binary release.
Change 3480035 on 2017/06/08 by Gil.Gribb
UE4 - Fixed async loading from pak files < 64k.
Change 3484348 on 2017/06/12 by Robert.Manuszewski
Removed private_subobject macro which was a temporary measure to make all subobjects private without breaking game code.
Change 3484863 on 2017/06/12 by Steve.Robb
Fix for TSparseArray::operator= corrupting non-POD objects.
InCopy.ArrayMax cached in a local instead of being read each time.
Const-correctness fix for element copy construction.
SrcData and DestData names flipped as they were the wrong way around.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485003 on 2017/06/12 by Ben.Marsh
UGS: Add support for multiple tabs. Each tab can monitor changes in a separate workspace, and scheduled syncs will run for all open tabs.
Change 3485063 on 2017/06/12 by Ben.Marsh
UGS: Fix a null reference exception when right clicking on the notification icon during startup.
Change 3485104 on 2017/06/12 by Ben.Marsh
PR #2084: [UAT] Command-line parameter to override branch name (Contributed by nbjk667)
Change 3485112 on 2017/06/12 by Steve.Robb
TSetElement generic constructor protected from becoming a copy constructor.
Redundant #include removed from AreTypesEqual.h.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485452 on 2017/06/12 by Ben.Marsh
UnrealVS: Fix command line not being updated for C# projects. IVsBuildPropertyStorage.SetPropertyValue does not seem to update properties that are cached in memory.
#jira UE-45716
Change 3486182 on 2017/06/12 by Ben.Marsh
UGS: Include option to selet tab names in the options menu.
Change 3486189 on 2017/06/12 by Ben.Marsh
UGS: Fix browse button from context menu always opening a new tab.
Change 3486636 on 2017/06/13 by Steve.Robb
FStatMessagesArray iteration changed to use ranged-for instead of indexing.
Change 3486688 on 2017/06/13 by Steve.Robb
Fix for CDO pointer replacement in non-UObject properties during hot reload.
#jira UE-38146
Change 3486704 on 2017/06/13 by Ben.Marsh
UGS: Fix exception when closing the last open tab.
Change 3486707 on 2017/06/13 by Ben.Marsh
UGS: Fix exception on load if UGS was closed with no projects open.
Change 3486715 on 2017/06/13 by Ben.Marsh
UGS: Change tabs to show the project file by default.
Change 3486718 on 2017/06/13 by Ben.Marsh
UGS: Only allow one workspace to sync at a time.
Change 3486880 on 2017/06/13 by Ben.Marsh
UGS: Show the sync progress of each tab via the underline on the tab button.
Change 3486912 on 2017/06/13 by Ben.Marsh
UGS: Include the open project and recent project list as separate top-level menu items.
Change 3486914 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.101.
Change 3487092 on 2017/06/13 by Ben.Marsh
UGS: Fix crash on startup if log window is minimized.
Change 3487099 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.102
Change 3487198 on 2017/06/13 by Ben.Marsh
Remove debug code.
Change 3487285 on 2017/06/13 by Ben.Marsh
Restore Remap() function that was accidentally removed in merge.
Change 3487769 on 2017/06/13 by Ben.Marsh
Disable the promoted flag when using the SyncProject command on Mac; doing so prevents UE4Game being compiled when packaging blueprint projects.
#jira UE-45995
Change 3487915 on 2017/06/13 by Ben.Marsh
UAT: Fix exception due to collection being modified while packaging for Linux.
#jira UE-46013
Change 3487972 on 2017/06/13 by Ben.Marsh
UAT: Always allow staged files to overwrite previously staged files. New iOS code relies on old behavior to overwrite engine icons and metadata with game copies.
#jira UE-46014
Change 3487991 on 2017/06/13 by Ben.Marsh
UAT: Ensure that the directory exists before trying to create a placeholder log filename.
#jira UE-46015
Change 3489062 on 2017/06/14 by Robert.Manuszewski
Removed FPackageFileSummary's AdditionalPackagesToCook as it was not used by anything. This should reduce the package header size considerably for levels with many streaming sublevels.
#jira UE-45563
Change 3489063 on 2017/06/14 by Robert.Manuszewski
Increasing the maximum package summary size to handle levels with multiple streaming sublevels.
#jira UE-45563
Change 3491552 on 2017/06/15 by Ben.Marsh
Handle failures to load *MeshReduction modules.
[CL 3492074 by Ben Marsh in Main branch]
2017-06-15 12:43:54 -04:00
Log . TraceInformation ( "[Adaptive unity build] Disabling optimizations for excluded files. Set bAdaptiveUnityDisablesOptimizations to false in BuildConfiguration.xml to change this behavior." ) ;
2017-04-26 08:28:56 -04:00
}
#CodeReview: jason.bestimt,nick.whiting,mike.beach
--------------------------------------
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core [at] 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
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4285673 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4287799 by jason bestimt in Dev-VR branch]
2018-08-15 11:23:10 -04:00
if ( Target . bAdaptiveUnityEnablesEditAndContinue )
{
Log . TraceInformation ( "[Adaptive unity build] Enabling Edit & Continue for excluded files. Set bAdaptiveUnityEnablesEditAndContinue to false in BuildConfiguration.xml to change this behavior." ) ;
}
2017-04-26 08:28:56 -04:00
}
2015-09-24 12:37:21 -04:00
Log . TraceInformation ( AdaptiveUnityBuildInfoString . ToString ( ) ) ;
2015-08-27 16:33:06 -04:00
}
2014-04-23 20:18:55 -04:00
AllUnityFiles = CPPUnityFileBuilder . GetUnityFiles ( ) ;
2014-03-14 14:13:41 -04:00
}
2014-04-23 20:18:55 -04:00
// Create a set of CPP files that combine smaller CPP files into larger compilation units, along with the corresponding
// actions to compile them.
int CurrentUnityFileCount = 0 ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileCollection UnityFile in AllUnityFiles )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
+ + CurrentUnityFileCount ;
2015-09-24 12:37:21 -04:00
StringWriter OutputUnityCPPWriter = new StringWriter ( ) ;
2014-03-14 14:13:41 -04:00
OutputUnityCPPWriter . WriteLine ( "// This file is automatically generated at compile-time to include some subset of the user-created cpp files." ) ;
2014-04-23 20:18:55 -04:00
// Add source files to the unity file
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem CPPFile in UnityFile . Files )
2014-03-14 14:13:41 -04:00
{
2019-04-01 13:02:06 -04:00
OutputUnityCPPWriter . WriteLine ( "#include \"{0}\"" , CPPFile . AbsolutePath . Replace ( '\\' , '/' ) ) ;
2015-09-24 12:37:21 -04:00
}
2014-04-23 20:18:55 -04:00
// Determine unity file path name
2015-09-03 08:47:24 -04:00
string UnityCPPFileName ;
2014-04-23 20:18:55 -04:00
if ( AllUnityFiles . Count > 1 )
{
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3196521)
#lockdown Nick.Penwarden
Change 3196499 on 2016/11/14 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3196473
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3196498 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3195674 on 2016/11/11 by Laurent.Delayen
Fix for twinblast ult mesh not disappearing at lower lods. (curves not getting properly update with URO)
Fixes https://jira.it.epicgames.net/browse/OR-31509
#rb lina.halper
#tests twinblast ult multiPIE
Change 3195245 on 2016/11/11 by Dan.Hertzka
Card crafting progress
- Device responds to UI actions appropriately and infinitely
- Backing out of device screen goes to card details first (i.e. doesn't take you all the way out of the screen)
- CraftingDevice and CraftingDeviceNode now have a few natively-controlled timelines for reversible states
- Non-reversible timelines all now play from start (so they work more than once)
Engine-side:
- Added an overload to UTimelineComponent::SetOnTimelineFinishedFunc() that takes a native (non-dynamic) delegate
- Added a way to set the owning player of a UUserWidget via a local PlayerController (since ULocalPlayer isn't a BP type) - used to establish the owner of a WidgetComponent's widget
#rb none
#tests PIE crafting
Change 3194616 on 2016/11/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3194604
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3194615 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3193875 on 2016/11/10 by Andrew.Grant
Removed GameThreadWaitForTask fatal timeout if running in editor (assumption is that some operations can cause significant blocks, and that's ok..
#jira UE-38496
#tests compiled
#rb none
#c0dereview Marcus.Wassmer
Change 3193368 on 2016/11/10 by Mieszko.Zielinski
Fixed a bug in UCharacterMovementComponent::OnMovementModeChanged making UPathFollowingComponent::OnStartedFalling being sent too late #UE4
#rb Lukasz.Furman
#test golden path
Change 3193280 on 2016/11/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3193232
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3193279 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3192376 on 2016/11/09 by Laurent.Delayen
RootMotion Sources: removed second check, as that was a perfectly valid case. Fixes https://jira.it.epicgames.net/browse/OR-31490
#rb none
#tests riftmage blackhold multiPIE
Change 3192243 on 2016/11/09 by Laurent.Delayen
UAbilityTask_ApplyRootMotionMoveToActorForce replicates TimeMappingCurve to potentially fix https://jira.it.epicgames.net/browse/OR-31266
#rb none
#tests Jump pads on Sovereign2 multiPIE
Change 3191985 on 2016/11/09 by Laurent.Delayen
Additional debug info for https://jira.it.epicgames.net/browse/OR-31300
#rb none
#tests compiles
Change 3191565 on 2016/11/09 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3191371
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3191564 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3190702 on 2016/11/08 by David.Ratti
Fix PIE autologgin mcp problem
#rb JoshM
#tests PIE autologgin
Change 3190591 on 2016/11/08 by Mieszko.Zielinski
Added a way to RecastNavMesh to retrieve navigation links in a given tile #UE4
#rb Lukasz.Furman
#test golden path
Change 3190363 on 2016/11/08 by Frank.Gigliotti
Root motion velocity clamping and bug fixes;
* Added option to clamp velocity when ending MoveToActorForce, MoveToForce, and RadialForce root motions.
* Disabled partial ticking on the FRootMotionSource_ConstantForce when applying the finishing velocity or clamping velocity on root motion ability tasks. This ensures the desired velocity is set correctly.
* Added AbilityTask_ApplyRootMotion_Base as a base class for all root motion ability tasks.
#RB David.Ratti, Zak.Middleton
#c0dereview Zak.Middleton
#Tests PIE - Multiple heroes with root motion abilities
Change 3190344 on 2016/11/08 by Laurent.Delayen
RootMotionSources: Tracking down https://jira.it.epicgames.net/browse/OR-31266
Testing for 'Matches' rule in more places, to track down where it breaks. Added more info. Switched check to ensure, so it doesn't prevent playtests.
Minor tweaks:
- Test for ID before TimeStamp
- Changed auto to proper type.
- Trim RootMotionIDMappings of outdated mappings since we can iterate over that array quite a bit.
#rb none
#tests multiPIE
Change 3190217 on 2016/11/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3190009
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3190216 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188560 on 2016/11/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3187796
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3188499 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188012 on 2016/11/05 by Andrew.Grant
Merging using ROBO://Orion/Main->//Orion/Dev-General
#rb #tests na
Change 3187818 on 2016/11/04 by Michael.Noland
Editor: Refactored the game instance PIE creation hooks, allowing them to pass an error message back that will be displayed to the user explaining why PIE was aborted/failed to start
- Fixed a potential crash trying to tear down a null world when UGameInstance::StartPlayInEditorGameInstance fails
Upgrade notes:
- UGameInstance::InitializePIE overrides should now override InitializeForPlayInEditor instead
- UGameInstance::StartPIEGameInstance overrides should now override StartPlayInEditorGameInstance instead
- These methods return a FGameInstancePIEResult which can be created via FGameInstancePIEResult::Success() or FGameInstancePIEResult::Failure(), and take a parameter struct to make it easier to send additional information in the future without breaking the signature again
#rb matt.kuhlenscmidt
#tests Tested various PIE configurations in Paragon
Change 3187756 on 2016/11/04 by Michael.Noland
Editor: Added support for games to respond to Play in Editor setting changes (by properly calling PostEditChange when the PIE/SIE menu options are picked/toggled)
#tests Tested in Paragon by binding to FCoreUObjectDelegates::OnObjectPropertyChanged
#rb ben.ziegler
Change 3187258 on 2016/11/04 by Dan.Hertzka
- UTextBlock::SetText is now virtual
- OrionTextBlock has a property ("All Caps") that, if true, will always convert all text it's given to ALL CAPS
#c0dereview Sean.Smith, Philip.Buuck, Marcel.Swanepoel, Bryan.Rathman
#rb none
#tests PIE
Change 3187157 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Case fix for staged files
#rb Ben.Marsh
#tests preflighted
#R0B0MERGE-SOURCE: CL 3187153 in //Orion/Release-34/... via CL 3187154 via CL 3187155 via CL 3187156
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186870 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3186846
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3186855 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186243 on 2016/11/03 by Michael.Noland
Engine: Fixed reporting of ScreenPct when the cvar is set directly rather than via game user settings
- Also fixed a place that was using ScreenPct as an integer instead of a float in the OSVR plugin
#jira OR-23184
#tests Tested by setting r.screenpercentage directly to a different value and inspecting the chart results
#rb ben.ziegler
Change 3185134 on 2016/11/03 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3185065
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3185131 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3183689 on 2016/11/02 by Aaron.McLeran
OR-31091 Implementing 3175639 in Dev-General
#rb zak.middleton
#tests unplug headphones and observe no log spam or other issues
Change 3183292 on 2016/11/02 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3182926
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3183084 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3182323 on 2016/11/01 by Dan.Hertzka
Fix crash in sequencer when opening a widget BP with the sequencer tab closed (failed to null check)
#c0dereview Nick.Darnell
#rb Stephan.Jiang
#tests none
Change 3182295 on 2016/11/01 by Daniel.Lamb
Fixed up routing BeginDestroy.
#rb Andrew.Grant
#jira OR-31043
#test Paragon win64 -game
Change 3181975 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181895 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181892 on 2016/11/01 by Michael.Trepka
Copy of CL 3162466
By default, do not compile Mac OpenGL and Metal SM4 shaders while cooking
#rb Mark.Satterthwaite
#jira UE-37088
#tests Cooked MacNoEditor data on Windows
Change 3181624 on 2016/11/01 by David.Ratti
Pass attribute value by reference through SetNumericValue_Internal so that the final/clamped value is what is broadcasted to attribute change delegates
#rb none
#tests golden path w/ extra logging to verify final value is what is broadcasted
#c0dereview Billy.Bramer, Fred.Kimberley
Change 3181574 on 2016/11/01 by Jason.Bestimt
#ORION_DG - Fixing up R0B0MERGE issue
#RB:none
#Tests:none
Change 3180859 on 2016/10/31 by Brian.Karis
Removed SSAO from hair
Change 3180320 on 2016/10/31 by Daniel.Lamb
Added support for rebuild lighting commandlet to read maps to rebuild from ini file.
#rb Andrew.Grant
#test Paragon rebuild lighting
#jira OR-30841
Change 3180227 on 2016/10/31 by Laurent.Delayen
Disabled Warning to fix https://jira.it.epicgames.net/browse/OR-30965
Will be turned into a warning message in the BP editor.
#c0dereview benn.gallagher
#rb none
#tests none
Change 3179903 on 2016/10/31 by jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3179886
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3179895 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3177903 on 2016/10/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3177869
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3177901 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3175548 on 2016/10/26 by Michael.Noland
GameplayAbilities: Change it so that delegates registered via RegisterGameplayAttributeEvent are still called on the client when there is no aggregator entry
#rb david.ratti
#c0dereview billy.bramer
#tests Tested in multiplayer PIE client with a new minion callback and golden path in -game
Change 3175544 on 2016/10/26 by Bart.Hawthorne
Draft in replays improvements:
- Marker added to timeline bar that shows when the level change happens
- Added "Skip Draft" button when loading a replay which will bypass the draft
- Only PvP matches will record replays
- Added "Exit Replay" button to hamburger menu while in draft
- No longer load hero data before viewing a replay if not skipping draft
- Enable replay recording in PvP
#rb john.pollard
#c0dereview paul.moore
#tests nomcp golden path up to spawnpoint, created and loaded several replays
Change 3175533 on 2016/10/26 by Michael.Noland
Fix for FMallocBinned::GetAllocationSize() for aligned allocations.
#jira UE-37249
#jira UE-37243
#rb robert.manuszewski
#lockdown robert.manuszewski
[reimplementing CL# 3165739 from Release-4.13]
#tests Compiled
Change 3175311 on 2016/10/26 by Daniel.Lamb
Added support for safe zone change.
Messed up files in last checkin
#test Ps4 paragon
#jira OR-30506
#rb Matt.Kuhlenschmidt
Change 3175298 on 2016/10/26 by Daniel.Lamb
Added support for updating safe area
#rb Matt.Kuhlenschmidt
#c0dereview Andrew.Grant Nick.Darnell
#test Ps4 paragon
#jira OR-30506
Change 3175209 on 2016/10/26 by David.Ratti
Fix a few cases where default gameplay cue parameters weren't initialized properly and could not be translated by the skin system. Fixes some mayan steel issues.
#rb none
#tests pie
Change 3174858 on 2016/10/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34/33.2 @ CL 3174784
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3174857 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3174822 on 2016/10/26 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
#rb marc.audy
#test create/destroy effects with HQ lights in editor.
Change 3174344 on 2016/10/25 by Ryan.Gerleve
Added a bIsNetStartupComponent flag to UActorComponent. This will be set for components that are owned by an actor when that actor's bNetStartup flag is set.
#rb john.pollard
#tests golden path
Change 3174270 on 2016/10/25 by Marcus.Wassmer
Add LightingChannel control to High Quality particle lights.
#rb none
#test tested different lighting channels.
Change 3173855 on 2016/10/25 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3173292
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3173361 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3173843 on 2016/10/25 by Michael.Trepka
Update custom window controls on toggle fullscreen and make sure that when we switch to windowed mode we don't use window size that wouldn't fit on desktop
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3173783 on 2016/10/25 by Dan.Youhon
Add VelocityOnFinish mode options to RootMotionRadialForce so that designers can control what happens to a character's velocity when the ability task ends (part of #OR-30249)
#rb None
#tests MultiPIE
Change 3173734 on 2016/10/25 by Dan.Youhon
Protect against invalid Duration in FRootMotionSource_MoveToDynamicForce on simulated clients #OR-27128
#rb None
#tests MultiPIE
Change 3173714 on 2016/10/25 by David.Ratti
Add Game and Engine Compat versions for replays
#coderview John.Pollard
#rb Lietz
#tests golden path, replays
Change 3173681 on 2016/10/25 by Bart.Hawthorne
Implement drafting in replays. A replay spectator is spawned in the draft lobby so that the draft is saved out to the replay server, and clients are now able to travel in replays both when they occur "naturally" (at the same time as if they were a client), and also by scrubbing to a place in the timeline that's a different level.
The feature is implemented but currently disabled by default - turn on by setting CVarEnableDraftInReplays to 1. Replays should function the same as before.
Also fixed a warning on the dedicated server related to abandoning a draft.
#rb john.pollard
#c0dereview josh.markiewicz, paul.moore
#tests nomcp golden path (up to spawning), recorded multiple replays and played back with lots of scrubbing
Change 3173677 on 2016/10/25 by Andrew.Grant
Reenabled audio thread
Added safety wrapper to prevent code accidentally using events after they are returned to the pool.
#tests na
#rb Gil.Gribb
Change 3173588 on 2016/10/25 by Ryan.Gerleve
Added a replication condition to skip replays.
#tests golden path
#rb john.pollard
Change 3172692 on 2016/10/24 by Marcus.Wassmer
Fix OR-30390 caused by missing mutex lock
#rb none
#test compile ps4
Change 3172025 on 2016/10/24 by Matt.Kuhlenschmidt
Fix blur widget not respecting clip rects
#rb none
#tests paragon blur widget clipping bugs
Change 3171570 on 2016/10/23 by Mieszko.Zielinski
Moved Bots' enemy selection eqs query triggering to native code #Orion
Did this to be able to manually trigger enemy selection when current enemy dies, to avoid having a "null" enemy in BB for couple of ticks.
Also, made couple of tweaks to positioning and tower attacking behavior of melee bots
#rb none
#test golden path
Change 3171100 on 2016/10/21 by Aaron.Eady
FGameplayCueTagDetails;
Adding a check for if the RawStructData.Num > 0 before trying to use it. There was a case where you could crash the editor if you create a new GC tag inside of a BP, compile the BP, click Add New, select a GC type, then when the file is created, click away from it in the content browser. This repro wasn't 100% but often enough to caus a problem.
#rb David.Ratti (actually wrote the code)
#tests PIE
Change 3171060 on 2016/10/21 by Ryan.Gerleve
Some cleanup and fixes for deathcam:
The recording demo net driver for the deathcam replay now uses checkpoint amortization to smooth out spikes.
Converted UOrionKillcamPlayback::IsKillcamWorld to IsKillcamActor, since IsKillWorld isn't useful for the new single-world implementation.
Converted a GetValueOnGameThread to GetValueOnAnyThread (wasn't in the merge) so that deathcam replay recording can happen on a thread.
Added comment to UAbilitySystemComponent::OnComponentDestroyed.
#rb john.pollard
#tests golden path, enabled deathcam
Change 3171041 on 2016/10/21 by Ryan.Gerleve
Make the CheckpointSaveMaxMSPerFrame value a member of UDemoNetDriver so it can be set per instance, and convert the demo.CheckpointSaveMaxMSPerFrame cvar into an override for this value.
#rb john.pollard
#tests golden path
Change 3170917 on 2016/10/21 by Mieszko.Zielinski
Made a change to OrionBTTask_ObjectiveGraphMove to make it fallback to regular move if the destination is in the same or second-closest objective graph node #Orion
#rb none
#test golden path
Change 3170914 on 2016/10/21 by Mieszko.Zielinski
Fixed EQS scoring bug resulting in some items getting NaN scored #UE4
The NaN was happening when scoring but not filtering using a bool-based test, or when unintentionally skipping items by moving item iterator without doing any work.
Removed a bunch of deprecated code while there
#rb Lukasz.Furman
#test golden path
Change 3170912 on 2016/10/21 by Mieszko.Zielinski
Manual merge of crucial BT fixed over from //Fortnite/Main #UE4
Original CL#3159145 , CL#3159892
#rb Lukasz.Furman
#test golden path
Change 3170478 on 2016/10/21 by David.Ratti
fix editor crash related to recompiling gamplay cue blueprint while a preview animation is playing that invokes that gameplay cue.
#rb none
#tests editor
Change 3170231 on 2016/10/21 by Ryan.Gerleve
Fix for an issue that was preventing moving your hero after spawning in PIE in Agora: set the net driver on static level collections as well.
#tests golden path, PIE
#c0dereview john.pollard
#rb none
Change 3170074 on 2016/10/20 by Ryan.Gerleve
Merging support for recording client replays in a task parallel with Slate (optimization for deathcam) from UE4/Dev-Networking.
CL 3169209
#tests golden path, replays
#rb none
Change 3170019 on 2016/10/20 by Ryan.Gerleve
Merging support for deathcam memory optimizations (level collection work) from UE4/Main and UE4/Dev-Networking.
CLs:
3134499
3134771
3135279
3137140
3138081
3140413
3150142
3142515
3162189
3162194
#tests golden path
#rb none
Change 3169686 on 2016/10/20 by Michael.Trepka
Fixed a Windows-specific problem with parts of the custom window buttons not accepting mouse clicks when the window is maximized due to window region used by FWindowsWindow::IsPointInWindow() being offset by border size.
#rb Jeff.Campeau
#tests Tested in editor build on PC
Change 3169668 on 2016/10/20 by Max.Chen
Sequencer - Don't crash when a bool track or visibility track has a null runtime object.
Copy from Odin
#rb none
#tests opened a recorded sequence
Change 3169657 on 2016/10/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_33 - Fix for localization export of web data
Fixed export of localized formatted text
- Removed the super-specific GetSourceTextsFromFormatHistory, and replaced it with the more-generic GetHistoricFormatData to get information about an FText that was generated via FText::Format.
- Added GetHistoricNumericData to get information about an FText that was generated via FText::AsNumber or FText::AsPercent.
- Updated the translation picker to use GetHistoricFormatData.
- Removed the code from FMultiLocHelper that used GetSourceTextsFromFormatHistory as it wasn't actually needed.
- Added code to FGameDataExporter to correctly localize a formatted text for a given culture, and re-format the result for export.
[c0dereviewed]: jamie.dale
#RB:none
#Tests:Exported game data!
#R0B0MERGE-SOURCE: CL 3169653 in //Orion/Release-33/... via CL 3169654 via CL 3169655 via CL 3169656
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3169616 on 2016/10/20 by David.Ratti
missed file
#rb none
#tests none
Change 3169597 on 2016/10/20 by David.Ratti
Missed include
#rb DanH
#tests none
Change 3169393 on 2016/10/20 by David.Ratti
AbilitySystem.GlobalAbilityScale cvar to help design iterate on animation/duration based tweaks
#rb none
#tests pie
Change 3168287 on 2016/10/19 by Mieszko.Zielinski
Expanded EQS info logged with vlog #UE4
#rb none
#test golden path
Change 3168282 on 2016/10/19 by David.Ratti
Restore warning when multiple GC notifies try to handle the same tag.
#rb none
#tests compile, launch editor, see warnings, cry
Change 3168196 on 2016/10/19 by Jon.Lietz
compile fix, removing the int version of FirstActiveIndex and leaving the in32 version.
#RB none
#tests compiles
Change 3168041 on 2016/10/19 by Michael.Trepka
Don't restore saved resolution on window activation in non-fullscreen modes
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3167859 on 2016/10/19 by Aaron.McLeran
UE-36288 Fixing concurrency resolution stop quietest
Implementing in Dev-General for Joey since he needs the fix ASAP.
#rb Jeff.Campeau
#tests perform tests described in JIRA bug.
Change 3167790 on 2016/10/19 by Andrew.Grant
Duplication of 3167569 from //Odion/Main for Paragon cinematics
#rb none
#tests compiled
Change 3167682 on 2016/10/19 by Laurent.Delayen
Integrated #ORION_33.1 - Disabled WindSources on Cloth and AnimDynamics, as it's not safe to access from the GameThread. https://jira.it.epicgames.net/browse/OR-30473
#rb ori.cohen, benn.gallagher
#tests Vamp, Kwang, Chains in Persona and PIE with WindActor in level.
Change 3167466 on 2016/10/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3167368
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3167456 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3167312 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#rb Lukasz.Furman
#test golden path
#jira UE-37496
Change 3166784 on 2016/10/18 by Laurent.Delayen
Don't leave PhysicsBodies::bWindEnabled uninitialized in case Wind is not enabled (Persona)
#rb none
#c0dereview benn.gallagher
#test Chains in Persona
Change 3166641 on 2016/10/18 by Mieszko.Zielinski
Made the value span used for EQS item score normalization configurable #UE4
#rb Lukasz.Furman
#test golden path
Change 3166632 on 2016/10/18 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Added support for multiple deployment sandboxes on PS4.
BuildCookRun -deploy=SomeDir
ps4.elf -deployedbuild=SomeDir
Omitting name in -deploy/-deployedbuild falls back to previous default of using 'GameName' as the deployment sandbox.
#tests BuildCookRun with -deploy and -deploy=Orion_v33, Ran PS4 with -deployedbuild and -deployedbuild=Orion_v33
[c0dereviewed] Marcus.Wassmer, Luke.Thatcher
#rb none
#R0B0MERGE-SOURCE: CL 3166622 in //Orion/Release-33/... via CL 3166629 via CL 3166630 via CL 3166631
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3166494 on 2016/10/18 by Michael.Noland
Engine: Removed irrelevant GPU stats from FPS chart server analytics reports
#jira OR-13877
#rb david.ratti
#tests Ran golden path on uncooked Win64, used forcewinmatch, and inspected the analytics arrays
Change 3166476 on 2016/10/18 by Michael.Noland
Cooker: Deleting dead GenerateManifestInfo methods
#tests Compiled
#rb none
#c0dereview daniel.lamb
Change 3166471 on 2016/10/18 by Michael.Noland
Making sure DebugWorlds/DebugWorldNames are in sync, since we expect an index from one to match the other (fixes an issue where users could select a debug world and the wrong one was chosen).
[reimplementing CL# 3157138 by Mike.Beach]
#jira UE-37107
#rb Dan.OConnor
#tests Tested multiplayer PIE and opening an anim BP
Change 3166460 on 2016/10/18 by Michael.Noland
Particles: Prevent log spam on servers about stripped emitters
#rb graeme.thornton
[reimplementing CL# 3157862 by Simon.Tovey]
#tests Ran an uncooked server and tested golden path
Change 3166339 on 2016/10/18 by Laurent.Delayen
oops, this file got away.
#rb none
#tests none
Change 3166337 on 2016/10/18 by Laurent.Delayen
Fix for AnimDynamics Wind crash.
https://jira.it.epicgames.net/browse/OR-30351
Access WindParameters on GameThread. Also minor optimization: don't iterate over bodies every frame if wind is off.
#rb benn.gallagher
#c0dereview lina.halper, thomas.sarkanen
#tests Vamp
Change 3166207 on 2016/10/18 by Mieszko.Zielinski
Bot perception work #Orion
Added a new sense that makes bots know about enemies visible on the minimap
Made jungle minions do not register as sight sources
Cleaned up bot perception component a bit
#rb none
#test golden path
Change 3166138 on 2016/10/18 by Michael.Noland
Blueprints: Converted a crash with the debug world name in the BP editor to an ensure until it can be fixed properly (see OR-29650)
#c0dereview dan.oconnor
#rb none
#tests Tested opening an anim BP during multiplayer PIE
Change 3165860 on 2016/10/18 by David.Ratti
remove some debug code that wasn't intended to be checked in
#rb none
#tests compile
Change 3165288 on 2016/10/17 by Ian.Fox
#XMPP - Add correlation id attribute to outgoing stanzas
#RB Rob.Cannaday
#Tests Correlation IDs come back in responses to xmpp messages we send
#JIRA OGS-409
Change 3165096 on 2016/10/17 by David.Ratti
Fix issue where gameplay tags net indices would be out of sync on cooked PS4 client playing on uncooked windows servers. Would cause some effects to not play.
#rb none
#tests PS4/PC crossplay
Change 3164973 on 2016/10/17 by Dan.Hertzka
Fix link error
#rb #tests compile
Change 3164910 on 2016/10/17 by Lukasz.Furman
fixed bug in merging behavior tree searches
copy of CL 3164903
#ue4
#rb Mieszko.Zielinski
#tests none
Change 3164908 on 2016/10/17 by Dan.Hertzka
Exposing the blur widget for use in Paragon
** Use OrionBlurWidget, not the base BackgroundBlurWidget
- Added it to the hero and default tooltips for reference
#rb none
#c0dereview Marcel.Swanepoel, Sean.Smith, Bryan.Rathman
#tests PIE
Change 3164482 on 2016/10/17 by David.Ratti
Editor loadtime improvements
* Refactor GameplayCue manager to support two distinct object library sets: Runtime and Editor. Editor library operates on all valid gameplay cue paths but never loads or scans, only reflects what asset registry has found. Runtime library is the initial loaded paths + any explicit requests. These scan when needed and async load at startup.
* Wrote UOrionAsyncLoadRequestQueue to feed the async load queue with requests at startup. This is to avoid submitting 300+ requests at startup and have them flushed by a sync load. The editor will wait until it is fully initialized before kicking these off.
* Changed UOrionUIManagerWidget to weakly reference all of its state widgets. In non editor builds these are all loaded at startup like before. In editor builds, we sync load them on demand. This allows us to not load everything in order to PIE.
* Added options for loading various pieces of data at editor startup: HUDwidget V4, last used hero data, and shared gameplay cues.
* -game -nomcp will now properly async load initial set of data
* BeginLoadAsyncData no longer takes netmode as parameter since it is confusing and can just use IsDedicatedServer() internally
* Added new log category: LogOrionStartup
#rb none
#c0dereview Dan.Hertzka
#tests pie, golden path, cooked PS4
Change 3163635 on 2016/10/14 by Laurent.Delayen
AnimInstance: Pass a few FNames by reference instead of by value. Added CalcSlotMontageLocalWeight to get local a slot's local weight without a frame a lag. Fixed Montage update happening after native update on gamethread, but before native update on worker thread. Now happens before both, so we can reliably get montage weights without a frame of lag regardless of where we access it.
#rb none
#c0dereview martin.wilson, thomas.sarkanen
#tests fixes Twinblast's primary fire blend out having a frame a lag.
Change 3163620 on 2016/10/14 by Laurent.Delayen
AnimNode_Slot debug: Show actual slot local weight, instead of always 1.
#rb none
#c0dereview martin.wilson
#tests twinblast debug
Change 3163061 on 2016/10/14 by Andrew.Grant
Pulling test framework changes into seprate CL
#rb #tests na
Change 3162675 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes down early.
#rb #tests na
#R0B0MERGE-SOURCE: CL 3162674 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3162062 on 2016/10/13 by Michael.Trepka
Replaced FWindowsCursor hack for warping the mouse cursor to the center of the viewport with a better fix for the original problem (users being able to resize the window while the cursor is hidden and the mouse controls the camera). This change removes round window corners in borderless window mode and disables window resizing when the cursor is hidden.
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3161489 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3161453
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3161473 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3160664 on 2016/10/12 by Ben.Salem
Fix logic order error fuzzy matching on automated tests - we were only allowing one match per filter instead of one match per test.
#rb adric.worley
#tests Ran All Ftests that start with S
Change 3159866 on 2016/10/12 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3159727
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3159865 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158870 on 2016/10/11 by John.Barrett
Fixed issue where some PacketHandler parsing errors, would not stop NetConnection processing of packets, and would not trigger a disconnect.
#JIRA OR-29219
#rb none
#tests compiles, client/server
Change 3158336 on 2016/10/11 by Lukasz.Furman
string pulling for local navigation grids
#ue4
#rb Mieszko.Zielinski
#tests PIE
Change 3158203 on 2016/10/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3158043
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3158154 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158162 on 2016/10/11 by Matt.Kuhlenschmidt
Added a blur widget to umg that applies a blur effect to whatever is behind the widget
- The widget has a content slot that can be used to display unblurred content on top of the blur
- The widget has a low quality mode brush that can be applied instead of the background blur. This is enabled by the cvar Slate.ForceBackgroundBlurLowQualityOverride=1
- This widget is currently expermental and must be subclassed to be used
#tests Tested on PS4, PC, Mac (opengl and metal)
#rb nick.darnell
Change 3157232 on 2016/10/10 by Lukasz.Furman
added local navigation grids: dynamic obstacles on static navmesh
#ue4
#rb Mieszko.Zielinski
#tests none, disabled by default
Change 3157112 on 2016/10/10 by Laurent.Delayen
Removed my layer anim node fix, since Martin did a similar fix.
#rb none
#tests compiles
#c0dereview martin.wilson
Change 3156789 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3156726
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3156788 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156717 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging 3156681 from //Orion/Release-33 to Main
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156713 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156596 on 2016/10/10 by Martin.Wilson
Fix pose flickering on LOD change when using Layered Blend by Bone node (recreated from dev-framework CL 3112086)
#Jira OR-30017
#rb Lina.Halper
#tests Tested affected anim nodes in editor
Change 3156149 on 2016/10/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes from //Orion/Release-33.2 to Main (//Orion/Main)
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156148 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3155444 on 2016/10/07 by David.Ratti
-Fix crashes from FScalableFloats caching raw curve pointers by invalidating cache on curve table swaps
-Removed the old code that was trying to do this in the editor on reimport, which never actually worked properly.
#rb none
#tests golden path
Change 3155228 on 2016/10/07 by Michael.Trepka
Partial (Windows implementation only) copy of CL 3151851 from //UE4/Main
Added DesktopRect and WorkArea to FMonitorInfo for desktop platforms and used that to fix an issue in SceneViewport where windowed fullscreen mode would be forced to primary monitor and incorrectly positioned on desktops where a taskbar/dock/etc. was on the left
#rb Dmitry.Rekman
#tests Tested in editor build on PC
Change 3154910 on 2016/10/07 by Lukasz.Furman
added new accessors in TSimpleCellGrid and inlined bunch of functions
#ue4
#rb none
#tests none
Change 3154906 on 2016/10/07 by Lukasz.Furman
adjusted comments for FGraphAStar
#ue4
#rb none
#tests none
Change 3154679 on 2016/10/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33 @ CL 3154662
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3154677 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153638 on 2016/10/06 by Andrew.Grant
Duplicating fix for UE-36087 from UE4
#rb #tests na
Change 3153325 on 2016/10/06 by David.Ratti
CurveTableSets: support for multiple spread sheets
-Sovereign data located in Sovereign subfolder, cloned from base data.
#rb none
#tests PIE, golden path
Change 3153318 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3152667
#RB:none
#Tests:none
[c0dereviewed]: kerrington.smith, matt.schembari
#R0B0MERGE-SOURCE: CL 3153310 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153268 on 2016/10/06 by David.Ratti
Missed file for engine changes
#rb none
#tests none
Change 3153264 on 2016/10/06 by David.Ratti
Move some DetailCustomziation classes to public folder so that games can override/extend them. Also made some virtual functions to override the things paragon needs to.
#rb none
#tests paragon editor
Change 3153204 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3152587
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3153171 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3152699 on 2016/10/05 by Andrew.Grant
I apologize for the mega-checkin but there are a lot of dependencies here, the work spiralled, and I've been cranking to get this in for the v33 branch. Please review and comment on what you know about and don't worry about the rest :)
-Added options-struct to MallocLeak detection to allow filtering open callstacks by frame range and size. This is now used in Paragon automatic tests to dump out memory left loaded by the previous map.
-PS4StackWalk now uses lowercase filenames as this is how non-UFS files are staged
-Renamed Orion.Foo.cs test scripts to OrionTest.Foo.cs
-Split some Orion tests into seprate scripts
-Added concept of "TestControllers". These are constructed by OrionEngine based on the -test= commandline and provide a super-simple way to implent state-based logic and checks by overriding base class functions.
-Added controllers for Boot, Soak, and Leak checks
-Renamed SimpleSolo bot to SimpleSoak. Moved a lot of logic about match composition and state to OrionTestControllerSoak
-Added new MatchStarted/MatchEnded delegates to OrionGameState for clients
-Fixed issues where OrionGameState_Base::HasMatchStarted would return true for WaitingForPlayers and MatchCountdown
-OrionBot code no longer caches command line since some TestControllers set it at runtime
-Added some ensures in Draft logic to catch/guard against a crash being triggered by bots.
#rb none
#tests verified all of the above and much more!
#c0dereview David.Ratti, Marcus.Wasmer,Michael.Noland
Change 3152605 on 2016/10/05 by Andrew.Grant
Suppressed warning about missing parent if parent package was in the KnownMissingPackageList
Added Editor ScaleRef stuff to Orion to suppress cooked warning
#rb none
#c0dereview Marcus.Wassmer
#tests Verified warning about ScaleRef being missing is gone
Change 3152596 on 2016/10/05 by Andrew.Grant
Made ASLR an option that can be disabled.
Disabled ASLR for Paragon PS4 Test builds so symbol lookup is available for diagnostics.
Made "don't optimize adaptive unity files" an official feature, off by default but turned on in Paragon
#c0dereview Luke.Thatcher
#rb none
#tests Verified test build has symbols that can be resolved. Verified an adaptive unity file is non-optimized, but non-adaptive files are optimized as normal
Change 3152399 on 2016/10/05 by Josh.Markiewicz
#UE4 - temporary fix for OSS R0B0MERGE issue
#rb david.nikdel
#test compiles
Change 3150916 on 2016/10/04 by Daniel.Lamb
Removed warning when shader compiler is in a bad state.
#rb Andrew.Grant
#jira OR-29580
#test Cook paragon
Change 3150889 on 2016/10/04 by Ben.Salem
Add log feedback to automation harness when processing commands, including syntax helpers when an unhandled command is added.
#rb adric.worley
#tests Ran several commands to see log output.
Change 3150844 on 2016/10/04 by Lukasz.Furman
compilation fix
#rb none
#tests none
Change 3150759 on 2016/10/04 by Lukasz.Furman
added "hidden" state to gameplay debugger category
#ue4
#rb Mieszko.Zielinski
#tests config changes and PIE
Change 3150758 on 2016/10/04 by Lukasz.Furman
pass on SimpleCellGrid template to make it usable for local navigation grids
#orion
#rb Mieszko.Zielinski
#tests PIE on agora, AI tactics debug on agora
Change 3150567 on 2016/10/04 by Dan.Hertzka
Rough initial implementation of a generic UI layer for moving widgets around to and from arbitrary locations. Lots of possible uses. For example, equipping a card in the card shop that then animates down into the correct hand slot.
- Not in actual use anywhere yet
#rb none
#tests PIE
Change 3150307 on 2016/10/04 by Laurent.Delayen
Removed check() not considering SimulatedRootMotion for RemoteClients.
#rb none
#tests compiles
Change 3150236 on 2016/10/04 by Josh.Markiewicz
#UE4 - added documentation to FNetworkNotify interface
- fixed bad UE_LOG category while double checking the above
#rb none
#tests compiles
Change 3150206 on 2016/10/04 by Josh.Markiewicz
#UE4 - moved ClientTravelToSession out of AGameSession and into UGameInstance
- removed similar function from UGameInstanceCommon
- more common usage location
#rb none
#c0dereview paul.moore
#tests rejoin vectors and golden path
Change 3150073 on 2016/10/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3150010
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3150072 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3150031 on 2016/10/04 by Mieszko.Zielinski
New AIData provider that generated random numbers #UE4
#rb Lukasz.Furman
#test golden path
Change 3149946 on 2016/10/04 by Ben.Woodhouse
Make UPrimitiveComponents (and derived variants) take proxy memory into account in GetResourceSize()
We do this by dereferencing the SceneProxy directly, but this should be safe, since we NULL it on the gamethread before the proxy is released.
#jira OR-26778
#rb luke.thatcher
#tests compile, run Win64 with -game, run editor
Change 3149743 on 2016/10/03 by Ben.Salem
Null check for blank test names when making functional tests to repair crash on server.
#rb nick.darnell
#tests Ran multiple FTests
Change 3149460 on 2016/10/03 by Laurent.Delayen
Refactored TickCharacterPose.
Now calls 'ShouldTickPose' so it can get properly obey bPauseAnims, MeshComponentUpdateFlag and other conditions.
Still forces updates when playing networked root motion montages, and that check is now done inside of USkeletalMeshComponent::ShouldTickPose().
Fixes human players always calling TickPose regardless of settings on dedicated servers.
Also addresses Jira UE-34720
#rb martin.wilson
#tests networked Vamp x2 + golden path
Change 3149435 on 2016/10/03 by Mieszko.Zielinski
Fixed a bug in EQS item score normalization for the purposes of drawing #UE4
Also, made printed out scores not normalized since seeing original EQS calculated score desirable
#rb Lukasz.Furman
#test golden path
Change 3148550 on 2016/10/03 by John.Barrett
Fixed bad/blocking ensure added in FBitReader. OR-29219
#tests compile
#rb none
Change 3147460 on 2016/09/30 by Laurent.Delayen
Fixed AOrionChar::UpdateAnimationTicking never setting EMeshComponentUpdateFlag::OnlyTickPoseWhenRendered, because OnMontageEnded() is called before the MontageInstance is actually removed and deleted.
Added OnAllMontageInstancesEnded to AnimInstance, and used that to call UpdateAnimationTicking.
#rb michael.noland
#tests Golden Path
Change 3146677 on 2016/09/30 by Jamie.Dale
Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing
#rb Andrew.Rodham
#tests Ran the gather
Change 3146555 on 2016/09/30 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3146524
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3146553 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3146129 on 2016/09/29 by Michael.Noland
Engine: Fixed the spectator camera (used in ToggleDebugCamera) so it moves consistently regardless of the slomo value by using the raw frame delta rather than trying to counter-correct for time dilation
#c0dereview marc.audy
#rb none
#tests Tested ToggleDebugCamera with slomo 0.00001
Change 3145574 on 2016/09/29 by Adric.Worley
Fix FunctionalTestingManager not compiling when included
#tests compile
#rb mieszko.zielinski
Change 3145224 on 2016/09/29 by Michael.Trepka
Better check for whether or not PreFullscreenWindowPlacement in FWindowsWindow is valid
#rb Dmitry.Rekman
#tests Tested editor build on PC
Change 3145132 on 2016/09/29 by Alexis.Matte
Make sure we use GetMesh instead of the SkeletalMeshPtr variable.
#jira OR-29617
#rb matt.kuhlenschmidt
#test none
Change 3144926 on 2016/09/29 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3144835
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3144925 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3144920 on 2016/09/29 by Benn.Gallagher
Added "Reset Clothing Sim" anim notify to trigger a clothing reset from an animation, to help with issues arising from extreme movements in animations.
#rb James.Golding
#tests Editor + -game vamp RMB abilities using new notify
Change 3144055 on 2016/09/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: ben.marsh
BuildGraph: Fix builds created with preconditions on nodes behind triggers, causing nightly builds to run forever due to conditions never evaluating to true.
#rb none
#tests Compared exported job definition before and after
#R0B0MERGE-SOURCE: CL 3143992 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3143801 on 2016/09/28 by Mieszko.Zielinski
Made UAIBlueprintHelperLibrary::CreateMoveToProxyObject deduce WorldContextObject from Pawn if not received from BP #Orion
Also, made failing to do so not fails a check
#rb Lukasz.Furman
#test golden path
#c0dereview Aaron.Eady
Change 3142377 on 2016/09/27 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Fix crashes when using GBuffer resources in simpleforward mode.
#rb Daniel.Wright
#test vamp Q on low settings.
#R0B0MERGE-SOURCE: CL 3142376 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3141628 on 2016/09/27 by David.Ratti
Guard against recursion in WaitGameplayEffectApplied ability task
#rb none
#tests pie crash case
Change 3141497 on 2016/09/27 by Marcus.Wassmer
Duplicate 3123743
Separate skeletal/static mesh lod interfaces
#rb none
#test created an LOD for vamp locally.
Change 3140832 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Remove dubious non-threadsafe GBuffer reference adjustments.
Possibly fix OR-29506
#rb none
#test PC on all settings
#R0B0MERGE-SOURCE: CL 3140831 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3140828 on 2016/09/26 by Uriel.Doyon
Workaround (reverting previous attemp) at fixing issue with FTextRenderSceneProxy when running command let.
#rb marcus.wassmer
#tests running lighting build with command let & loading editor
Change 3140331 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Cloning fix for UE-36253 from //UE4/Dev-Framework/...
#rb #tests na
#R0B0MERGE-SOURCE: CL 3140329 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139976 on 2016/09/26 by David.Ratti
balance tweaker + some prep for multiple data tables support
#rb none
#tests pie, golden path
Change 3139904 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Adding code to log name of package that refuses to load...
#rb none
#tests compiled
#R0B0MERGE-SOURCE: CL 3139902 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139871 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Fixes for OR-29229 and OR-29413
#rb #tests na
#R0B0MERGE-SOURCE: CL 3139870 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139751 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3139692
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3139740 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139451 on 2016/09/25 by Uriel.Doyon
Submitted a workaround for the lighting build command let crash.
#rb none
#tests loaded editor, built lighting command let
Change 3138304 on 2016/09/23 by David.Ratti
Fix checkslow in Debug editor
#rb none
#tests debug editor
#c0dereview Martin.Wilson
Change 3138068 on 2016/09/23 by Laurent.Delayen
Don't try to match invalid GUIDs in FSmartNameMapping::GetNameByGuid.
Fixes Steel's curves all getting matched to 'DistanceCurve'
#rb martin.wilson
#tests Steel's curve are not all 'DistanceCurve'
Change 3137830 on 2016/09/23 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3137699
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3137746 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3137657 on 2016/09/23 by Ben.Marsh
Fix initialization order warning.
#rb none
#tests none
Change 3137628 on 2016/09/23 by bruce.nesbit
Fixed non-unity compiles in LandscapeSplines and LandscapeSplineRaster
#rb none
#tests Compiled NU
Change 3137538 on 2016/09/23 by Thomas.Sarkanen
Fix crash rendering sequence with keyframed material parameters
Ported Frank F's fix from Dev-Sequencer. Original CL 3136577:
Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues.
#tests Rendered out problematic sequence successfully multiple times
#rb none
#jira UE-36175 - Keyframing material parameters can cause crashes when rendering
#c0dereview Frank.Fella
Change 3136580 on 2016/09/22 by Ben.Marsh
Merging CL 3136158 to fix support for generating project files with Visual Studio Express.
#rb none
#tests none
Change 3136574 on 2016/09/22 by Michael.Trepka
Fixed a crash caused by trying to redraw window contents while switching from fullscreen to windowed mode
#rb Marcus.Wassmer
#tests Tested editor build on PC
Change 3136293 on 2016/09/22 by Adric.Worley
Add BlueprintType to EFunctionalTestResult
#tests editor
#rb ben.salem
#c0dereview nick.darnell
Change 3136240 on 2016/09/22 by Andrew.Grant
Merging from //UE4/Main @ 3135156
#rb none
#tests QA pass and local golden path
Change 3136197 on 2016/09/22 by Jamie.Dale
Merging CL# 3094477 and CL# 3111827 to fix some tesselated landscape crashes
#rb Gareth.Martin
#tests Loaded the map that was crashing
Change 3135914 on 2016/09/22 by Dan.Youhon
Fixed CharacterMovementComponent impulse net correction handling during additive root motion (part of #OR-5545)
- Fixes #OR-28478, heroes tethered by Kwang cannot be knocked up
- Fixes #OR-18985, Gideon R ability negating knockback/knockup effects (including Howitzer E)
#rb None
#tests MultiPIE
#R0B0MERGE: MAIN, 32.2, 32.1
Change 3135893 on 2016/09/22 by David.Ratti
GameplayCueeditir Change override type from a checkbox to a combobox to make things a little clearer
#rb none
#tests gameplaycue editor
Change 3135843 on 2016/09/22 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3135756
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3135820 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Balance/HeroData.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Cards/Effects/P_ThunderCleaver.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/DataTables/HeroData.xlsm - can't integrate exclusive file already opened
#c0dereview: jason.bestimt
Change 3134639 on 2016/09/21 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3133910
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3134086 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#c0dereview: jason.bestimt
Change 3134367 on 2016/09/21 by Ben.Woodhouse
More complete fix for SSAO issues. Disable vertex fogging automatically if forward shading is disabled
#rb daniel.wright
#tests none
Change 3134176 on 2016/09/21 by Jason.Bestimt
#ORION_DG - UnrealPak speed improvements
Moving shelved CL to DG and submitting for DanielL
#RB:none
#Tests:none
#c0dereview: andrew.grant, daniel.lamb
Change 3134129 on 2016/09/21 by Jamie.Dale
Added the "unattended" flag when running the localzation commandlets via UAT
#rb none
#tests Built UAT
Change 3133864 on 2016/09/21 by Ben.Woodhouse
Default r.VertexFoggingForOpaque to 0, since it only makes sense for forward shading. This was causing fog to be modulated by SSAO in Orion.
Note: this setting is overridden to 1 in Odin's DefaultEngine.ini, so it should work in that case.
#c0dereview daniel.wright
#rb luke.thatcher
#jira OR-29262
#tests yes
Change 3133849 on 2016/09/21 by Martin.Wilson
Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1
#rb Jurre.DeBaare
#tests Editor tests with mambo pose asset
#jira UE-36189
Change 3133546 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Null merge of 3131588. Fix from 31.1 is unncecessary as a more complete fix came from the engine integration that's in v32.
#rb none
#tests none
[c0dereviewed] Jason.Bestimt
#R0B0MERGE-SOURCE: CL 3132617 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3133487 on 2016/09/20 by Michael.Noland
Automation: Added Automation to the manual autocomplete list
Change 3133363 on 2016/09/20 by Daniel.Lamb
Added Jaymee Sanford and Tony Oliva to the rebuild lighting email list.
#rb Trivial
#test Compile automation tool
Change 3132956 on 2016/09/20 by Benn.Gallagher
Fixed crash when importing clothing with mismatching number of triangles when compared to the original render data
#tests Editor, apex reimport
#rb none
Change 3132403 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3132254
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3132353 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3132332 on 2016/09/20 by Andrew.Grant
Replicated UE4/Main fix for missing materials pane
#rb none
#tests verified material pane shows
Change 3132131 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging automation work from //Orion/Release-32.2 to Main
#rb none
#tests verified functionality
#R0B0MERGE-SOURCE: CL 3132130 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3131698 on 2016/09/19 by Andrew.Grant
Qucik fix to unblock build. Will follow up correct way tomorrow
#rb none
#tests blueprint compiles
Change 3131489 on 2016/09/19 by Andrew.Grant
Merging from //UE4/Orion-Staging (Source: //UE4/Main @ 3111290)
#rb none
#tests QA pass in Orion-Staging, Golden path post merge
Change 3131350 on 2016/09/19 by Adric.Worley
Fix functional test reporting typo
#tests PIE
#rb ben.salem
Change 3130959 on 2016/09/19 by Mieszko.Zielinski
Compilation fix #UE4
#rb none
#test compilation
Change 3130904 on 2016/09/19 by Mieszko.Zielinski
Couple of generic AI perception fixes #UE4
Made unregistering AI sight source broadcast "no longer visible" information to all observers currently "seeing" the source
Fixed FActorPerceptionInfo::GetLastStimulusLocation not carying whether selected stimulus was successfully sensed
Fixed dominant sense not really working if not set with UAIPerceptionComponent::SetDominantSense call
#rb Lukasz.Furman
#test golden path
Change 3130304 on 2016/09/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3130115
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3130164 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
[CL 3205566 by Andrew Grant in Main branch]
2016-11-20 21:35:35 -05:00
UnityCPPFileName = string . Format ( "{0}{1}.{2}_of_{3}.cpp" , ModulePrefix , BaseName , CurrentUnityFileCount , AllUnityFiles . Count ) ;
2014-04-23 20:18:55 -04:00
}
else
{
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3196521)
#lockdown Nick.Penwarden
Change 3196499 on 2016/11/14 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3196473
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3196498 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3195674 on 2016/11/11 by Laurent.Delayen
Fix for twinblast ult mesh not disappearing at lower lods. (curves not getting properly update with URO)
Fixes https://jira.it.epicgames.net/browse/OR-31509
#rb lina.halper
#tests twinblast ult multiPIE
Change 3195245 on 2016/11/11 by Dan.Hertzka
Card crafting progress
- Device responds to UI actions appropriately and infinitely
- Backing out of device screen goes to card details first (i.e. doesn't take you all the way out of the screen)
- CraftingDevice and CraftingDeviceNode now have a few natively-controlled timelines for reversible states
- Non-reversible timelines all now play from start (so they work more than once)
Engine-side:
- Added an overload to UTimelineComponent::SetOnTimelineFinishedFunc() that takes a native (non-dynamic) delegate
- Added a way to set the owning player of a UUserWidget via a local PlayerController (since ULocalPlayer isn't a BP type) - used to establish the owner of a WidgetComponent's widget
#rb none
#tests PIE crafting
Change 3194616 on 2016/11/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3194604
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3194615 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3193875 on 2016/11/10 by Andrew.Grant
Removed GameThreadWaitForTask fatal timeout if running in editor (assumption is that some operations can cause significant blocks, and that's ok..
#jira UE-38496
#tests compiled
#rb none
#c0dereview Marcus.Wassmer
Change 3193368 on 2016/11/10 by Mieszko.Zielinski
Fixed a bug in UCharacterMovementComponent::OnMovementModeChanged making UPathFollowingComponent::OnStartedFalling being sent too late #UE4
#rb Lukasz.Furman
#test golden path
Change 3193280 on 2016/11/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3193232
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3193279 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3192376 on 2016/11/09 by Laurent.Delayen
RootMotion Sources: removed second check, as that was a perfectly valid case. Fixes https://jira.it.epicgames.net/browse/OR-31490
#rb none
#tests riftmage blackhold multiPIE
Change 3192243 on 2016/11/09 by Laurent.Delayen
UAbilityTask_ApplyRootMotionMoveToActorForce replicates TimeMappingCurve to potentially fix https://jira.it.epicgames.net/browse/OR-31266
#rb none
#tests Jump pads on Sovereign2 multiPIE
Change 3191985 on 2016/11/09 by Laurent.Delayen
Additional debug info for https://jira.it.epicgames.net/browse/OR-31300
#rb none
#tests compiles
Change 3191565 on 2016/11/09 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3191371
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3191564 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3190702 on 2016/11/08 by David.Ratti
Fix PIE autologgin mcp problem
#rb JoshM
#tests PIE autologgin
Change 3190591 on 2016/11/08 by Mieszko.Zielinski
Added a way to RecastNavMesh to retrieve navigation links in a given tile #UE4
#rb Lukasz.Furman
#test golden path
Change 3190363 on 2016/11/08 by Frank.Gigliotti
Root motion velocity clamping and bug fixes;
* Added option to clamp velocity when ending MoveToActorForce, MoveToForce, and RadialForce root motions.
* Disabled partial ticking on the FRootMotionSource_ConstantForce when applying the finishing velocity or clamping velocity on root motion ability tasks. This ensures the desired velocity is set correctly.
* Added AbilityTask_ApplyRootMotion_Base as a base class for all root motion ability tasks.
#RB David.Ratti, Zak.Middleton
#c0dereview Zak.Middleton
#Tests PIE - Multiple heroes with root motion abilities
Change 3190344 on 2016/11/08 by Laurent.Delayen
RootMotionSources: Tracking down https://jira.it.epicgames.net/browse/OR-31266
Testing for 'Matches' rule in more places, to track down where it breaks. Added more info. Switched check to ensure, so it doesn't prevent playtests.
Minor tweaks:
- Test for ID before TimeStamp
- Changed auto to proper type.
- Trim RootMotionIDMappings of outdated mappings since we can iterate over that array quite a bit.
#rb none
#tests multiPIE
Change 3190217 on 2016/11/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3190009
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3190216 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188560 on 2016/11/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3187796
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3188499 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188012 on 2016/11/05 by Andrew.Grant
Merging using ROBO://Orion/Main->//Orion/Dev-General
#rb #tests na
Change 3187818 on 2016/11/04 by Michael.Noland
Editor: Refactored the game instance PIE creation hooks, allowing them to pass an error message back that will be displayed to the user explaining why PIE was aborted/failed to start
- Fixed a potential crash trying to tear down a null world when UGameInstance::StartPlayInEditorGameInstance fails
Upgrade notes:
- UGameInstance::InitializePIE overrides should now override InitializeForPlayInEditor instead
- UGameInstance::StartPIEGameInstance overrides should now override StartPlayInEditorGameInstance instead
- These methods return a FGameInstancePIEResult which can be created via FGameInstancePIEResult::Success() or FGameInstancePIEResult::Failure(), and take a parameter struct to make it easier to send additional information in the future without breaking the signature again
#rb matt.kuhlenscmidt
#tests Tested various PIE configurations in Paragon
Change 3187756 on 2016/11/04 by Michael.Noland
Editor: Added support for games to respond to Play in Editor setting changes (by properly calling PostEditChange when the PIE/SIE menu options are picked/toggled)
#tests Tested in Paragon by binding to FCoreUObjectDelegates::OnObjectPropertyChanged
#rb ben.ziegler
Change 3187258 on 2016/11/04 by Dan.Hertzka
- UTextBlock::SetText is now virtual
- OrionTextBlock has a property ("All Caps") that, if true, will always convert all text it's given to ALL CAPS
#c0dereview Sean.Smith, Philip.Buuck, Marcel.Swanepoel, Bryan.Rathman
#rb none
#tests PIE
Change 3187157 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Case fix for staged files
#rb Ben.Marsh
#tests preflighted
#R0B0MERGE-SOURCE: CL 3187153 in //Orion/Release-34/... via CL 3187154 via CL 3187155 via CL 3187156
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186870 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3186846
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3186855 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186243 on 2016/11/03 by Michael.Noland
Engine: Fixed reporting of ScreenPct when the cvar is set directly rather than via game user settings
- Also fixed a place that was using ScreenPct as an integer instead of a float in the OSVR plugin
#jira OR-23184
#tests Tested by setting r.screenpercentage directly to a different value and inspecting the chart results
#rb ben.ziegler
Change 3185134 on 2016/11/03 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3185065
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3185131 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3183689 on 2016/11/02 by Aaron.McLeran
OR-31091 Implementing 3175639 in Dev-General
#rb zak.middleton
#tests unplug headphones and observe no log spam or other issues
Change 3183292 on 2016/11/02 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3182926
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3183084 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3182323 on 2016/11/01 by Dan.Hertzka
Fix crash in sequencer when opening a widget BP with the sequencer tab closed (failed to null check)
#c0dereview Nick.Darnell
#rb Stephan.Jiang
#tests none
Change 3182295 on 2016/11/01 by Daniel.Lamb
Fixed up routing BeginDestroy.
#rb Andrew.Grant
#jira OR-31043
#test Paragon win64 -game
Change 3181975 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181895 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181892 on 2016/11/01 by Michael.Trepka
Copy of CL 3162466
By default, do not compile Mac OpenGL and Metal SM4 shaders while cooking
#rb Mark.Satterthwaite
#jira UE-37088
#tests Cooked MacNoEditor data on Windows
Change 3181624 on 2016/11/01 by David.Ratti
Pass attribute value by reference through SetNumericValue_Internal so that the final/clamped value is what is broadcasted to attribute change delegates
#rb none
#tests golden path w/ extra logging to verify final value is what is broadcasted
#c0dereview Billy.Bramer, Fred.Kimberley
Change 3181574 on 2016/11/01 by Jason.Bestimt
#ORION_DG - Fixing up R0B0MERGE issue
#RB:none
#Tests:none
Change 3180859 on 2016/10/31 by Brian.Karis
Removed SSAO from hair
Change 3180320 on 2016/10/31 by Daniel.Lamb
Added support for rebuild lighting commandlet to read maps to rebuild from ini file.
#rb Andrew.Grant
#test Paragon rebuild lighting
#jira OR-30841
Change 3180227 on 2016/10/31 by Laurent.Delayen
Disabled Warning to fix https://jira.it.epicgames.net/browse/OR-30965
Will be turned into a warning message in the BP editor.
#c0dereview benn.gallagher
#rb none
#tests none
Change 3179903 on 2016/10/31 by jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3179886
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3179895 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3177903 on 2016/10/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3177869
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3177901 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3175548 on 2016/10/26 by Michael.Noland
GameplayAbilities: Change it so that delegates registered via RegisterGameplayAttributeEvent are still called on the client when there is no aggregator entry
#rb david.ratti
#c0dereview billy.bramer
#tests Tested in multiplayer PIE client with a new minion callback and golden path in -game
Change 3175544 on 2016/10/26 by Bart.Hawthorne
Draft in replays improvements:
- Marker added to timeline bar that shows when the level change happens
- Added "Skip Draft" button when loading a replay which will bypass the draft
- Only PvP matches will record replays
- Added "Exit Replay" button to hamburger menu while in draft
- No longer load hero data before viewing a replay if not skipping draft
- Enable replay recording in PvP
#rb john.pollard
#c0dereview paul.moore
#tests nomcp golden path up to spawnpoint, created and loaded several replays
Change 3175533 on 2016/10/26 by Michael.Noland
Fix for FMallocBinned::GetAllocationSize() for aligned allocations.
#jira UE-37249
#jira UE-37243
#rb robert.manuszewski
#lockdown robert.manuszewski
[reimplementing CL# 3165739 from Release-4.13]
#tests Compiled
Change 3175311 on 2016/10/26 by Daniel.Lamb
Added support for safe zone change.
Messed up files in last checkin
#test Ps4 paragon
#jira OR-30506
#rb Matt.Kuhlenschmidt
Change 3175298 on 2016/10/26 by Daniel.Lamb
Added support for updating safe area
#rb Matt.Kuhlenschmidt
#c0dereview Andrew.Grant Nick.Darnell
#test Ps4 paragon
#jira OR-30506
Change 3175209 on 2016/10/26 by David.Ratti
Fix a few cases where default gameplay cue parameters weren't initialized properly and could not be translated by the skin system. Fixes some mayan steel issues.
#rb none
#tests pie
Change 3174858 on 2016/10/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34/33.2 @ CL 3174784
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3174857 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3174822 on 2016/10/26 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
#rb marc.audy
#test create/destroy effects with HQ lights in editor.
Change 3174344 on 2016/10/25 by Ryan.Gerleve
Added a bIsNetStartupComponent flag to UActorComponent. This will be set for components that are owned by an actor when that actor's bNetStartup flag is set.
#rb john.pollard
#tests golden path
Change 3174270 on 2016/10/25 by Marcus.Wassmer
Add LightingChannel control to High Quality particle lights.
#rb none
#test tested different lighting channels.
Change 3173855 on 2016/10/25 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3173292
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3173361 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3173843 on 2016/10/25 by Michael.Trepka
Update custom window controls on toggle fullscreen and make sure that when we switch to windowed mode we don't use window size that wouldn't fit on desktop
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3173783 on 2016/10/25 by Dan.Youhon
Add VelocityOnFinish mode options to RootMotionRadialForce so that designers can control what happens to a character's velocity when the ability task ends (part of #OR-30249)
#rb None
#tests MultiPIE
Change 3173734 on 2016/10/25 by Dan.Youhon
Protect against invalid Duration in FRootMotionSource_MoveToDynamicForce on simulated clients #OR-27128
#rb None
#tests MultiPIE
Change 3173714 on 2016/10/25 by David.Ratti
Add Game and Engine Compat versions for replays
#coderview John.Pollard
#rb Lietz
#tests golden path, replays
Change 3173681 on 2016/10/25 by Bart.Hawthorne
Implement drafting in replays. A replay spectator is spawned in the draft lobby so that the draft is saved out to the replay server, and clients are now able to travel in replays both when they occur "naturally" (at the same time as if they were a client), and also by scrubbing to a place in the timeline that's a different level.
The feature is implemented but currently disabled by default - turn on by setting CVarEnableDraftInReplays to 1. Replays should function the same as before.
Also fixed a warning on the dedicated server related to abandoning a draft.
#rb john.pollard
#c0dereview josh.markiewicz, paul.moore
#tests nomcp golden path (up to spawning), recorded multiple replays and played back with lots of scrubbing
Change 3173677 on 2016/10/25 by Andrew.Grant
Reenabled audio thread
Added safety wrapper to prevent code accidentally using events after they are returned to the pool.
#tests na
#rb Gil.Gribb
Change 3173588 on 2016/10/25 by Ryan.Gerleve
Added a replication condition to skip replays.
#tests golden path
#rb john.pollard
Change 3172692 on 2016/10/24 by Marcus.Wassmer
Fix OR-30390 caused by missing mutex lock
#rb none
#test compile ps4
Change 3172025 on 2016/10/24 by Matt.Kuhlenschmidt
Fix blur widget not respecting clip rects
#rb none
#tests paragon blur widget clipping bugs
Change 3171570 on 2016/10/23 by Mieszko.Zielinski
Moved Bots' enemy selection eqs query triggering to native code #Orion
Did this to be able to manually trigger enemy selection when current enemy dies, to avoid having a "null" enemy in BB for couple of ticks.
Also, made couple of tweaks to positioning and tower attacking behavior of melee bots
#rb none
#test golden path
Change 3171100 on 2016/10/21 by Aaron.Eady
FGameplayCueTagDetails;
Adding a check for if the RawStructData.Num > 0 before trying to use it. There was a case where you could crash the editor if you create a new GC tag inside of a BP, compile the BP, click Add New, select a GC type, then when the file is created, click away from it in the content browser. This repro wasn't 100% but often enough to caus a problem.
#rb David.Ratti (actually wrote the code)
#tests PIE
Change 3171060 on 2016/10/21 by Ryan.Gerleve
Some cleanup and fixes for deathcam:
The recording demo net driver for the deathcam replay now uses checkpoint amortization to smooth out spikes.
Converted UOrionKillcamPlayback::IsKillcamWorld to IsKillcamActor, since IsKillWorld isn't useful for the new single-world implementation.
Converted a GetValueOnGameThread to GetValueOnAnyThread (wasn't in the merge) so that deathcam replay recording can happen on a thread.
Added comment to UAbilitySystemComponent::OnComponentDestroyed.
#rb john.pollard
#tests golden path, enabled deathcam
Change 3171041 on 2016/10/21 by Ryan.Gerleve
Make the CheckpointSaveMaxMSPerFrame value a member of UDemoNetDriver so it can be set per instance, and convert the demo.CheckpointSaveMaxMSPerFrame cvar into an override for this value.
#rb john.pollard
#tests golden path
Change 3170917 on 2016/10/21 by Mieszko.Zielinski
Made a change to OrionBTTask_ObjectiveGraphMove to make it fallback to regular move if the destination is in the same or second-closest objective graph node #Orion
#rb none
#test golden path
Change 3170914 on 2016/10/21 by Mieszko.Zielinski
Fixed EQS scoring bug resulting in some items getting NaN scored #UE4
The NaN was happening when scoring but not filtering using a bool-based test, or when unintentionally skipping items by moving item iterator without doing any work.
Removed a bunch of deprecated code while there
#rb Lukasz.Furman
#test golden path
Change 3170912 on 2016/10/21 by Mieszko.Zielinski
Manual merge of crucial BT fixed over from //Fortnite/Main #UE4
Original CL#3159145 , CL#3159892
#rb Lukasz.Furman
#test golden path
Change 3170478 on 2016/10/21 by David.Ratti
fix editor crash related to recompiling gamplay cue blueprint while a preview animation is playing that invokes that gameplay cue.
#rb none
#tests editor
Change 3170231 on 2016/10/21 by Ryan.Gerleve
Fix for an issue that was preventing moving your hero after spawning in PIE in Agora: set the net driver on static level collections as well.
#tests golden path, PIE
#c0dereview john.pollard
#rb none
Change 3170074 on 2016/10/20 by Ryan.Gerleve
Merging support for recording client replays in a task parallel with Slate (optimization for deathcam) from UE4/Dev-Networking.
CL 3169209
#tests golden path, replays
#rb none
Change 3170019 on 2016/10/20 by Ryan.Gerleve
Merging support for deathcam memory optimizations (level collection work) from UE4/Main and UE4/Dev-Networking.
CLs:
3134499
3134771
3135279
3137140
3138081
3140413
3150142
3142515
3162189
3162194
#tests golden path
#rb none
Change 3169686 on 2016/10/20 by Michael.Trepka
Fixed a Windows-specific problem with parts of the custom window buttons not accepting mouse clicks when the window is maximized due to window region used by FWindowsWindow::IsPointInWindow() being offset by border size.
#rb Jeff.Campeau
#tests Tested in editor build on PC
Change 3169668 on 2016/10/20 by Max.Chen
Sequencer - Don't crash when a bool track or visibility track has a null runtime object.
Copy from Odin
#rb none
#tests opened a recorded sequence
Change 3169657 on 2016/10/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_33 - Fix for localization export of web data
Fixed export of localized formatted text
- Removed the super-specific GetSourceTextsFromFormatHistory, and replaced it with the more-generic GetHistoricFormatData to get information about an FText that was generated via FText::Format.
- Added GetHistoricNumericData to get information about an FText that was generated via FText::AsNumber or FText::AsPercent.
- Updated the translation picker to use GetHistoricFormatData.
- Removed the code from FMultiLocHelper that used GetSourceTextsFromFormatHistory as it wasn't actually needed.
- Added code to FGameDataExporter to correctly localize a formatted text for a given culture, and re-format the result for export.
[c0dereviewed]: jamie.dale
#RB:none
#Tests:Exported game data!
#R0B0MERGE-SOURCE: CL 3169653 in //Orion/Release-33/... via CL 3169654 via CL 3169655 via CL 3169656
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3169616 on 2016/10/20 by David.Ratti
missed file
#rb none
#tests none
Change 3169597 on 2016/10/20 by David.Ratti
Missed include
#rb DanH
#tests none
Change 3169393 on 2016/10/20 by David.Ratti
AbilitySystem.GlobalAbilityScale cvar to help design iterate on animation/duration based tweaks
#rb none
#tests pie
Change 3168287 on 2016/10/19 by Mieszko.Zielinski
Expanded EQS info logged with vlog #UE4
#rb none
#test golden path
Change 3168282 on 2016/10/19 by David.Ratti
Restore warning when multiple GC notifies try to handle the same tag.
#rb none
#tests compile, launch editor, see warnings, cry
Change 3168196 on 2016/10/19 by Jon.Lietz
compile fix, removing the int version of FirstActiveIndex and leaving the in32 version.
#RB none
#tests compiles
Change 3168041 on 2016/10/19 by Michael.Trepka
Don't restore saved resolution on window activation in non-fullscreen modes
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3167859 on 2016/10/19 by Aaron.McLeran
UE-36288 Fixing concurrency resolution stop quietest
Implementing in Dev-General for Joey since he needs the fix ASAP.
#rb Jeff.Campeau
#tests perform tests described in JIRA bug.
Change 3167790 on 2016/10/19 by Andrew.Grant
Duplication of 3167569 from //Odion/Main for Paragon cinematics
#rb none
#tests compiled
Change 3167682 on 2016/10/19 by Laurent.Delayen
Integrated #ORION_33.1 - Disabled WindSources on Cloth and AnimDynamics, as it's not safe to access from the GameThread. https://jira.it.epicgames.net/browse/OR-30473
#rb ori.cohen, benn.gallagher
#tests Vamp, Kwang, Chains in Persona and PIE with WindActor in level.
Change 3167466 on 2016/10/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3167368
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3167456 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3167312 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#rb Lukasz.Furman
#test golden path
#jira UE-37496
Change 3166784 on 2016/10/18 by Laurent.Delayen
Don't leave PhysicsBodies::bWindEnabled uninitialized in case Wind is not enabled (Persona)
#rb none
#c0dereview benn.gallagher
#test Chains in Persona
Change 3166641 on 2016/10/18 by Mieszko.Zielinski
Made the value span used for EQS item score normalization configurable #UE4
#rb Lukasz.Furman
#test golden path
Change 3166632 on 2016/10/18 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Added support for multiple deployment sandboxes on PS4.
BuildCookRun -deploy=SomeDir
ps4.elf -deployedbuild=SomeDir
Omitting name in -deploy/-deployedbuild falls back to previous default of using 'GameName' as the deployment sandbox.
#tests BuildCookRun with -deploy and -deploy=Orion_v33, Ran PS4 with -deployedbuild and -deployedbuild=Orion_v33
[c0dereviewed] Marcus.Wassmer, Luke.Thatcher
#rb none
#R0B0MERGE-SOURCE: CL 3166622 in //Orion/Release-33/... via CL 3166629 via CL 3166630 via CL 3166631
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3166494 on 2016/10/18 by Michael.Noland
Engine: Removed irrelevant GPU stats from FPS chart server analytics reports
#jira OR-13877
#rb david.ratti
#tests Ran golden path on uncooked Win64, used forcewinmatch, and inspected the analytics arrays
Change 3166476 on 2016/10/18 by Michael.Noland
Cooker: Deleting dead GenerateManifestInfo methods
#tests Compiled
#rb none
#c0dereview daniel.lamb
Change 3166471 on 2016/10/18 by Michael.Noland
Making sure DebugWorlds/DebugWorldNames are in sync, since we expect an index from one to match the other (fixes an issue where users could select a debug world and the wrong one was chosen).
[reimplementing CL# 3157138 by Mike.Beach]
#jira UE-37107
#rb Dan.OConnor
#tests Tested multiplayer PIE and opening an anim BP
Change 3166460 on 2016/10/18 by Michael.Noland
Particles: Prevent log spam on servers about stripped emitters
#rb graeme.thornton
[reimplementing CL# 3157862 by Simon.Tovey]
#tests Ran an uncooked server and tested golden path
Change 3166339 on 2016/10/18 by Laurent.Delayen
oops, this file got away.
#rb none
#tests none
Change 3166337 on 2016/10/18 by Laurent.Delayen
Fix for AnimDynamics Wind crash.
https://jira.it.epicgames.net/browse/OR-30351
Access WindParameters on GameThread. Also minor optimization: don't iterate over bodies every frame if wind is off.
#rb benn.gallagher
#c0dereview lina.halper, thomas.sarkanen
#tests Vamp
Change 3166207 on 2016/10/18 by Mieszko.Zielinski
Bot perception work #Orion
Added a new sense that makes bots know about enemies visible on the minimap
Made jungle minions do not register as sight sources
Cleaned up bot perception component a bit
#rb none
#test golden path
Change 3166138 on 2016/10/18 by Michael.Noland
Blueprints: Converted a crash with the debug world name in the BP editor to an ensure until it can be fixed properly (see OR-29650)
#c0dereview dan.oconnor
#rb none
#tests Tested opening an anim BP during multiplayer PIE
Change 3165860 on 2016/10/18 by David.Ratti
remove some debug code that wasn't intended to be checked in
#rb none
#tests compile
Change 3165288 on 2016/10/17 by Ian.Fox
#XMPP - Add correlation id attribute to outgoing stanzas
#RB Rob.Cannaday
#Tests Correlation IDs come back in responses to xmpp messages we send
#JIRA OGS-409
Change 3165096 on 2016/10/17 by David.Ratti
Fix issue where gameplay tags net indices would be out of sync on cooked PS4 client playing on uncooked windows servers. Would cause some effects to not play.
#rb none
#tests PS4/PC crossplay
Change 3164973 on 2016/10/17 by Dan.Hertzka
Fix link error
#rb #tests compile
Change 3164910 on 2016/10/17 by Lukasz.Furman
fixed bug in merging behavior tree searches
copy of CL 3164903
#ue4
#rb Mieszko.Zielinski
#tests none
Change 3164908 on 2016/10/17 by Dan.Hertzka
Exposing the blur widget for use in Paragon
** Use OrionBlurWidget, not the base BackgroundBlurWidget
- Added it to the hero and default tooltips for reference
#rb none
#c0dereview Marcel.Swanepoel, Sean.Smith, Bryan.Rathman
#tests PIE
Change 3164482 on 2016/10/17 by David.Ratti
Editor loadtime improvements
* Refactor GameplayCue manager to support two distinct object library sets: Runtime and Editor. Editor library operates on all valid gameplay cue paths but never loads or scans, only reflects what asset registry has found. Runtime library is the initial loaded paths + any explicit requests. These scan when needed and async load at startup.
* Wrote UOrionAsyncLoadRequestQueue to feed the async load queue with requests at startup. This is to avoid submitting 300+ requests at startup and have them flushed by a sync load. The editor will wait until it is fully initialized before kicking these off.
* Changed UOrionUIManagerWidget to weakly reference all of its state widgets. In non editor builds these are all loaded at startup like before. In editor builds, we sync load them on demand. This allows us to not load everything in order to PIE.
* Added options for loading various pieces of data at editor startup: HUDwidget V4, last used hero data, and shared gameplay cues.
* -game -nomcp will now properly async load initial set of data
* BeginLoadAsyncData no longer takes netmode as parameter since it is confusing and can just use IsDedicatedServer() internally
* Added new log category: LogOrionStartup
#rb none
#c0dereview Dan.Hertzka
#tests pie, golden path, cooked PS4
Change 3163635 on 2016/10/14 by Laurent.Delayen
AnimInstance: Pass a few FNames by reference instead of by value. Added CalcSlotMontageLocalWeight to get local a slot's local weight without a frame a lag. Fixed Montage update happening after native update on gamethread, but before native update on worker thread. Now happens before both, so we can reliably get montage weights without a frame of lag regardless of where we access it.
#rb none
#c0dereview martin.wilson, thomas.sarkanen
#tests fixes Twinblast's primary fire blend out having a frame a lag.
Change 3163620 on 2016/10/14 by Laurent.Delayen
AnimNode_Slot debug: Show actual slot local weight, instead of always 1.
#rb none
#c0dereview martin.wilson
#tests twinblast debug
Change 3163061 on 2016/10/14 by Andrew.Grant
Pulling test framework changes into seprate CL
#rb #tests na
Change 3162675 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes down early.
#rb #tests na
#R0B0MERGE-SOURCE: CL 3162674 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3162062 on 2016/10/13 by Michael.Trepka
Replaced FWindowsCursor hack for warping the mouse cursor to the center of the viewport with a better fix for the original problem (users being able to resize the window while the cursor is hidden and the mouse controls the camera). This change removes round window corners in borderless window mode and disables window resizing when the cursor is hidden.
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3161489 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3161453
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3161473 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3160664 on 2016/10/12 by Ben.Salem
Fix logic order error fuzzy matching on automated tests - we were only allowing one match per filter instead of one match per test.
#rb adric.worley
#tests Ran All Ftests that start with S
Change 3159866 on 2016/10/12 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3159727
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3159865 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158870 on 2016/10/11 by John.Barrett
Fixed issue where some PacketHandler parsing errors, would not stop NetConnection processing of packets, and would not trigger a disconnect.
#JIRA OR-29219
#rb none
#tests compiles, client/server
Change 3158336 on 2016/10/11 by Lukasz.Furman
string pulling for local navigation grids
#ue4
#rb Mieszko.Zielinski
#tests PIE
Change 3158203 on 2016/10/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3158043
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3158154 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158162 on 2016/10/11 by Matt.Kuhlenschmidt
Added a blur widget to umg that applies a blur effect to whatever is behind the widget
- The widget has a content slot that can be used to display unblurred content on top of the blur
- The widget has a low quality mode brush that can be applied instead of the background blur. This is enabled by the cvar Slate.ForceBackgroundBlurLowQualityOverride=1
- This widget is currently expermental and must be subclassed to be used
#tests Tested on PS4, PC, Mac (opengl and metal)
#rb nick.darnell
Change 3157232 on 2016/10/10 by Lukasz.Furman
added local navigation grids: dynamic obstacles on static navmesh
#ue4
#rb Mieszko.Zielinski
#tests none, disabled by default
Change 3157112 on 2016/10/10 by Laurent.Delayen
Removed my layer anim node fix, since Martin did a similar fix.
#rb none
#tests compiles
#c0dereview martin.wilson
Change 3156789 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3156726
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3156788 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156717 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging 3156681 from //Orion/Release-33 to Main
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156713 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156596 on 2016/10/10 by Martin.Wilson
Fix pose flickering on LOD change when using Layered Blend by Bone node (recreated from dev-framework CL 3112086)
#Jira OR-30017
#rb Lina.Halper
#tests Tested affected anim nodes in editor
Change 3156149 on 2016/10/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes from //Orion/Release-33.2 to Main (//Orion/Main)
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156148 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3155444 on 2016/10/07 by David.Ratti
-Fix crashes from FScalableFloats caching raw curve pointers by invalidating cache on curve table swaps
-Removed the old code that was trying to do this in the editor on reimport, which never actually worked properly.
#rb none
#tests golden path
Change 3155228 on 2016/10/07 by Michael.Trepka
Partial (Windows implementation only) copy of CL 3151851 from //UE4/Main
Added DesktopRect and WorkArea to FMonitorInfo for desktop platforms and used that to fix an issue in SceneViewport where windowed fullscreen mode would be forced to primary monitor and incorrectly positioned on desktops where a taskbar/dock/etc. was on the left
#rb Dmitry.Rekman
#tests Tested in editor build on PC
Change 3154910 on 2016/10/07 by Lukasz.Furman
added new accessors in TSimpleCellGrid and inlined bunch of functions
#ue4
#rb none
#tests none
Change 3154906 on 2016/10/07 by Lukasz.Furman
adjusted comments for FGraphAStar
#ue4
#rb none
#tests none
Change 3154679 on 2016/10/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33 @ CL 3154662
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3154677 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153638 on 2016/10/06 by Andrew.Grant
Duplicating fix for UE-36087 from UE4
#rb #tests na
Change 3153325 on 2016/10/06 by David.Ratti
CurveTableSets: support for multiple spread sheets
-Sovereign data located in Sovereign subfolder, cloned from base data.
#rb none
#tests PIE, golden path
Change 3153318 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3152667
#RB:none
#Tests:none
[c0dereviewed]: kerrington.smith, matt.schembari
#R0B0MERGE-SOURCE: CL 3153310 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153268 on 2016/10/06 by David.Ratti
Missed file for engine changes
#rb none
#tests none
Change 3153264 on 2016/10/06 by David.Ratti
Move some DetailCustomziation classes to public folder so that games can override/extend them. Also made some virtual functions to override the things paragon needs to.
#rb none
#tests paragon editor
Change 3153204 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3152587
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3153171 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3152699 on 2016/10/05 by Andrew.Grant
I apologize for the mega-checkin but there are a lot of dependencies here, the work spiralled, and I've been cranking to get this in for the v33 branch. Please review and comment on what you know about and don't worry about the rest :)
-Added options-struct to MallocLeak detection to allow filtering open callstacks by frame range and size. This is now used in Paragon automatic tests to dump out memory left loaded by the previous map.
-PS4StackWalk now uses lowercase filenames as this is how non-UFS files are staged
-Renamed Orion.Foo.cs test scripts to OrionTest.Foo.cs
-Split some Orion tests into seprate scripts
-Added concept of "TestControllers". These are constructed by OrionEngine based on the -test= commandline and provide a super-simple way to implent state-based logic and checks by overriding base class functions.
-Added controllers for Boot, Soak, and Leak checks
-Renamed SimpleSolo bot to SimpleSoak. Moved a lot of logic about match composition and state to OrionTestControllerSoak
-Added new MatchStarted/MatchEnded delegates to OrionGameState for clients
-Fixed issues where OrionGameState_Base::HasMatchStarted would return true for WaitingForPlayers and MatchCountdown
-OrionBot code no longer caches command line since some TestControllers set it at runtime
-Added some ensures in Draft logic to catch/guard against a crash being triggered by bots.
#rb none
#tests verified all of the above and much more!
#c0dereview David.Ratti, Marcus.Wasmer,Michael.Noland
Change 3152605 on 2016/10/05 by Andrew.Grant
Suppressed warning about missing parent if parent package was in the KnownMissingPackageList
Added Editor ScaleRef stuff to Orion to suppress cooked warning
#rb none
#c0dereview Marcus.Wassmer
#tests Verified warning about ScaleRef being missing is gone
Change 3152596 on 2016/10/05 by Andrew.Grant
Made ASLR an option that can be disabled.
Disabled ASLR for Paragon PS4 Test builds so symbol lookup is available for diagnostics.
Made "don't optimize adaptive unity files" an official feature, off by default but turned on in Paragon
#c0dereview Luke.Thatcher
#rb none
#tests Verified test build has symbols that can be resolved. Verified an adaptive unity file is non-optimized, but non-adaptive files are optimized as normal
Change 3152399 on 2016/10/05 by Josh.Markiewicz
#UE4 - temporary fix for OSS R0B0MERGE issue
#rb david.nikdel
#test compiles
Change 3150916 on 2016/10/04 by Daniel.Lamb
Removed warning when shader compiler is in a bad state.
#rb Andrew.Grant
#jira OR-29580
#test Cook paragon
Change 3150889 on 2016/10/04 by Ben.Salem
Add log feedback to automation harness when processing commands, including syntax helpers when an unhandled command is added.
#rb adric.worley
#tests Ran several commands to see log output.
Change 3150844 on 2016/10/04 by Lukasz.Furman
compilation fix
#rb none
#tests none
Change 3150759 on 2016/10/04 by Lukasz.Furman
added "hidden" state to gameplay debugger category
#ue4
#rb Mieszko.Zielinski
#tests config changes and PIE
Change 3150758 on 2016/10/04 by Lukasz.Furman
pass on SimpleCellGrid template to make it usable for local navigation grids
#orion
#rb Mieszko.Zielinski
#tests PIE on agora, AI tactics debug on agora
Change 3150567 on 2016/10/04 by Dan.Hertzka
Rough initial implementation of a generic UI layer for moving widgets around to and from arbitrary locations. Lots of possible uses. For example, equipping a card in the card shop that then animates down into the correct hand slot.
- Not in actual use anywhere yet
#rb none
#tests PIE
Change 3150307 on 2016/10/04 by Laurent.Delayen
Removed check() not considering SimulatedRootMotion for RemoteClients.
#rb none
#tests compiles
Change 3150236 on 2016/10/04 by Josh.Markiewicz
#UE4 - added documentation to FNetworkNotify interface
- fixed bad UE_LOG category while double checking the above
#rb none
#tests compiles
Change 3150206 on 2016/10/04 by Josh.Markiewicz
#UE4 - moved ClientTravelToSession out of AGameSession and into UGameInstance
- removed similar function from UGameInstanceCommon
- more common usage location
#rb none
#c0dereview paul.moore
#tests rejoin vectors and golden path
Change 3150073 on 2016/10/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3150010
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3150072 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3150031 on 2016/10/04 by Mieszko.Zielinski
New AIData provider that generated random numbers #UE4
#rb Lukasz.Furman
#test golden path
Change 3149946 on 2016/10/04 by Ben.Woodhouse
Make UPrimitiveComponents (and derived variants) take proxy memory into account in GetResourceSize()
We do this by dereferencing the SceneProxy directly, but this should be safe, since we NULL it on the gamethread before the proxy is released.
#jira OR-26778
#rb luke.thatcher
#tests compile, run Win64 with -game, run editor
Change 3149743 on 2016/10/03 by Ben.Salem
Null check for blank test names when making functional tests to repair crash on server.
#rb nick.darnell
#tests Ran multiple FTests
Change 3149460 on 2016/10/03 by Laurent.Delayen
Refactored TickCharacterPose.
Now calls 'ShouldTickPose' so it can get properly obey bPauseAnims, MeshComponentUpdateFlag and other conditions.
Still forces updates when playing networked root motion montages, and that check is now done inside of USkeletalMeshComponent::ShouldTickPose().
Fixes human players always calling TickPose regardless of settings on dedicated servers.
Also addresses Jira UE-34720
#rb martin.wilson
#tests networked Vamp x2 + golden path
Change 3149435 on 2016/10/03 by Mieszko.Zielinski
Fixed a bug in EQS item score normalization for the purposes of drawing #UE4
Also, made printed out scores not normalized since seeing original EQS calculated score desirable
#rb Lukasz.Furman
#test golden path
Change 3148550 on 2016/10/03 by John.Barrett
Fixed bad/blocking ensure added in FBitReader. OR-29219
#tests compile
#rb none
Change 3147460 on 2016/09/30 by Laurent.Delayen
Fixed AOrionChar::UpdateAnimationTicking never setting EMeshComponentUpdateFlag::OnlyTickPoseWhenRendered, because OnMontageEnded() is called before the MontageInstance is actually removed and deleted.
Added OnAllMontageInstancesEnded to AnimInstance, and used that to call UpdateAnimationTicking.
#rb michael.noland
#tests Golden Path
Change 3146677 on 2016/09/30 by Jamie.Dale
Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing
#rb Andrew.Rodham
#tests Ran the gather
Change 3146555 on 2016/09/30 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3146524
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3146553 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3146129 on 2016/09/29 by Michael.Noland
Engine: Fixed the spectator camera (used in ToggleDebugCamera) so it moves consistently regardless of the slomo value by using the raw frame delta rather than trying to counter-correct for time dilation
#c0dereview marc.audy
#rb none
#tests Tested ToggleDebugCamera with slomo 0.00001
Change 3145574 on 2016/09/29 by Adric.Worley
Fix FunctionalTestingManager not compiling when included
#tests compile
#rb mieszko.zielinski
Change 3145224 on 2016/09/29 by Michael.Trepka
Better check for whether or not PreFullscreenWindowPlacement in FWindowsWindow is valid
#rb Dmitry.Rekman
#tests Tested editor build on PC
Change 3145132 on 2016/09/29 by Alexis.Matte
Make sure we use GetMesh instead of the SkeletalMeshPtr variable.
#jira OR-29617
#rb matt.kuhlenschmidt
#test none
Change 3144926 on 2016/09/29 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3144835
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3144925 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3144920 on 2016/09/29 by Benn.Gallagher
Added "Reset Clothing Sim" anim notify to trigger a clothing reset from an animation, to help with issues arising from extreme movements in animations.
#rb James.Golding
#tests Editor + -game vamp RMB abilities using new notify
Change 3144055 on 2016/09/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: ben.marsh
BuildGraph: Fix builds created with preconditions on nodes behind triggers, causing nightly builds to run forever due to conditions never evaluating to true.
#rb none
#tests Compared exported job definition before and after
#R0B0MERGE-SOURCE: CL 3143992 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3143801 on 2016/09/28 by Mieszko.Zielinski
Made UAIBlueprintHelperLibrary::CreateMoveToProxyObject deduce WorldContextObject from Pawn if not received from BP #Orion
Also, made failing to do so not fails a check
#rb Lukasz.Furman
#test golden path
#c0dereview Aaron.Eady
Change 3142377 on 2016/09/27 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Fix crashes when using GBuffer resources in simpleforward mode.
#rb Daniel.Wright
#test vamp Q on low settings.
#R0B0MERGE-SOURCE: CL 3142376 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3141628 on 2016/09/27 by David.Ratti
Guard against recursion in WaitGameplayEffectApplied ability task
#rb none
#tests pie crash case
Change 3141497 on 2016/09/27 by Marcus.Wassmer
Duplicate 3123743
Separate skeletal/static mesh lod interfaces
#rb none
#test created an LOD for vamp locally.
Change 3140832 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Remove dubious non-threadsafe GBuffer reference adjustments.
Possibly fix OR-29506
#rb none
#test PC on all settings
#R0B0MERGE-SOURCE: CL 3140831 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3140828 on 2016/09/26 by Uriel.Doyon
Workaround (reverting previous attemp) at fixing issue with FTextRenderSceneProxy when running command let.
#rb marcus.wassmer
#tests running lighting build with command let & loading editor
Change 3140331 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Cloning fix for UE-36253 from //UE4/Dev-Framework/...
#rb #tests na
#R0B0MERGE-SOURCE: CL 3140329 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139976 on 2016/09/26 by David.Ratti
balance tweaker + some prep for multiple data tables support
#rb none
#tests pie, golden path
Change 3139904 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Adding code to log name of package that refuses to load...
#rb none
#tests compiled
#R0B0MERGE-SOURCE: CL 3139902 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139871 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Fixes for OR-29229 and OR-29413
#rb #tests na
#R0B0MERGE-SOURCE: CL 3139870 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139751 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3139692
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3139740 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139451 on 2016/09/25 by Uriel.Doyon
Submitted a workaround for the lighting build command let crash.
#rb none
#tests loaded editor, built lighting command let
Change 3138304 on 2016/09/23 by David.Ratti
Fix checkslow in Debug editor
#rb none
#tests debug editor
#c0dereview Martin.Wilson
Change 3138068 on 2016/09/23 by Laurent.Delayen
Don't try to match invalid GUIDs in FSmartNameMapping::GetNameByGuid.
Fixes Steel's curves all getting matched to 'DistanceCurve'
#rb martin.wilson
#tests Steel's curve are not all 'DistanceCurve'
Change 3137830 on 2016/09/23 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3137699
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3137746 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3137657 on 2016/09/23 by Ben.Marsh
Fix initialization order warning.
#rb none
#tests none
Change 3137628 on 2016/09/23 by bruce.nesbit
Fixed non-unity compiles in LandscapeSplines and LandscapeSplineRaster
#rb none
#tests Compiled NU
Change 3137538 on 2016/09/23 by Thomas.Sarkanen
Fix crash rendering sequence with keyframed material parameters
Ported Frank F's fix from Dev-Sequencer. Original CL 3136577:
Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues.
#tests Rendered out problematic sequence successfully multiple times
#rb none
#jira UE-36175 - Keyframing material parameters can cause crashes when rendering
#c0dereview Frank.Fella
Change 3136580 on 2016/09/22 by Ben.Marsh
Merging CL 3136158 to fix support for generating project files with Visual Studio Express.
#rb none
#tests none
Change 3136574 on 2016/09/22 by Michael.Trepka
Fixed a crash caused by trying to redraw window contents while switching from fullscreen to windowed mode
#rb Marcus.Wassmer
#tests Tested editor build on PC
Change 3136293 on 2016/09/22 by Adric.Worley
Add BlueprintType to EFunctionalTestResult
#tests editor
#rb ben.salem
#c0dereview nick.darnell
Change 3136240 on 2016/09/22 by Andrew.Grant
Merging from //UE4/Main @ 3135156
#rb none
#tests QA pass and local golden path
Change 3136197 on 2016/09/22 by Jamie.Dale
Merging CL# 3094477 and CL# 3111827 to fix some tesselated landscape crashes
#rb Gareth.Martin
#tests Loaded the map that was crashing
Change 3135914 on 2016/09/22 by Dan.Youhon
Fixed CharacterMovementComponent impulse net correction handling during additive root motion (part of #OR-5545)
- Fixes #OR-28478, heroes tethered by Kwang cannot be knocked up
- Fixes #OR-18985, Gideon R ability negating knockback/knockup effects (including Howitzer E)
#rb None
#tests MultiPIE
#R0B0MERGE: MAIN, 32.2, 32.1
Change 3135893 on 2016/09/22 by David.Ratti
GameplayCueeditir Change override type from a checkbox to a combobox to make things a little clearer
#rb none
#tests gameplaycue editor
Change 3135843 on 2016/09/22 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3135756
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3135820 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Balance/HeroData.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Cards/Effects/P_ThunderCleaver.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/DataTables/HeroData.xlsm - can't integrate exclusive file already opened
#c0dereview: jason.bestimt
Change 3134639 on 2016/09/21 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3133910
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3134086 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#c0dereview: jason.bestimt
Change 3134367 on 2016/09/21 by Ben.Woodhouse
More complete fix for SSAO issues. Disable vertex fogging automatically if forward shading is disabled
#rb daniel.wright
#tests none
Change 3134176 on 2016/09/21 by Jason.Bestimt
#ORION_DG - UnrealPak speed improvements
Moving shelved CL to DG and submitting for DanielL
#RB:none
#Tests:none
#c0dereview: andrew.grant, daniel.lamb
Change 3134129 on 2016/09/21 by Jamie.Dale
Added the "unattended" flag when running the localzation commandlets via UAT
#rb none
#tests Built UAT
Change 3133864 on 2016/09/21 by Ben.Woodhouse
Default r.VertexFoggingForOpaque to 0, since it only makes sense for forward shading. This was causing fog to be modulated by SSAO in Orion.
Note: this setting is overridden to 1 in Odin's DefaultEngine.ini, so it should work in that case.
#c0dereview daniel.wright
#rb luke.thatcher
#jira OR-29262
#tests yes
Change 3133849 on 2016/09/21 by Martin.Wilson
Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1
#rb Jurre.DeBaare
#tests Editor tests with mambo pose asset
#jira UE-36189
Change 3133546 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Null merge of 3131588. Fix from 31.1 is unncecessary as a more complete fix came from the engine integration that's in v32.
#rb none
#tests none
[c0dereviewed] Jason.Bestimt
#R0B0MERGE-SOURCE: CL 3132617 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3133487 on 2016/09/20 by Michael.Noland
Automation: Added Automation to the manual autocomplete list
Change 3133363 on 2016/09/20 by Daniel.Lamb
Added Jaymee Sanford and Tony Oliva to the rebuild lighting email list.
#rb Trivial
#test Compile automation tool
Change 3132956 on 2016/09/20 by Benn.Gallagher
Fixed crash when importing clothing with mismatching number of triangles when compared to the original render data
#tests Editor, apex reimport
#rb none
Change 3132403 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3132254
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3132353 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3132332 on 2016/09/20 by Andrew.Grant
Replicated UE4/Main fix for missing materials pane
#rb none
#tests verified material pane shows
Change 3132131 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging automation work from //Orion/Release-32.2 to Main
#rb none
#tests verified functionality
#R0B0MERGE-SOURCE: CL 3132130 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3131698 on 2016/09/19 by Andrew.Grant
Qucik fix to unblock build. Will follow up correct way tomorrow
#rb none
#tests blueprint compiles
Change 3131489 on 2016/09/19 by Andrew.Grant
Merging from //UE4/Orion-Staging (Source: //UE4/Main @ 3111290)
#rb none
#tests QA pass in Orion-Staging, Golden path post merge
Change 3131350 on 2016/09/19 by Adric.Worley
Fix functional test reporting typo
#tests PIE
#rb ben.salem
Change 3130959 on 2016/09/19 by Mieszko.Zielinski
Compilation fix #UE4
#rb none
#test compilation
Change 3130904 on 2016/09/19 by Mieszko.Zielinski
Couple of generic AI perception fixes #UE4
Made unregistering AI sight source broadcast "no longer visible" information to all observers currently "seeing" the source
Fixed FActorPerceptionInfo::GetLastStimulusLocation not carying whether selected stimulus was successfully sensed
Fixed dominant sense not really working if not set with UAIPerceptionComponent::SetDominantSense call
#rb Lukasz.Furman
#test golden path
Change 3130304 on 2016/09/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3130115
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3130164 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
[CL 3205566 by Andrew Grant in Main branch]
2016-11-20 21:35:35 -05:00
UnityCPPFileName = string . Format ( "{0}{1}.cpp" , ModulePrefix , BaseName ) ;
2014-04-23 20:18:55 -04:00
}
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
FileReference UnityCPPFilePath = FileReference . Combine ( IntermediateDirectory , UnityCPPFileName ) ;
2014-03-14 14:13:41 -04:00
// Write the unity file to the intermediate folder.
FileItem UnityCPPFile = FileItem . CreateIntermediateTextFile ( UnityCPPFilePath , OutputUnityCPPWriter . ToString ( ) ) ;
2015-09-24 12:37:21 -04:00
NewCPPFiles . Add ( UnityCPPFile ) ;
2019-04-18 21:57:56 -04:00
// Store the mapping of source files to unity files in the makefile
foreach ( FileItem SourceFile in UnityFile . Files )
{
2019-05-15 16:17:53 -04:00
SourceFileToUnityFile [ SourceFile ] = UnityCPPFile ;
2019-04-18 21:57:56 -04:00
}
foreach ( FileItem SourceFile in UnityFile . VirtualFiles )
{
2019-05-15 16:17:53 -04:00
SourceFileToUnityFile [ SourceFile ] = UnityCPPFile ;
2019-04-18 21:57:56 -04:00
}
2014-03-14 14:13:41 -04:00
}
2015-08-27 16:33:06 -04:00
return NewCPPFiles ;
2014-03-14 14:13:41 -04:00
}
}
}