2019-12-26 23:06:02 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
#include "CoreMinimal.h"
|
2020-06-23 18:40:00 -04:00
|
|
|
#include "Async/TaskGraphInterfaces.h"
|
2014-04-23 18:46:37 -04:00
|
|
|
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
class FUnrealSourceFile;
|
|
|
|
|
class FOutputDevice;
|
2021-04-15 13:44:34 -04:00
|
|
|
class FUnrealPackageDefinitionInfo;
|
2021-05-21 07:29:12 -04:00
|
|
|
class FUnrealPropertyDefinitionInfo;
|
2020-06-23 18:40:00 -04:00
|
|
|
struct FFuncInfo;
|
2021-04-15 13:44:34 -04:00
|
|
|
struct FGeneratedFileInfo;
|
2021-07-19 14:42:38 -04:00
|
|
|
struct FFindDelcarationResults;
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
//
|
|
|
|
|
// FNativeClassHeaderGenerator
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
namespace EExportFunctionHeaderStyle
|
|
|
|
|
{
|
|
|
|
|
enum Type
|
|
|
|
|
{
|
|
|
|
|
Definition,
|
|
|
|
|
Declaration
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace EExportFunctionType
|
|
|
|
|
{
|
|
|
|
|
enum Type
|
|
|
|
|
{
|
|
|
|
|
Interface,
|
|
|
|
|
Function,
|
|
|
|
|
Event
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-02 07:02:29 -04:00
|
|
|
class FModuleClasses;
|
2015-04-10 06:02:22 -04:00
|
|
|
class FScope;
|
2014-06-02 07:02:29 -04:00
|
|
|
|
2015-03-27 18:10:52 -04:00
|
|
|
// These are declared in this way to allow swapping out the classes for something more optimized in the future
|
|
|
|
|
typedef FStringOutputDevice FUHTStringBuilder;
|
|
|
|
|
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
enum class EExportingState
|
|
|
|
|
{
|
|
|
|
|
Normal,
|
|
|
|
|
TypeEraseDelegates
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum class EExportCallbackType
|
|
|
|
|
{
|
|
|
|
|
Interface,
|
|
|
|
|
Class
|
|
|
|
|
};
|
|
|
|
|
|
2021-04-15 13:44:34 -04:00
|
|
|
enum class EExportClassOutFlags
|
|
|
|
|
{
|
|
|
|
|
None = 0x0,
|
|
|
|
|
NeedsPushModelHeaders = 0x1 << 0,
|
|
|
|
|
};
|
|
|
|
|
ENUM_CLASS_FLAGS(EExportClassOutFlags);
|
|
|
|
|
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
struct FPropertyNamePointerPair
|
|
|
|
|
{
|
2021-05-21 07:29:12 -04:00
|
|
|
FPropertyNamePointerPair(FString InName, FUnrealPropertyDefinitionInfo& InPropDef)
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
: Name(MoveTemp(InName))
|
2021-05-21 07:29:12 -04:00
|
|
|
, PropDef(&InPropDef)
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString Name;
|
2021-05-21 07:29:12 -04:00
|
|
|
FUnrealPropertyDefinitionInfo* PropDef;
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
};
|
|
|
|
|
|
2019-12-13 11:07:03 -05:00
|
|
|
FString CreateUTF8LiteralString(const FString& Str);
|
|
|
|
|
|
2021-04-15 13:44:34 -04:00
|
|
|
/**
|
|
|
|
|
* Structure to load and maintain information about a generated file
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
struct FGeneratedFileInfo
|
|
|
|
|
{
|
|
|
|
|
FGeneratedFileInfo(bool bInAllowSaveExportedHeaders)
|
|
|
|
|
: bAllowSaveExportedHeaders(bInAllowSaveExportedHeaders)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Start the process of loading the existing version of the file. The output file name will also be initialized.
|
|
|
|
|
*/
|
|
|
|
|
void StartLoad(FString&& InFilename);
|
|
|
|
|
|
2021-06-22 15:27:11 -04:00
|
|
|
/**
|
|
|
|
|
* Load the existing version of the file immediately
|
|
|
|
|
*/
|
|
|
|
|
void Load(FString&& InFilename);
|
|
|
|
|
|
2021-04-15 13:44:34 -04:00
|
|
|
/**
|
|
|
|
|
* Get the output file name.
|
|
|
|
|
*/
|
|
|
|
|
FString& GetFilename() { return Filename; }
|
|
|
|
|
const FString& GetFilename() const { return Filename; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return the original contents of the output file. This string will not be valid untile the load task has completed.
|
|
|
|
|
*/
|
|
|
|
|
const FString& GetOriginalContents() const
|
|
|
|
|
{
|
|
|
|
|
return OriginalContents;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return a string builder that can be used to store the new copy of the file. The body will not be a
|
|
|
|
|
* complete version of the new file.
|
|
|
|
|
*/
|
|
|
|
|
FUHTStringBuilder& GetGeneratedBody()
|
|
|
|
|
{
|
|
|
|
|
return GeneratedBody;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* After the new contents of the file has been serialized into string builder returned by GetGeneratedBody,
|
|
|
|
|
* invoke this method to generate a body hash for the new contents.
|
|
|
|
|
*/
|
|
|
|
|
void GenerateBodyHash();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return the generated hash for the body
|
|
|
|
|
*/
|
|
|
|
|
uint32 GetGeneratedBodyHash() const
|
|
|
|
|
{
|
|
|
|
|
return GeneratedBodyHash;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Store the task being used to save the updated text of the file
|
|
|
|
|
*/
|
|
|
|
|
void SetSaveTaskRef(FGraphEventRef&& InSaveTaskRef)
|
|
|
|
|
{
|
|
|
|
|
SaveTaskRef = MoveTemp(InSaveTaskRef);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the save task is valid, add it to the supplied array of tasks
|
|
|
|
|
*/
|
|
|
|
|
void AddSaveTaskRef(FGraphEventArray& Events) const
|
|
|
|
|
{
|
|
|
|
|
if (SaveTaskRef.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Events.Add(SaveTaskRef);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the load task is valid, add it to the supplied array of tasks. StartLoad must have already been called.
|
|
|
|
|
*/
|
|
|
|
|
void AddLoadTaskRef(FGraphEventArray& Events) const
|
|
|
|
|
{
|
|
|
|
|
if (LoadTaskRef.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Events.Add(LoadTaskRef);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set the package filename that represents the name of the file as packaged.
|
|
|
|
|
* TODO: Verify this is the same as Filename and eliminate if that is the case.
|
|
|
|
|
*/
|
|
|
|
|
void SetPackageFilename(FString&& InFilename)
|
|
|
|
|
{
|
|
|
|
|
PackageFilename = MoveTemp(InFilename);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the package filename has been set, add it to the set of given file names
|
|
|
|
|
*/
|
|
|
|
|
void AddPackageFilename(TSet<FString>& PackageHeaderPaths)
|
|
|
|
|
{
|
|
|
|
|
if (!PackageFilename.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
PackageHeaderPaths.Add(MoveTemp(PackageFilename));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set the name of the temporary location of the file. It will be moved as part of the saving process.
|
|
|
|
|
*/
|
|
|
|
|
void SetTempFilename(FString&& InFilename)
|
|
|
|
|
{
|
|
|
|
|
TempFilename = MoveTemp(InFilename);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the temp file name is set, add it to the list of temporary file names
|
|
|
|
|
*/
|
|
|
|
|
void AddTempFilename(TArray<FString>& TempHeaderPaths)
|
|
|
|
|
{
|
|
|
|
|
if (!TempFilename.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
TempHeaderPaths.Add(MoveTemp(TempFilename));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If true, the existing version of the file will be read and the new version will be saved.
|
|
|
|
|
*/
|
|
|
|
|
bool AllowSaveExportedHeaders() const
|
|
|
|
|
{
|
|
|
|
|
return bAllowSaveExportedHeaders;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
bool bAllowSaveExportedHeaders = true;
|
|
|
|
|
uint32 GeneratedBodyHash = 0;
|
|
|
|
|
FString Filename;
|
|
|
|
|
FString PackageFilename;
|
|
|
|
|
FString TempFilename;
|
|
|
|
|
FString OriginalContents;
|
|
|
|
|
FUHTStringBuilder GeneratedBody;
|
|
|
|
|
FGraphEventRef LoadTaskRef;
|
|
|
|
|
FGraphEventRef SaveTaskRef;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For every FUnrealSourceFile being processed, an instance of this class represents the data associated with generating the new output.
|
|
|
|
|
*/
|
|
|
|
|
struct FGeneratedCPP
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Construct a new instance that refers to the source package and file
|
|
|
|
|
*/
|
|
|
|
|
FGeneratedCPP(FUnrealPackageDefinitionInfo& InPackageDef, FUnrealSourceFile& InSourceFile);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If this source is to be exported, verify that the final generation task has been set and add it to the output.
|
|
|
|
|
* This method is used to make sure that any dependent files have been generated before the file in question is
|
|
|
|
|
* generated.
|
|
|
|
|
*/
|
|
|
|
|
void AddGenerateTaskRef(FGraphEventArray& Events) const;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If this source is to be exported, verify that the export task has been set and add it to the output.
|
|
|
|
|
* This method is used to make sure that the complete export process for the file, excluding saving task,
|
|
|
|
|
* has completed.
|
|
|
|
|
*/
|
|
|
|
|
void AddExportTaskRef(FGraphEventArray& Events) const;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The package definition being exported
|
|
|
|
|
*/
|
|
|
|
|
FUnrealPackageDefinitionInfo& PackageDef;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The source file being exported
|
|
|
|
|
*/
|
|
|
|
|
FUnrealSourceFile& SourceFile;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The old and new header information.
|
|
|
|
|
*/
|
|
|
|
|
FGeneratedFileInfo Header;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The old and new source information
|
|
|
|
|
*/
|
|
|
|
|
FGeneratedFileInfo Source;
|
|
|
|
|
|
|
|
|
|
// The following information is collected during generation process
|
|
|
|
|
TSet<FString> CrossModuleReferences;
|
|
|
|
|
TSet<FString> ForwardDeclarations;
|
|
|
|
|
FUHTStringBuilder GeneratedFunctionDeclarations;
|
|
|
|
|
EExportClassOutFlags ExportFlags = EExportClassOutFlags::None;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This task represents the task that generates the source
|
|
|
|
|
*/
|
|
|
|
|
FGraphEventRef GenerateTaskRef;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This task represents the task that completes the export process of the source
|
|
|
|
|
*/
|
|
|
|
|
FGraphEventRef ExportTaskRef;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Structure used to perform output generation
|
|
|
|
|
*/
|
2014-03-14 14:13:41 -04:00
|
|
|
struct FNativeClassHeaderGenerator
|
|
|
|
|
{
|
|
|
|
|
private:
|
2021-04-15 13:44:34 -04:00
|
|
|
FUnrealPackageDefinitionInfo& PackageDef;
|
2015-01-20 09:33:54 -05:00
|
|
|
|
|
|
|
|
/**
|
2021-04-15 13:44:34 -04:00
|
|
|
* Gets API string for this header with trailing space.
|
2015-01-20 09:33:54 -05:00
|
|
|
*/
|
2021-04-15 13:44:34 -04:00
|
|
|
const FString& GetAPIString() const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2020-01-04 15:28:16 -05:00
|
|
|
/** A collection of structures used to gather various kinds of references conveniently grouped together to make passing easier */
|
|
|
|
|
struct FReferenceGatherers
|
|
|
|
|
{
|
2021-04-15 13:44:34 -04:00
|
|
|
FReferenceGatherers(TSet<FString>* InUniqueCrossModuleReferences,TSet<FString> & InForwardDeclarations)
|
2020-01-04 15:28:16 -05:00
|
|
|
: UniqueCrossModuleReferences(InUniqueCrossModuleReferences)
|
2021-04-15 13:44:34 -04:00
|
|
|
, ForwardDeclarations(InForwardDeclarations)
|
2020-01-04 15:28:16 -05:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-05-05 12:16:53 -04:00
|
|
|
/** Set of already exported cross-module references, to prevent duplicates */
|
|
|
|
|
TSet<FString>* UniqueCrossModuleReferences;
|
2020-01-04 15:28:16 -05:00
|
|
|
/** Forward declarations that we need. */
|
2021-04-15 13:44:34 -04:00
|
|
|
TSet<FString>& ForwardDeclarations;
|
2020-01-04 15:28:16 -05:00
|
|
|
};
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports the struct's C++ properties to the HeaderText output device and adds special
|
|
|
|
|
* compiler directives for GCC to pack as we expect.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out alternate output device
|
|
|
|
|
* @param Struct UStruct to export properties
|
|
|
|
|
* @param TextIndent Current text indentation
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static void ExportProperties(FOutputDevice& Out, FUnrealStructDefinitionInfo& StructDef, int32 TextIndent);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2021-05-12 16:27:07 -04:00
|
|
|
/** Return the name of the singleton function */
|
2021-05-22 08:04:39 -04:00
|
|
|
static const FString& GetPackageSingletonName(FUnrealPackageDefinitionInfo& PackageDef, TSet<FString>* UniqueCrossModuleReferences);
|
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
|
|
|
|
2021-05-12 16:27:07 -04:00
|
|
|
/** Return the address of the singleton function */
|
2021-05-22 08:04:39 -04:00
|
|
|
static const FString& GetPackageSingletonNameFuncAddr(FUnrealPackageDefinitionInfo& PackageDef, TSet<FString>* UniqueCrossModuleReferences);
|
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
|
|
|
|
2021-05-14 07:48:15 -04:00
|
|
|
/** Return the address of the singleton function - handles nullptr */
|
2021-05-22 08:04:39 -04:00
|
|
|
static const FString& GetSingletonNameFuncAddr(FUnrealFieldDefinitionInfo* FieldDef, TSet<FString>* UniqueCrossModuleReferences, bool bRequiresValidObject = true);
|
2021-05-14 07:48:15 -04:00
|
|
|
|
2021-11-18 14:37:34 -05:00
|
|
|
// @todo: BP2CPP_remove
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
/**
|
|
|
|
|
* Returns the name (overridden if marked up) or "" wrappers for use in a string literal.
|
|
|
|
|
*/
|
2019-12-13 11:07:03 -05:00
|
|
|
template <typename T>
|
2021-11-18 14:37:34 -05:00
|
|
|
UE_DEPRECATED(5.0, "This method is no longer in use and will be removed.")
|
2019-12-13 11:07:03 -05:00
|
|
|
static FString GetUTF8OverriddenNameForLiteral(const T* Item)
|
|
|
|
|
{
|
|
|
|
|
const FString& OverriddenName = Item->GetMetaData(TEXT("OverrideNativeName"));
|
|
|
|
|
if (!OverriddenName.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
return CreateUTF8LiteralString(OverriddenName);
|
|
|
|
|
}
|
|
|
|
|
return CreateUTF8LiteralString(Item->GetName());
|
|
|
|
|
}
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
|
|
|
|
|
/**
|
2014-03-14 14:13:41 -04:00
|
|
|
* Export functions used to find and call C++ or script implementation of a script function in the interface
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportInterfaceCallFunctions(FOutputDevice& OutCpp, FUHTStringBuilder& Out, FReferenceGatherers& OutReferenceGatherers, const TArray<FUnrealFunctionDefinitionInfo*>& CallbackFunctions, const TCHAR* ClassName) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2020-01-14 11:48:31 -05:00
|
|
|
private:
|
|
|
|
|
|
2021-04-15 13:44:34 -04:00
|
|
|
// Constructor
|
|
|
|
|
FNativeClassHeaderGenerator(
|
|
|
|
|
FUnrealPackageDefinitionInfo& PackageDef
|
|
|
|
|
);
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
/**
|
|
|
|
|
* After all of the dependency checking, and setup for isolating the generated code, actually export the class
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param OutEnums Output device for enums declarations.
|
|
|
|
|
* @param OutputGetter The function to call to get the output.
|
|
|
|
|
* @param SourceFile Source file to export.
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
void ExportClassFromSourceFileInner(
|
|
|
|
|
FOutputDevice& OutGeneratedHeaderText,
|
|
|
|
|
FOutputDevice& OutputGetter,
|
|
|
|
|
FOutputDevice& OutDeclarations,
|
2020-01-04 15:28:16 -05:00
|
|
|
FReferenceGatherers& OutReferenceGatherers,
|
2021-05-21 07:29:12 -04:00
|
|
|
FUnrealClassDefinitionInfo& ClassDef,
|
2020-01-14 11:48:31 -05:00
|
|
|
const FUnrealSourceFile& SourceFile,
|
|
|
|
|
EExportClassOutFlags& OutFlags
|
2020-01-04 15:28:16 -05:00
|
|
|
) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* After all of the dependency checking, but before actually exporting the class, set up the generated code
|
|
|
|
|
*/
|
2021-04-15 13:44:34 -04:00
|
|
|
static bool WriteHeader(FGeneratedFileInfo& FileInfo, const FString& InBodyText, const TSet<FString>& InAdditionalHeaders, const TSet<FString>& ForwardDeclarations);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Write the body of a source file using a standard format
|
|
|
|
|
*/
|
|
|
|
|
static bool WriteSource(const FManifestModule& Module, FGeneratedFileInfo& FileInfo, const FString& InBodyText, FUnrealSourceFile* InSourceFile, const TSet<FString>& InCrossModuleReferences);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns a string in the format CLASS_Something|CLASS_Something which represents all class flags that are set for the specified
|
|
|
|
|
* class which need to be exported as part of the DECLARE_CLASS macro
|
|
|
|
|
*/
|
2021-05-23 08:46:15 -04:00
|
|
|
static FString GetClassFlagExportText(FUnrealClassDefinitionInfo& ClassDef);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* Exports the header text for the enum specified
|
2014-03-14 14:13:41 -04:00
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out the output device for the mirror struct
|
|
|
|
|
* @param Enums the enum to export
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2021-05-22 08:04:39 -04:00
|
|
|
void ExportEnum(FOutputDevice& Out, FUnrealEnumDefinitionInfo& EnumDef) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports the inl text for enums declared in non-UClass headers.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param OutputGetter The function to call to get the output.
|
|
|
|
|
* @param Enum the enum to export
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2021-05-22 08:04:39 -04:00
|
|
|
void ExportGeneratedEnumInitCode(FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealEnumDefinitionInfo& EnumDef) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* Exports the macro declarations for GENERATED_BODY() for each Foo in the struct specified
|
2014-03-14 14:13:41 -04:00
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out output device
|
|
|
|
|
* @param Struct The struct to export
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2021-05-22 08:04:39 -04:00
|
|
|
void ExportGeneratedStructBodyMacros(FOutputDevice& OutGeneratedHeaderText, FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealScriptStructDefinitionInfo& ScriptStructDef) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* Exports a local mirror of the specified struct; used to get offsets
|
2014-03-14 14:13:41 -04:00
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out the output device for the mirror struct
|
|
|
|
|
* @param Structs the struct to export
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param TextIndent the current indentation of the header exporter
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static void ExportMirrorsForNoexportStruct(FOutputDevice& Out, FUnrealScriptStructDefinitionInfo& ScriptStructDef, int32 TextIndent);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
/**heade
|
2014-03-14 14:13:41 -04:00
|
|
|
* Exports the parameter struct declarations for the list of functions specified
|
|
|
|
|
*
|
|
|
|
|
* @param Function the function that (may) have parameters which need to be exported
|
|
|
|
|
* @return true if the structure generated is not completely empty
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static bool WillExportEventParms(FUnrealFunctionDefinitionInfo& FunctionDef);
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports C++ type declarations for delegates
|
|
|
|
|
*
|
|
|
|
|
* @param Out output device
|
|
|
|
|
* @param SourceFile Source file of the delegate.
|
|
|
|
|
* @param DelegateFunctions the functions that have parameters which need to be exported
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportDelegateDeclaration(FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealFunctionDefinitionInfo& FunctionDef) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports C++ type definitions for delegates
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out output device
|
2015-01-20 09:33:54 -05:00
|
|
|
* @param SourceFile Source file of the delegate.
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param DelegateFunctions the functions that have parameters which need to be exported
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportDelegateDefinition(FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealFunctionDefinitionInfo& FunctionDef) const;
|
2015-01-20 09:33:54 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports the parameter struct declarations for the given function.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out output device
|
2015-01-20 09:33:54 -05:00
|
|
|
* @param Function the function that have parameters which need to be exported
|
|
|
|
|
* @param Indent number of spaces to put before each line
|
|
|
|
|
* @param bOutputConstructor If true, output a constructor for the param struct
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static void ExportEventParm(FUHTStringBuilder& Out, TSet<FString>& PropertyFwd, FUnrealFunctionDefinitionInfo& FunctionDef, int32 Indent, bool bOutputConstructor, EExportingState ExportingState);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2020-04-28 12:02:34 -04:00
|
|
|
/**
|
|
|
|
|
* Move the temp header files into the .h files
|
2014-03-14 14:13:41 -04:00
|
|
|
*
|
|
|
|
|
* @param PackageName Name of the package being saved
|
2020-04-28 12:02:34 -04:00
|
|
|
* @param TempHeaderPaths Names of all the headers to move
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2020-06-23 18:40:00 -04:00
|
|
|
static void ExportUpdatedHeaders(FString&& PackageName, TArray<FString>&& TempHeaderPaths, FGraphEventArray& InTempSaveTasks);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the intrinsic null value for this property
|
|
|
|
|
*
|
|
|
|
|
* @param Prop the property to get the null value for
|
|
|
|
|
* @param bMacroContext true when exporting the P_GET* macro, false when exporting the friendly C++ function header
|
|
|
|
|
* @param bInitializer if true, will just return ForceInit instead of FStruct(ForceInit)
|
|
|
|
|
*
|
|
|
|
|
* @return the intrinsic null value for the property (0 for ints, TEXT("") for strings, etc.)
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static FString GetNullParameterValue(FUnrealPropertyDefinitionInfo& PropertyDef, bool bInitializer = false );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports a native function prototype
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out Where to write the exported function prototype to.
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param FunctionData data representing the function to export
|
|
|
|
|
* @param FunctionType Whether to export this function prototype as an event stub, an interface or a native function stub.
|
|
|
|
|
* @param FunctionHeaderStyle Whether we're outputting a declaration or definition.
|
|
|
|
|
* @param ExtraParam Optional extra parameter that will be added to the declaration as the first argument
|
|
|
|
|
*/
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
static void ExportNativeFunctionHeader(
|
|
|
|
|
FOutputDevice& Out,
|
|
|
|
|
TSet<FString>& OutFwdDecls,
|
2021-05-21 07:29:12 -04:00
|
|
|
FUnrealFunctionDefinitionInfo& FunctionDef,
|
|
|
|
|
const FFuncInfo& FunctionData,
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
EExportFunctionType::Type FunctionType,
|
|
|
|
|
EExportFunctionHeaderStyle::Type FunctionHeaderStyle,
|
|
|
|
|
const TCHAR* ExtraParam,
|
|
|
|
|
const TCHAR* APIString
|
|
|
|
|
);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-12-08 07:30:42 -05:00
|
|
|
/**
|
2015-04-20 06:19:21 -04:00
|
|
|
* Runs checks whether necessary RPC functions exist for function described by FunctionData.
|
2014-12-08 07:30:42 -05:00
|
|
|
*
|
|
|
|
|
* @param FunctionData Data representing the function to export.
|
|
|
|
|
* @param ClassName Name of currently parsed class.
|
2015-04-20 06:19:21 -04:00
|
|
|
* @param ImplementationPosition Position in source file of _Implementation function for function described by FunctionData.
|
|
|
|
|
* @param ValidatePosition Position in source file of _Validate function for function described by FunctionData.
|
|
|
|
|
* @param SourceFile Currently analyzed source file.
|
2014-12-08 07:30:42 -05:00
|
|
|
*/
|
2021-07-19 14:42:38 -04:00
|
|
|
void CheckRPCFunctions(FReferenceGatherers& OutReferenceGatherers, FUnrealFunctionDefinitionInfo& FunctionDef, const FString& ClassName, const FFindDelcarationResults& Implementation, const FFindDelcarationResults& Validation, const FUnrealSourceFile& SourceFile) const;
|
2014-12-08 07:30:42 -05:00
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
/**
|
|
|
|
|
* Exports the native stubs for the list of functions specified
|
|
|
|
|
*
|
2015-01-20 09:33:54 -05:00
|
|
|
* @param SourceFile current source file
|
|
|
|
|
* @param Class class
|
|
|
|
|
* @param ClassData class data
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportNativeFunctions(FOutputDevice& OutGeneratedHeaderText, FOutputDevice& OutGeneratedCPPText, FOutputDevice& OutMacroCalls, FOutputDevice& OutNoPureDeclsMacroCalls, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealClassDefinitionInfo& ClassDef) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Export the actual internals to a standard thunk function
|
|
|
|
|
*
|
|
|
|
|
* @param RPCWrappers output device for writing
|
2015-01-20 09:33:54 -05:00
|
|
|
* @param Function given function
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param FunctionData function data for the current function
|
|
|
|
|
* @param Parameters list of parameters in the function
|
|
|
|
|
* @param Return return parameter for the function
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportFunctionThunk(FUHTStringBuilder& RPCWrappers, FReferenceGatherers& OutReferenceGatherers, FUnrealFunctionDefinitionInfo& FunctionDef, const TArray<FUnrealPropertyDefinitionInfo*>& ParameterDefs, FUnrealPropertyDefinitionInfo* ReturnDef) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2022-03-14 09:47:28 -04:00
|
|
|
/**
|
|
|
|
|
* Export the declaration for FFieldNotificationClassDescriptor.
|
|
|
|
|
*
|
|
|
|
|
* @param OutGeneratedHeaderText Output device for writing in the generated header file.
|
|
|
|
|
* @param OutGeneratedCPPText Output device for writing in the generated cpp file.
|
|
|
|
|
* @param StandardUObjectConstructorsMacroCall The destination to write standard constructor macros to.
|
|
|
|
|
* @param EnhancedUObjectConstructorsMacroCall The destination to write enhanced constructor macros to.
|
|
|
|
|
* @param ConstructorsMacroPrefix Prefix for constructors macro.
|
|
|
|
|
* @param Class Class for which to export macros.
|
|
|
|
|
*/
|
|
|
|
|
void ExportFieldNotify(FOutputDevice& OutGeneratedHeaderText, FOutputDevice& OutGeneratedCPPText, FOutputDevice& StandardUObjectConstructorsMacroCall, FOutputDevice& EnhancedUObjectConstructorsMacroCall, const FString& ConstructorsMacroPrefix, FUnrealClassDefinitionInfo& ClassDef) const;
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
/** Exports the native function registration code for the given class. */
|
2021-05-21 07:29:12 -04:00
|
|
|
static void ExportNatives(FOutputDevice& Out, FUnrealClassDefinitionInfo& ClassDef);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports generated singleton functions for UObjects that used to be stored in .u files.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out The destination to write to.
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
|
|
|
* @param SourceFile The source file being processed.
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param Class Class to export
|
2015-01-20 09:33:54 -05:00
|
|
|
* @param OutFriendText (Output parameter) Friend text
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportNativeGeneratedInitCode(FOutputDevice& Out, FOutputDevice& OutDeclarations, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealClassDefinitionInfo& ClassDef, FUHTStringBuilder& OutFriendText) const;
|
2015-01-20 09:33:54 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Export given function.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out The destination to write to.
|
|
|
|
|
* @param Function Given function.
|
|
|
|
|
* @param bIsNoExport Is in NoExport class.
|
2015-01-20 09:33:54 -05:00
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
void ExportFunction(FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const FUnrealSourceFile& SourceFile, FUnrealFunctionDefinitionInfo& FunctionDef, bool bIsNoExport) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Exports a generated singleton function to setup the package for compiled-in classes.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param Out The destination to write to.
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param Package Package to export code for.
|
|
|
|
|
**/
|
2021-04-15 13:44:34 -04:00
|
|
|
void ExportGeneratedPackageInitCode(FOutputDevice& Out, const TCHAR* InDeclarations, uint32 CRC);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Function to output the C++ code necessary to set up the given array of properties
|
|
|
|
|
*
|
2018-05-23 21:04:31 -04:00
|
|
|
* @param DeclOut String output device to send the generated declarations to
|
|
|
|
|
* @param Out String output device to send the generated code to
|
|
|
|
|
* @param Scope The scope to prefix on all variable definitions
|
2021-05-24 21:36:39 -04:00
|
|
|
* @param StructDef The structure containing the properties to export
|
2018-05-23 21:04:31 -04:00
|
|
|
* @param Spaces String of spaces to use as an indent for the declaration
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param Spaces String of spaces to use as an indent
|
2018-05-23 21:04:31 -04:00
|
|
|
*
|
2019-01-24 04:28:21 -05:00
|
|
|
* @return A pair of strings which represents the pointer and a count of the emitted properties.
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2021-05-24 21:36:39 -04:00
|
|
|
TTuple<FString, FString> OutputProperties(FOutputDevice& DeclOut, FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const TCHAR* Scope, FUnrealStructDefinitionInfo& StructDef, const TCHAR* DeclSpaces, const TCHAR* Spaces) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Function to output the C++ code necessary to set up a property
|
|
|
|
|
*
|
2018-05-23 21:04:31 -04:00
|
|
|
* @param DeclOut String output device to send the generated declarations to
|
|
|
|
|
* @param Out String output device to send the generated code to
|
|
|
|
|
* @param Scope The scope to prefix on all variable definitions
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param Prop Property to export
|
2018-05-23 21:04:31 -04:00
|
|
|
* @param DeclSpaces String of spaces to use as an indent for the declaration
|
2014-03-14 14:13:41 -04:00
|
|
|
* @param Spaces String of spaces to use as an indent
|
|
|
|
|
**/
|
2021-05-24 21:36:39 -04:00
|
|
|
void OutputProperty(FOutputDevice& DeclOut, FOutputDevice& Out, FReferenceGatherers& OutReferenceGatherers, const TCHAR* Scope, TArray<FPropertyNamePointerPair>& PropertyNamesAndPointers, FUnrealPropertyDefinitionInfo& PropertyDef, const TCHAR* OffsetStr, FString&& Name, const TCHAR* DeclSpaces, const TCHAR* Spaces, const TCHAR* SourceStruct) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2021-04-15 13:44:34 -04:00
|
|
|
/**
|
|
|
|
|
* Function to generate the property tag
|
|
|
|
|
*
|
|
|
|
|
* @param Out Destination string builder.
|
2021-05-22 08:04:39 -04:00
|
|
|
* @param PropDef Property in question.
|
2021-04-15 13:44:34 -04:00
|
|
|
*/
|
2021-05-22 08:04:39 -04:00
|
|
|
static void GetPropertyTag(FUHTStringBuilder& Out, FUnrealPropertyDefinitionInfo& PropDef);
|
2021-04-15 13:44:34 -04:00
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
/**
|
|
|
|
|
* Exports the proxy definitions for the list of enums specified
|
|
|
|
|
*
|
2015-01-20 09:33:54 -05:00
|
|
|
* @param SourceFile current source file
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
static void ExportCallbackFunctions(
|
|
|
|
|
FOutputDevice& OutGeneratedHeaderText,
|
|
|
|
|
FOutputDevice& Out,
|
|
|
|
|
TSet<FString>& OutFwdDecls,
|
2021-05-21 07:29:12 -04:00
|
|
|
const TArray<FUnrealFunctionDefinitionInfo*>& CallbackFunctions,
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
const TCHAR* CallbackWrappersMacroName,
|
|
|
|
|
EExportCallbackType ExportCallbackType,
|
|
|
|
|
const TCHAR* APIString
|
|
|
|
|
);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Determines if the property has alternate export text associated with it and if so replaces the text in PropertyText with the
|
|
|
|
|
* alternate version. (for example, structs or properties that specify a native type using export-text). Should be called immediately
|
|
|
|
|
* after ExportCppDeclaration()
|
|
|
|
|
*
|
|
|
|
|
* @param Prop the property that is being exported
|
|
|
|
|
* @param PropertyText the string containing the text exported from ExportCppDeclaration
|
|
|
|
|
*/
|
2021-05-23 08:46:15 -04:00
|
|
|
static void ApplyAlternatePropertyExportText(FUnrealPropertyDefinitionInfo& PropertyDef, FUHTStringBuilder& PropertyText, EExportingState ExportingState);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create a temp header file name from the header name
|
|
|
|
|
*
|
|
|
|
|
* @param CurrentFilename The filename off of which the current filename will be generated
|
|
|
|
|
* @param bReverseOperation Get the header from the temp file name instead
|
|
|
|
|
*
|
|
|
|
|
* @return The generated string
|
|
|
|
|
*/
|
2020-01-02 12:15:23 -05:00
|
|
|
static FString GenerateTempHeaderName( const FString& CurrentFilename, bool bReverseOperation = false );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Saves a generated header if it has changed.
|
|
|
|
|
*
|
2021-04-15 13:44:34 -04:00
|
|
|
* @param FileInfo Contextual information about the file
|
|
|
|
|
* @param NewHeaderContents New complete contents of the file
|
2014-03-14 14:13:41 -04:00
|
|
|
* @return True if the header contents has changed, false otherwise.
|
|
|
|
|
*/
|
2021-04-15 13:44:34 -04:00
|
|
|
static bool SaveHeaderIfChanged(FGeneratedFileInfo& FileInfo, FString&& NewHeaderContents);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Deletes all .generated.h files which do not correspond to any of the classes.
|
|
|
|
|
*/
|
2020-04-28 12:02:34 -04:00
|
|
|
static void DeleteUnusedGeneratedHeaders(TSet<FString>&& PackageHeaderPathSet);
|
2014-04-23 20:18:11 -04:00
|
|
|
|
2014-10-10 04:34:56 -04:00
|
|
|
/**
|
|
|
|
|
* Exports macros that manages UObject constructors.
|
|
|
|
|
*
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3315219 on 2017/02/21 by Steve.Robb
Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.
Change 3315285 on 2017/02/21 by Steve.Robb
Explicitly pass string builder into code generation functions.
Change 3315341 on 2017/02/21 by Ben.Marsh
UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.
Change 3315350 on 2017/02/21 by Ben.Marsh
Fix shared resource files not being rebuilt if the version header changes.
Change 3315823 on 2017/02/21 by Ben.Marsh
UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.
Change 3315826 on 2017/02/21 by Ben.Marsh
UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.
Change 3315857 on 2017/02/21 by Ben.Marsh
UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.
Change 3315942 on 2017/02/21 by Ben.Marsh
UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.
Change 3316236 on 2017/02/22 by Maciej.Mroz
#jira UE-42045
Nativization
Fixed Warning: TEnumAsByte is not intended for use with enum
Change 3316253 on 2017/02/22 by Robert.Manuszewski
Fixes for the async log file writer hangs and crashes.
- potential fix for the logging system hang when running out of disk space while flushing log
- fix for unexpected concurrency assert when flushing the log buffer to disk
Change 3316293 on 2017/02/22 by Steve.Robb
GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.
Change 3316342 on 2017/02/22 by Maciej.Mroz
Nativization: Wrappers (stubs) required only by other wrappers are properly generated.
#codereview: Mike.Beach
Change 3316344 on 2017/02/22 by Maciej.Mroz
Fixed crash in nativized Odin
Async loading properly handles nativized structs.
Change 3316359 on 2017/02/22 by Steve.Robb
GitHub #3287 : Ignore #pragma in USTRUCTs
#jira UE-42248
Change 3316389 on 2017/02/22 by Matthew.Griffin
Switched Installed Engine Filters to multiline properties to make them more readable
Added Oodle to list of excluded plugins
#jira UE-42030
Change 3316392 on 2017/02/22 by Ben.Marsh
UBT: Split out FileReference/DirectoryReference classes into their own file.
Change 3316394 on 2017/02/22 by Ben.Marsh
UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.
Change 3316411 on 2017/02/22 by Ben.Marsh
UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.
Change 3316446 on 2017/02/22 by Ben.Marsh
UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.
Change 3316575 on 2017/02/22 by Ben.Marsh
UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.
Change 3318481 on 2017/02/22 by Steve.Robb
Use of FMath::IsPowerOfTwo in check.
Static assert to ensure that an inline set allocator will have a hash size of a power of two.
Change 3318496 on 2017/02/22 by Steve.Robb
Fix for TSet visualizers.
Change 3318919 on 2017/02/23 by Steve.Robb
Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.
#jira UE-42178
Change 3318942 on 2017/02/23 by Steve.Robb
Removal of a redundant insertion which can cause problems on reallocation of the map.
Change 3319010 on 2017/02/23 by Ben.Marsh
UBT: Fix exception when a file that was previously part of the working set is deleted.
Change 3319134 on 2017/02/23 by Robert.Manuszewski
Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.
Change 3319249 on 2017/02/23 by Matthew.Griffin
Added a function to check if running with debug game libs instead of checking command line in multiple places
Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
Removed -Shipping argument from VCProject generation as it's not used anymore
Change 3319253 on 2017/02/23 by Maciej.Mroz
#jira UE-41846
New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.
Change 3319591 on 2017/02/23 by Ben.Marsh
Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.
Change 3320357 on 2017/02/23 by Steven.Hutton
Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.
Change 3320361 on 2017/02/23 by Steven.Hutton
Performance improvements subsequent to the recent database changes.
Change 3320446 on 2017/02/23 by Steven.Hutton
adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.
Change 3320479 on 2017/02/23 by Ben.Marsh
Fix CIS errors.
Change 3320576 on 2017/02/23 by Jin.Zhang
Update CrashReporter to use AWS
Change 3320742 on 2017/02/23 by Jin.Zhang
Merging crash caching
Change 3321119 on 2017/02/24 by Robert.Manuszewski
DLL injection protection support for non-monolithic builds
Change 3323308 on 2017/02/27 by Matthew.Griffin
Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future
Change 3323423 on 2017/02/27 by Chad.Garyet
Adding a script to check and warn about csproj targeted .net versions being mismatched
#JIRA UE-39624
Change 3323442 on 2017/02/27 by Ben.Marsh
UBT: Output an error if an engine module references a game module.
Change 3323743 on 2017/02/27 by Ben.Marsh
PR #3303: Resolved PVS scan issues (Contributed by projectgheist)
Change 3323748 on 2017/02/27 by Ben.Marsh
Convert whitespace to tabs.
Change 3324851 on 2017/02/28 by Chris.Wood
Add Odin symbol locations to engine config for MDD on CR server.
NotForLicensees
Change 3324979 on 2017/02/28 by Gil.Gribb
Fixed bad merge of priority change in the EDL.
Change 3326889 on 2017/03/01 by Steven.Hutton
Update to buggs controller to generate faster queries.
Change 3326910 on 2017/03/01 by Robert.Manuszewski
Removing legacy #if from PackageFileSummary.
Change 3327118 on 2017/03/01 by Gil.Gribb
UE4 - Fixed race that resulted in a memory leak when reading compressed paks.
Change 3327633 on 2017/03/01 by Gil.Gribb
UE4 - Added a cvar to control the pak precacher thottle.
Change 3327674 on 2017/03/01 by Steve.Robb
Unified boilerplate between all generated code files.
Change 3328544 on 2017/03/01 by Chris.Wood
CrashReportProcess.config update (CRP v1.2.17)
Tweaks to a few values.
Update website URL to explicitly point to old, non-cloud site on devweb-02.
Change 3328714 on 2017/03/01 by Chris.Wood
Correct CRP config regression. Point website at new cloud site. Still v1.2.17
Change 3329192 on 2017/03/02 by Matthew.Griffin
Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build
Change 3329285 on 2017/03/02 by Ben.Marsh
UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.
Change 3330636 on 2017/03/02 by Ben.Marsh
UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.
Change 3331262 on 2017/03/03 by Robert.Manuszewski
Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)
- Improved GC multithreading
- Improved BeginDestroy performance
- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
- A few improvements to AddReferencedObjects functions
- Misc improvements to GC code
- Garbage Collector now properly handles clusters which had their objects marked as pending kill
- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)
Change 3331285 on 2017/03/03 by Robert.Manuszewski
A few fixes for the previous check-in.
Change 3332001 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.
Change 3332022 on 2017/03/03 by Ben.Marsh
Update documentation for where to find the BuildConfiguration settings.
Change 3332031 on 2017/03/03 by Ben.Marsh
Remove documentation for Windows XP support; it has been removed in the 4.16 release.
Change 3332256 on 2017/03/03 by Ben.Marsh
UBT: Add support for generating a UDN page containing module and target settings.
Change 3332458 on 2017/03/03 by Ben.Marsh
UBT: Improvements to generated documentation.
Change 3332459 on 2017/03/03 by Ben.Marsh
Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.
Change 3332460 on 2017/03/03 by Ben.Marsh
UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.
Change 3332899 on 2017/03/06 by Robert.Manuszewski
Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)
#jira UE-42548
Change 3332955 on 2017/03/06 by Maciej.Mroz
Nativization distinguishes client and server platform:
- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
- Wrappers (for unconverted BPs) are created only when they are directly called.
- Fortnite dedicated server can be nativized
Change 3332990 on 2017/03/06 by Ben.Marsh
UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.
Change 3333032 on 2017/03/06 by Ben.Marsh
Documentation for build tools
Change 3333037 on 2017/03/06 by Ben.Marsh
Add a build step to extract UAT and UBT documentation from XML comments.
Change 3333089 on 2017/03/06 by Ben.Marsh
UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.
Change 3333651 on 2017/03/06 by Gil.Gribb
UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.
Change 3335236 on 2017/03/07 by Ben.Marsh
UGS: Set the sync changelist separately to the compatibility changelist.
Change 3335261 on 2017/03/07 by Gil.Gribb
UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.
Change 3335740 on 2017/03/07 by Gil.Gribb
maybe fix static analysis warning
Change 3335945 on 2017/03/07 by Steve.Robb
Move FFindInstancedReferenceSubobjectHelper code out of header.
Add map/set property support to allow instanced members of these container types to be handled during CPFUO.
https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html
Change 3336693 on 2017/03/07 by Ben.Marsh
UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
Change 3336694 on 2017/03/07 by Steve.Robb
Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
Fixes to types which relied on implicit conversions when calling GetTypeHash.
Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.
#jira UE-42441
Change 3336698 on 2017/03/07 by Steve.Robb
Hardcoded endpoint handling replaced with a generic string.
Obsolete .proto and .java code generation removed.
Change 3336811 on 2017/03/07 by Wes.Hunt
Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.
Change 3336973 on 2017/03/08 by Steve.Robb
Fix for missing GetTypeHash in a plugin.
Change 3336996 on 2017/03/08 by Steve.Robb
Significant refactor of code generation, to try and make data flow more apparent.
Change 3337571 on 2017/03/08 by Steve.Robb
CIS fixes for missing GetTypeHash functions.
Non-unity fix.
Change 3337588 on 2017/03/08 by Gil.Gribb
UE4 - Fixed obscure check with flushing rhi resources.
Change 3337620 on 2017/03/08 by Steve.Robb
WITH_HOT_RELOAD_CTORS macros removed.
UseVTableConstructors config option removed.
Change 3339369 on 2017/03/09 by Steve.Robb
GetTypeHash overload for nn::account::Uid.
Change 3339464 on 2017/03/09 by Daniel.Lamb
Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
#jira UE-42583
#test Editor + Cook + Run shootergame
Change 3339465 on 2017/03/09 by Maciej.Mroz
Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.
Change 3339469 on 2017/03/09 by Maciej.Mroz
Fixed Nativization problem, when default value is passed as non-const reference.
Change 3340178 on 2017/03/09 by Daniel.Lamb
Added support for in memory only packages. The Cooker ignores these and added core functions to recognize these packages.
Other systems will need to add support where nessisary.
Change 3341002 on 2017/03/10 by Maciej.Mroz
Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.
Change 3341076 on 2017/03/10 by Steve.Robb
Fix for FBakedTextureSourceInfo move semantics.
#jira UE-42658
Change 3341160 on 2017/03/10 by Gil.Gribb
UE4 - Fix hazard with SetMaterialUsage from a thread.
Change 3341409 on 2017/03/10 by Steve.Robb
Reduction of the generated code size for StaticRegisterNatives functions.
Change 3341523 on 2017/03/10 by Steve.Robb
Code generation simplified.
Change 3341800 on 2017/03/10 by Ben.Marsh
UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.
Change 3342034 on 2017/03/10 by Ben.Marsh
Fix compiler setting not being loaded correctly into the Windows target settings dialog.
#jira UE-42746
Change 3342041 on 2017/03/10 by Ben.Marsh
Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.
Change 3342094 on 2017/03/10 by Steve.Robb
Fix to deteministic name order during code generation.
Change 3342251 on 2017/03/10 by Daniel.Lamb
Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
#thanks Tim.Hagberg
#test None
Change 3342961 on 2017/03/13 by Robert.Manuszewski
Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.
#jira FORT-38977
Change 3343022 on 2017/03/13 by Steve.Robb
GetTypeHash fixes for FUniqueNetIdLive.
#jira UE-42788
Change 3343448 on 2017/03/13 by Steve.Robb
Compiled-in defer object order fixed.
Debuggability of the deferred registration map improved.
#jira UE-42828
[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
|
|
|
* @param VTableOut The destination to write vtable helpers to.
|
|
|
|
|
* @param StandardUObjectConstructorsMacroCall The destination to write standard constructor macros to.
|
|
|
|
|
* @param EnhancedUObjectConstructorsMacroCall The destination to write enhanced constructor macros to.
|
|
|
|
|
* @param ConstructorsMacroPrefix Prefix for constructors macro.
|
|
|
|
|
* @param Class Class for which to export macros.
|
2014-10-10 04:34:56 -04:00
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static void ExportConstructorsMacros(FOutputDevice& OutGeneratedHeaderText, FOutputDevice& VTableOut, FOutputDevice& StandardUObjectConstructorsMacroCall, FOutputDevice& EnhancedUObjectConstructorsMacroCall, const FString& ConstructorsMacroPrefix, FUnrealClassDefinitionInfo& ClassDef, const TCHAR* APIArg);
|
2014-10-10 04:34:56 -04:00
|
|
|
|
2021-04-15 13:44:34 -04:00
|
|
|
/**
|
|
|
|
|
* Gets string with function return type.
|
|
|
|
|
*
|
|
|
|
|
* @param Function Function to get return type of.
|
|
|
|
|
* @return FString with function return type.
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static FString GetFunctionReturnString(FUnrealFunctionDefinitionInfo& FunctionDef, FReferenceGatherers& OutReferenceGatherers);
|
2021-04-15 13:44:34 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Gets string with function parameters (with names).
|
|
|
|
|
*
|
|
|
|
|
* @param Function Function to get parameters of.
|
|
|
|
|
* @return FString with function parameters.
|
|
|
|
|
*/
|
2021-05-21 07:29:12 -04:00
|
|
|
static FString GetFunctionParameterString(FUnrealFunctionDefinitionInfo& FunctionDef, FReferenceGatherers& OutReferenceGatherers);
|
2021-04-15 13:44:34 -04:00
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
public:
|
|
|
|
|
|
2021-11-18 14:37:34 -05:00
|
|
|
// @todo: BP2CPP_remove
|
2019-12-13 11:07:03 -05:00
|
|
|
template <typename T>
|
2021-11-18 14:37:34 -05:00
|
|
|
UE_DEPRECATED(5.0, "This method is no longer in use and will be removed.")
|
2019-12-13 11:07:03 -05:00
|
|
|
static FString GetOverriddenName(const T* Item)
|
|
|
|
|
{
|
|
|
|
|
const FString& OverriddenName = Item->GetMetaData(TEXT("OverrideNativeName"));
|
|
|
|
|
if (!OverriddenName.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
return OverriddenName.ReplaceCharWithEscapedChar();
|
|
|
|
|
}
|
|
|
|
|
return Item->GetName();
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-18 14:37:34 -05:00
|
|
|
// @todo: BP2CPP_remove
|
2019-12-13 11:07:03 -05:00
|
|
|
template <typename T>
|
2021-11-18 14:37:34 -05:00
|
|
|
UE_DEPRECATED(5.0, "This method is no longer in use and will be removed.")
|
2021-05-25 09:43:57 -04:00
|
|
|
static FString GetOverriddenName(const T& Item)
|
2019-12-13 11:07:03 -05:00
|
|
|
{
|
2021-05-25 09:43:57 -04:00
|
|
|
const FString& OverriddenName = Item.GetMetaData(TEXT("OverrideNativeName"));
|
|
|
|
|
if (!OverriddenName.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
return OverriddenName.ReplaceCharWithEscapedChar();
|
|
|
|
|
}
|
|
|
|
|
return Item.GetName();
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-18 14:37:34 -05:00
|
|
|
// @todo: BP2CPP_remove
|
2021-05-25 09:43:57 -04:00
|
|
|
template <typename T>
|
2021-11-18 14:37:34 -05:00
|
|
|
UE_DEPRECATED(5.0, "This method is no longer in use and will be removed.")
|
2021-05-25 09:43:57 -04:00
|
|
|
static FName GetOverriddenFName(const T& Item)
|
|
|
|
|
{
|
|
|
|
|
FString OverriddenName = Item.GetMetaData(TEXT("OverrideNativeName"));
|
2019-12-13 11:07:03 -05:00
|
|
|
if (!OverriddenName.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
return FName(*OverriddenName);
|
|
|
|
|
}
|
2021-05-25 09:43:57 -04:00
|
|
|
return Item.GetFName();
|
2019-12-13 11:07:03 -05:00
|
|
|
}
|
|
|
|
|
|
2021-11-18 14:37:34 -05:00
|
|
|
// @todo: BP2CPP_remove
|
2021-05-25 09:43:57 -04:00
|
|
|
template <typename T>
|
2021-11-18 14:37:34 -05:00
|
|
|
UE_DEPRECATED(5.0, "This method is no longer in use and will be removed.")
|
2021-05-25 09:43:57 -04:00
|
|
|
static FString GetOverriddenPathName(const T& Def)
|
2019-12-13 11:07:03 -05:00
|
|
|
{
|
2021-05-25 09:43:57 -04:00
|
|
|
return FString::Printf(TEXT("%s.%s"), *Def.GetTypePackageName(), *GetOverriddenName(Def));
|
2019-12-13 11:07:03 -05:00
|
|
|
}
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
|
2014-12-08 07:30:42 -05:00
|
|
|
/**
|
2021-04-15 13:44:34 -04:00
|
|
|
* Generate all the sources
|
|
|
|
|
*
|
|
|
|
|
* @param GeneratedCPPs Complete list of all source files being generated.
|
2014-12-08 07:30:42 -05:00
|
|
|
*/
|
2021-04-15 13:44:34 -04:00
|
|
|
static void GenerateSourceFiles(TArray<FGeneratedCPP>& GeneratedCPPs);
|
2014-12-08 07:30:42 -05:00
|
|
|
|
2021-06-22 15:27:11 -04:00
|
|
|
/**
|
|
|
|
|
* Load a single source file
|
|
|
|
|
*
|
|
|
|
|
* @parm GeneratedCPP Single source file to load
|
|
|
|
|
* @return True if the source file is to be exported, false if not.
|
|
|
|
|
*/
|
|
|
|
|
static bool LoadSourceFile(FGeneratedCPP& GeneratedCPP);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Generate a single source file
|
|
|
|
|
*
|
|
|
|
|
* @parm GeneratedCPP Single source file to generate
|
|
|
|
|
*/
|
|
|
|
|
static void GenerateSourceFile(FGeneratedCPP& GeneratedCPP);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Write the generated files
|
|
|
|
|
*
|
|
|
|
|
* @parm GeneratedCPP Single source file to write
|
|
|
|
|
*/
|
|
|
|
|
static void WriteSourceFile(FGeneratedCPP& GeneratedCPP);
|
|
|
|
|
|
2014-12-08 07:30:42 -05:00
|
|
|
/**
|
2021-04-15 13:44:34 -04:00
|
|
|
* Generate all the extra output files for the given package.
|
|
|
|
|
*
|
|
|
|
|
* @param PackageDef The Package definition in question.
|
|
|
|
|
* @param GeneratedCPPs Complete list of all source files being generated.
|
2015-04-20 06:19:21 -04:00
|
|
|
*/
|
2021-04-15 13:44:34 -04:00
|
|
|
static void Generate(FUnrealPackageDefinitionInfo& PackageDef, TArray<FGeneratedCPP>& GeneratedCPPs);
|
2014-03-14 14:13:41 -04:00
|
|
|
};
|
2020-01-14 11:48:31 -05:00
|
|
|
|