Commit Graph

46 Commits

Author SHA1 Message Date
Ben Marsh
7c77078af1 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
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f 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
Ben Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

Change 3180343 on 2016/10/31 by Steve.Robb

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

Change 3196582 on 2016/11/14 by Gil.Gribb

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

Change 3201938 on 2016/11/17 by Ben.Woodhouse

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Mike Beach
4578fc38d7 Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3042808)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3026763 on 2016/06/24 by Phillip.Kavan

	[UE-32259] Fix missing heat map coloration on pure nodes.

	change summary:
	- modified FScriptExecutionNode::RefreshStats() to ensure that child nodes are updated for 'standard' exec node types.

	#jira UE-32259

Change 3026829 on 2016/06/24 by Mike.Beach

	Mirroring CL 3025832 from Release-4.12

	Guarding GetClassDefault nodes against asserts while loading cyclically dependent content. Regenerating one Blueprint could trigger a ReconstructNode() in a separate Blueprint (that had already been regenerated). However, not all objects in that Blueprint's package have been post-loaded, so object Rename() will assert is you try to reset loaders with it.

	#jira UE-32356

Change 3026888 on 2016/06/24 by Mike.Beach

	PR #2460: Functionality to flag blueprint as abstract (Contributed by Pierdek)

Change 3027245 on 2016/06/24 by Phillip.Kavan

	[UEBP-180] Alternate treatment for Blueprint profiler tree view node expander icon (to differentiate from exec pin icons).

	change summary:
	- added SProfilerStatExpander (from BenC)
	- modified original to replace indicator icons w/ FontAwesome glyphs (they're a bit clearer) - see screenshot attached to JIRA

	#jira UEBP-180

Change 3027279 on 2016/06/24 by Ryan.Rauschkolb

	Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash
	#jira UE-31148

Change 3027606 on 2016/06/25 by Dan.Oconnor

	Back out changelist 3027279, this change breaks custom events coupled to multicast delegate nodes (see ProjRocket.uasset in shooter game for an example)

Change 3028731 on 2016/06/27 by Ben.Cosh

	Minor change to the spacing around the new expander icons for the blueprint profiler.
	#Jira UEBP-180 - Pin icons are too similar to the tree expander icons in the node execution graph display.
	#Proj Kismet

Change 3028740 on 2016/06/27 by Ben.Cosh

	This change modifies the way the blueprint profiler detects and maps delegate events that are created at blueprint compile time.
	#Jira UE-32055 - Assert when profiling timelines in the blueprint profiler
	#Proj BlueprintProfiler, KismetCompiler, BlueprintGraph, LiveEditor, Kismet, Engine

Change 3028844 on 2016/06/27 by Maciej.Mroz

	#jira UE-32470 Nativized Orion: Sparrow has no Rentless ability.

	Better way to find Placeholder classes in BlueprintNativeCodeGenModule.

Change 3029573 on 2016/06/27 by Ryan.Rauschkolb

	Fixed issue where Preview Connection would be drawn incorrectly when an input and output pin share the same name
	#jira UE-32211

Change 3030335 on 2016/06/28 by Maciej.Mroz

	#jira UE-30858 Nativized Orion - Some particle effects are not rendering

	List of AssetRegistrySearchable properties, that should be stored for DynamicClasses in moved to .ini file.
	Added SearchDynamicClassCues function in GameplayCueManager.cpp

Change 3030492 on 2016/06/28 by Ben.Cosh

	CIS Mac Build fix

Change 3030494 on 2016/06/28 by Ben.Cosh

	This change reworks the way the blueprint profiler maps latent re-entry points to address problems that could be triggered when multiple re-entries happenned within close proximity.
	#Jira UE-32452 - Blueprint profiler asserts when a second latent entry is triggered
	#Proj BlueprintProfiler, CoreUObject, Engine, Kismet

Change 3030612 on 2016/06/28 by Maciej.Mroz

	typo fixed

Change 3031461 on 2016/06/28 by Dan.Oconnor

	Fixed for crash involving a stale UEdGraphPin after performing an undo/redo operation inolving UEdGraphNode(s)
	#jira UE-32553

Change 3031537 on 2016/06/28 by Ben.Cosh

	Fix for a problem introduced in CL 3030494 and recent graph pin changes that caused problems uniquely naming tunnel entry/exit pins.
	#Jira UE-32578 - Crash when profiling blueprint containing a for-loop
	#Proj BlueprintProfiler

Change 3031556 on 2016/06/28 by Ben.Cosh

	This fixes a problem with the profiler tracking of PIE actor instances adding a mechanism to refresh the actor references when a subsequent PIE session is started.
	#Jira UE-32595 - Running two subsequent PIE sessions with a latent entry point causes an assert.
	#Proj BlueprintProfiler, Kismet

Change 3031588 on 2016/06/28 by Ryan.Rauschkolb

	Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash
	#jira UE-31148

Change 3031887 on 2016/06/28 by Dan.Oconnor

	Fix for crash caused by stale pin access in SGraphPin, also fixes 'double opacity' effect when ctrl+dragging off of a macro
	#jira UE-32604

Change 3031932 on 2016/06/28 by Dan.Oconnor

	Fix for major regression in pin value visibility
	#jira UE-32614

Change 3032568 on 2016/06/29 by Phillip.Kavan

	[UE-31681] Ensure that cached component data cache template objects are referenced during garbage collection.

	change summary:
	- modified AActor::AddReferencedObjects() to include CurrentTransactionAnnotation
	- added UChildActorComponent::AddReferencedObjects() to include CachedInstanceData
	- also added FChildActorComponentInstanceData::AddReferencedObjects() to include ComponentInstanceData (just in case some future task happens to trigger a reference gather during its lifetime)

	additional notes:
	- should also resolve UE-32558

	#jira UE-31681

Change 3032998 on 2016/06/29 by Dan.Oconnor

	Fixing shutdown crash after LinkedTo lists are corrupted. An ensure couldn't fire when a node had already been destroyed. UE-32631 tracks the actual ensure.
	#jira UE-32634

Change 3033448 on 2016/06/29 by Ryan.Rauschkolb

	Discard Return Nodes that have no outputs when collapsing to function
	#jira UE-23381

Change 3034407 on 2016/06/30 by Phillip.Kavan

	[UE-32675] Fix no-editor compile issue.

Change 3034691 on 2016/06/30 by Ryan.Rauschkolb

	Fixed issue where Macro nodes with ambiguous links could be collapsed into a function

Change 3034701 on 2016/06/30 by Ryan.Rauschkolb

	Cleaned up UEdGraphSchema_K2::GetVariableTypeTree to use a filter rather than several booleans

Change 3035093 on 2016/06/30 by Maciej.Mroz

	#jira UE-32683 BP_Hero Blueprint failing to compile in Orion - K2Node_CustomEvent_1050 is out of date

	Temporary fix.

Change 3035440 on 2016/07/01 by Maciej.Mroz

	#jira UE-32706 Nativized Orion crash - Cannot find "Root" subobject in ABP_HeroPedestal_C...

	Make sure, the CDO of DynamicClass (and its subobjects) have AsyncLoading flag cleared.

Change 3035442 on 2016/07/01 by Maciej.Mroz

	Added UDynamicClass::FindArchetype

	#jira UE-30667 Ground material in Agora incorrect in Nativized Orion

Change 3036233 on 2016/07/01 by Dan.Oconnor

	Proper handling of null pin references in compiler results logs

Change 3036541 on 2016/07/01 by Dan.Oconnor

	Fix for more assymetry in LinkedTo after undo/redo. This solution addresses both UE-32645 and UE-32553. The key to correct behavior is to explictly detect the case where only one of the two nodes in a peer (LinkedTo) relationship are in the transaction buffer. Added IsObjectTransacting to transaction interface to detect this.
	#jira UE-32645

Change 3036581 on 2016/07/02 by Dan.Oconnor

	Non-editor fix

Change 3036632 on 2016/07/02 by Maciej.Mroz

	Removed too strict check in BlueprintNativeCodeGenModule

Change 3036715 on 2016/07/02 by Maciej.Mroz

	#jira UE-32612 Odin emits a error when nativized - attempting to access a hidden boolean bitfield property

	- Private bitfield can be used as LHS expression in generated code.
	- Refactoring. Introduced ENativizedTermUsage.

Change 3037014 on 2016/07/04 by Maciej.Mroz

	#jira UE-32729 Orion failing to package for PS4 with Nativization

	Make sure that temporary variable used in ternary operator: "context ? context->variable : temp-variable", has exactly the same type as the wanted variable.

Change 3037300 on 2016/07/05 by Maciej.Mroz

	#jira UE-31756 Fixup hardcoded function names in BP=>Cpp backend

Change 3037303 on 2016/07/05 by Maciej.Mroz

	#jira UE-31756
	Nativization - fixed hardcoded string.

Change 3037307 on 2016/07/05 by Maciej.Mroz

	AutomationTool:
	Fixed issue: A nativized client was compiled with both client and server NativizedAssets plugins.

	Paths to nativized BP plugin is stored in a map.

Change 3037712 on 2016/07/05 by Mike.Beach

	Adding a non-const version of MultiFindPointer() for TMultiMap.

Change 3037790 on 2016/07/05 by Mike.Beach

	Fixing a bug where overridden components in Blueprints could load with cleared properties - this could happen in cyclically dependent parent/child Blueprints (where the child's component would be zeroed). In this case, the Blueprint's CDO would be deferred, so to solve this new issue we now defer the Blueprint's sub-object overrides as well.

	#jira UE-32693

Change 3038014 on 2016/07/05 by Ben.Cosh

	Refactor of the blueprint profiler tunnel mapping and playback to address issues blocking MVP
	#Jira UE-32056 - The blueprint profiler can still get hung up with cyclic links in the graph
	#Proj Kismet, BlueprintProfiler, KismetCompiler, BlueprintGraph, UnrealEd

Change 3038533 on 2016/07/05 by Mike.Beach

	PR #2558: Stopping Zoom-to-Fit On User Input (Fixed) (Contributed by MichaelSchoell)

Change 3038608 on 2016/07/05 by Dan.Oconnor

	Fix for crash when altering ConstructObjectFromClass nodes, removed now unused InvalidateAndTrash function from UEdGraphPin, removed subpin leak counter
	#jira FORT-26495

Change 3038770 on 2016/07/05 by Dan.Oconnor

	Hiding  TThreadSingleton<FBlueprintExceptionTracker>::Get() to fix clang for windows link error
	#jira UE-31935

Change 3038841 on 2016/07/05 by Dan.Oconnor

	Simple null check to prevent crash after loading a blueprint to diff. The diff'd blueprint is ending up in other blueprint's DependentBlueprintsToRecompile, for now this is the safest fix
	#jira UE-31115

Change 3039179 on 2016/07/06 by Maciej.Mroz

	#jira UE-31987 Editor crashes when transforming actor after applying instances changes

	Selected (in Level editor) instance components are still selected after they are converted to regular components.

Change 3039216 on 2016/07/06 by Maciej.Mroz

	#jira UE-31767 [CrashReport] UE4Editor_Engine!AActor::GetLevel() [actor.cpp:1663]

	FIxed unsafe code.

Change 3040046 on 2016/07/06 by Ben.Cosh

	This fixes a problem found where tunnel instances inside tunnel graphs fail to map correctly in the blueprint profiler
	#Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler
	#Proj BlueprintProfiler

Change 3040061 on 2016/07/06 by Ben.Cosh

	fix for bad unshelve before submit in CL 3040046

	- Phillip already reviewed this version of the file and not what was actually submitted.

Change 3040346 on 2016/07/06 by Maciej.Mroz

	#jira UE-32840 //UE4/Dev-Blueprints: UE4_StaticAnalysis completed with Warnings - 2 Warnings

	Fix(?)  for warning C28182

Change 3040349 on 2016/07/06 by Dan.Oconnor

	Updating test data

Change 3040473 on 2016/07/06 by Dan.Oconnor

	Fix SMyBlueprint in blueprint diff tool so that kismet inspector is updated with the object selected in SMyBlueprint, needed to investigate UE-18200

Change 3040536 on 2016/07/06 by Dan.Oconnor

	Call to APITestFunction

Change 3040565 on 2016/07/06 by Dan.Oconnor

	Clone saved GeneratedClass when not doing COL. Groundwork to fix for UE-17268.

Change 3040603 on 2016/07/06 by Dan.Oconnor

	PR #2539: Option to disable Grid in the blueprint and material editor and change grid colors (Contributed by CelPlays)

	#jira UE-32497

Change 3040798 on 2016/07/07 by Maciej.Mroz

	Fixed warning C6011: Dereferencing NULL pointer 'Object'.
	Added some comments.

	#jira UE-32840

Change 3041185 on 2016/07/07 by Ben.Cosh

	This fixes problems with the blueprint profiler with name collisions for nodes in different graphs and improves nested tunnel detection.
	#Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler
	#Jira UE-32889 - Name collisions can now occur in the blueprint profiler for stat nodes.
	#Proj BlueprintProfiler, Kismet

	Notes:

	This attempts to continue to address fall out from CL 3040046 to improve stability.
	Previously execution nodes were patched into the function contexts that called a tunnel instance. However this proved problematic after spotting a rare case where node names collide between
	between event and tunnel graphs and caused havok in the node mapping. This change moves to an approach that patches in tunnel contexts and any dependent contexts and instead attempts
	to locate critical path nodes using a new node search system making use of these child function contexts.

	CL 3040046 also modified TunnelContext's to be actually more representative of a tunnel instance context, I have updated naming conventions to reflect this for clarity.
	The changes here also add a single function context for tunnel graphs which contain the bulk of the nodes in the graph and the tunnel instance contexts reference this and make use of it to create
	non boundary / tunnel instance nodes so they are located in a single place for all instances of that tunnel graph.

Change 3041603 on 2016/07/07 by Dan.Oconnor

	Fix for check failure: PreviousCDO != nullptr, when loading blueprints that have circularly dependent interfaces
	#jira UE-31639

Change 3042058 on 2016/07/07 by Dan.Oconnor

	Ensures that the correct ComponentClass is assigned to our template node. This pins are normally allocated lazilly in BlueprintActionFilterImpl::HasMatchingPin, so not a huge change
	#jira UE-32769

Change 3042468 on 2016/07/08 by Maciej.Mroz

	#jira UE-32882, UE-32887

	Fixed Crash in UHT.
	Fixed "Ambiguous search" error, when delegate has owner class declared.

Change 3042739 on 2016/07/08 by Maciej.Mroz

	Nativization. Included headers for native subobjects.

Change 3042747 on 2016/07/08 by Maciej.Mroz

	Minor changes in Orion code, necessary to compile the project with nativized Blueprints

Change 3042758 on 2016/07/08 by Maciej.Mroz

	"OrionGame.h" is included in NativizedAssets module.

[CL 3043181 by Mike Beach in Main branch]
2016-07-08 14:59:19 -04:00
Marc Audy
eb44cd9882 Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden
#rb None

[CL 3016298 by Marc Audy in Main branch]
2016-06-16 11:54:44 -04:00
Unrealbot
3f463d80d4 Branch snapshot for CL 2959226
[CL 2959226 in Main branch]
2016-04-28 13:50:05 -04:00
Mike Beach
44cb18a444 Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2806214 on 2015/12/16 by Michael.Schoell

	Connection draw policy refactored into a factory system.

	PR#1663
	#jira UE-22123 - GitHub 1663 : Implement PinConnectionPolicy factory system

Change 2806845 on 2015/12/17 by Maciej.Mroz

	Blueprint C++ Conversion: fixed varioaus problem.
	Some limitations of included header list were reverted :(
	Any compilation-time optimization are premature (as far as Orion cannot be compiled).

	#codereview Dan.Oconnor

Change 2806892 on 2015/12/17 by Maciej.Mroz

	Blueprint C++ Conversion: fixed compilation error "fatal error C1001: An internal error has occurred in the compiler."

Change 2807020 on 2015/12/17 by Michael.Schoell

	Recursively expand all tree items in graph context menus or My Blueprint window by holding shift when clicking on an arrow.

Change 2807639 on 2015/12/17 by Maciej.Mroz

	BP C++ conversion: Fix for const-correctness. Included generated headers in structs.

Change 2807880 on 2015/12/17 by Mike.Beach

	PR #1865 : Render Kismet graph pin color box with alpha
	https://github.com/EpicGames/UnrealEngine/pull/1865

	#github 1865
	#1865

	#jira UE-23863

Change 2808538 on 2015/12/18 by Maciej.Mroz

	Workaround for UE-24467. Some corrupted files can be opened and fixed.

	#codereivew Dan.Oconnor, Michael.Schoell

Change 2808540 on 2015/12/18 by Maciej.Mroz

	BP C++ conversion: fixed const-correctness related issues

Change 2809333 on 2015/12/18 by Phillip.Kavan

	[UE-23452] SCS/UCS component instancing optimizations

	change summary:
	- added FArchive::FCustomPropertyListNode
	- modified various parts of serialization code to accomodate custom property lists
	- added cooked component instancing data + supporting APIs to UBlueprintGeneratedClass

Change 2810216 on 2015/12/21 by Maciej.Mroz

	Blueprint C++ Conversion:
	- Fixed Compiler Error C2026 (too big string)
	- Fixed a lot of errors related to const correctness. "NativeConst" and "NativeConstTemplateArg" MetaData added.
	- Fixed bunch of problems with TEnumAsByte
	- Fixed for error C2059: syntax error : 'bad suffix on number' - when struct name starts with a digit
	- Fixed int -> bool  conversion

	#codereview Mike.Beach, Dan.Oconnor, Steve.Robb

Change 2810397 on 2015/12/21 by Maciej.Mroz

	Blueprint C++ Conversion: Fixed Compiler Error C1091 (too big string)

Change 2810638 on 2015/12/21 by Dan.Oconnor

	Timers for measuring VM overhead, stats for tracking individual script functions improved (now nicludes ProcessEvent). Stats system is expected to avoid double counting for object and function stats.

Change 2811038 on 2015/12/22 by Phillip.Kavan

	[UE-23452] Fix uninitialized variables in cooked component data.

	- should eliminate crashes introduced by last change

Change 2811054 on 2015/12/22 by Phillip.Kavan

	[UE-23452] Additional fix for uninitialized USTRUCT property.

Change 2811254 on 2015/12/22 by Dan.Oconnor

	More script function detail in stats

Change 2811325 on 2015/12/22 by Maciej.Mroz

	Blueprint C++ Conversion: improved: ExcludedBlueprintTypes list

	#codereview Dan.Oconnor

Change 2812316 on 2015/12/24 by Michael.Schoell

	Added more ByValue/ByRef test cases and added a way to dump all tests that are no longer succeeding.

	Tests Include:
	Verification that functions take and can modify by-ref values.
	ForEach loop verification. Tests for verifying that current functionality will continue to work after COPY injection and that "expected" functionality will work (and currently doesn't).
	More MegaArray tests.

Change 2812318 on 2015/12/24 by Michael.Schoell

	Usability fix: Duplicating graphs in the MyBP window will now open and focus the new graph.

Change 2813179 on 2015/12/29 by Michael.Schoell

	When promoting pins to variables, will no longer carry bIsReference, bIsConst, or bIsWeakPointer value to the new variable's type.

Change 2813435 on 2015/12/30 by Michael.Schoell

	Submitting by-value/by-ref testing BP with more tests:

	More "Set Members..." tests to catch edge cases.
	More Array tests.

Change 2813441 on 2015/12/30 by Michael.Schoell

[CL 2842166 by Mike Beach in Main branch]
2016-01-25 13:25:51 -05:00
unrealbot
c597ad4ba9 Branch snapshot for CL 2842139
[CL 2842139 in Main branch]
2016-01-25 16:51:06 -05:00
Mike Beach
ea171c613e Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2806214 on 2015/12/16 by Michael.Schoell

	Connection draw policy refactored into a factory system.

	PR#1663
	#jira UE-22123 - GitHub 1663 : Implement PinConnectionPolicy factory system

Change 2806845 on 2015/12/17 by Maciej.Mroz

	Blueprint C++ Conversion: fixed varioaus problem.
	Some limitations of included header list were reverted :(
	Any compilation-time optimization are premature (as far as Orion cannot be compiled).

	#codereview Dan.Oconnor

Change 2806892 on 2015/12/17 by Maciej.Mroz

	Blueprint C++ Conversion: fixed compilation error "fatal error C1001: An internal error has occurred in the compiler."

Change 2807020 on 2015/12/17 by Michael.Schoell

	Recursively expand all tree items in graph context menus or My Blueprint window by holding shift when clicking on an arrow.

Change 2807639 on 2015/12/17 by Maciej.Mroz

	BP C++ conversion: Fix for const-correctness. Included generated headers in structs.

Change 2807880 on 2015/12/17 by Mike.Beach

	PR #1865 : Render Kismet graph pin color box with alpha
	https://github.com/EpicGames/UnrealEngine/pull/1865

	#github 1865
	#1865

	#jira UE-23863

Change 2808538 on 2015/12/18 by Maciej.Mroz

	Workaround for UE-24467. Some corrupted files can be opened and fixed.

	#codereivew Dan.Oconnor, Michael.Schoell

Change 2808540 on 2015/12/18 by Maciej.Mroz

	BP C++ conversion: fixed const-correctness related issues

Change 2809333 on 2015/12/18 by Phillip.Kavan

	[UE-23452] SCS/UCS component instancing optimizations

	change summary:
	- added FArchive::FCustomPropertyListNode
	- modified various parts of serialization code to accomodate custom property lists
	- added cooked component instancing data + supporting APIs to UBlueprintGeneratedClass

Change 2810216 on 2015/12/21 by Maciej.Mroz

	Blueprint C++ Conversion:
	- Fixed Compiler Error C2026 (too big string)
	- Fixed a lot of errors related to const correctness. "NativeConst" and "NativeConstTemplateArg" MetaData added.
	- Fixed bunch of problems with TEnumAsByte
	- Fixed for error C2059: syntax error : 'bad suffix on number' - when struct name starts with a digit
	- Fixed int -> bool  conversion

	#codereview Mike.Beach, Dan.Oconnor, Steve.Robb

Change 2810397 on 2015/12/21 by Maciej.Mroz

	Blueprint C++ Conversion: Fixed Compiler Error C1091 (too big string)

Change 2810638 on 2015/12/21 by Dan.Oconnor

	Timers for measuring VM overhead, stats for tracking individual script functions improved (now nicludes ProcessEvent). Stats system is expected to avoid double counting for object and function stats.

Change 2811038 on 2015/12/22 by Phillip.Kavan

	[UE-23452] Fix uninitialized variables in cooked component data.

	- should eliminate crashes introduced by last change

Change 2811054 on 2015/12/22 by Phillip.Kavan

	[UE-23452] Additional fix for uninitialized USTRUCT property.

Change 2811254 on 2015/12/22 by Dan.Oconnor

	More script function detail in stats

Change 2811325 on 2015/12/22 by Maciej.Mroz

	Blueprint C++ Conversion: improved: ExcludedBlueprintTypes list

	#codereview Dan.Oconnor

Change 2812316 on 2015/12/24 by Michael.Schoell

	Added more ByValue/ByRef test cases and added a way to dump all tests that are no longer succeeding.

	Tests Include:
	Verification that functions take and can modify by-ref values.
	ForEach loop verification. Tests for verifying that current functionality will continue to work after COPY injection and that "expected" functionality will work (and currently doesn't).
	More MegaArray tests.

Change 2812318 on 2015/12/24 by Michael.Schoell

	Usability fix: Duplicating graphs in the MyBP window will now open and focus the new graph.

Change 2813179 on 2015/12/29 by Michael.Schoell

	When promoting pins to variables, will no longer carry bIsReference, bIsConst, or bIsWeakPointer value to the new variable's type.

Change 2813435 on 2015/12/30 by Michael.Schoell

	Submitting by-value/by-ref testing BP with more tests:

	More "Set Members..." tests to catch edge cases.
	More Array tests.

Change 2813441 on 2015/12/30 by Michael.Schoell
2016-01-25 13:25:51 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Robert Manuszewski
dfc39a6ca5 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures).

	- Saves about 25ms in reachability analysis (58ms -> 33ms)
	- UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override.
	- Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them.
	- Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code
	- Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms)

Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core

	Multicast script delegate check for existing bindings replaced with ensure.
	Multicast native delegate no longer checks for existing bindings.
	Removal of old delegate code.
	Some FORCEINLINEing to improve debugging experience of stepping into delegate code.

Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster

	Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded
	Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function
	Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds.
	Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code

Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster

	Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist.

Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII

Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core

	FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected.

Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster

Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing potential dead lock when suspending and resuming async loading multiple times

Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef

Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core

	Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path.
	New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs.

Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core

	FMath::IsPowerOfTwo is now templated to take any type.

Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core

	GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself.

Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core

	GitHub #1793 - File write flags argument

Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core

	Fix for FArchiveProxy::operator<< overloads.

Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	#jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams)

Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism,  should be around 2x times faster (4x since the optimization pass)

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core

	TCachedOSPageAllocator abstracted from MallocBinned2.
	Misc tidy-ups.

Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Better indication of the loading progress, should no longer freeze without a progress bar

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core

	Warn when calling delegates' Create* functions when they're not assigned to anything.

	#codereview robert.manuszewski

Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	#UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values.

	Asset registry fixes by Bob Tellez. Possible fix for UE-23783.

Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing.

Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core

	UObject serial number array initialized for debug visualization.

Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core

	Critical sections are no longer copyable.

Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
Robert Manuszewski
f9cdeb96cd Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	GC and WeakObjectPtr performance optimizations.

	- Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray
	- Moved WeakObjectPtr serial numbersto FUObjectArray
	- Added pre-allocated UObject array

Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved.

Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920

	UHT will now use makefiles to speed up iterative runs.

Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963

	Hot-reload performance optimizations:
	1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier).
	2. Parallelized search for old CDOs referencers.

Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster

	Dependency preloading improvements
	 - Asset registry dependencies now resolve asset redirectors
	 - Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package

Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	Allow UnfocusedVolumeMultiplier to be set programmatically

Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	When cooking, don't add imports that are outers of objects excluded from the current cook target.

Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core

	Inline storage for TFunction.
	Fix for delegate inline storage on Win64.
	Some build fixes.
	Visualizer fixes for new TFunction format.

Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReporter Web - Search by Platform
	Added initial support for streams (GetBranchesAsListItems, CopyToJira)

Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core

	Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString.

Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core

	Some TSet function optimisations:

	Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent).
	Taking local copies of HashSize during iterations.

Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core

	BulkData zero byte allocations are now handled by an RAII object which owns the memory.

Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core

	FName::operator== and != optimised to be a single comparison.

Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro)

Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360)

	Also fixed starting condition.

Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus)

Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core

	PR #1540 - Specifying a different Saved folder at launch through a command line parameter

	Integrated and optimized.

#lockdown Nick.Penwarden

[CL 2772222 by Robert Manuszewski in Main branch]
2015-11-18 16:20:49 -05:00
Steve Robb
cbe5b79c73 Merging using Orion->UE4
CL# 2698724:
UHT speed improvements:

Code is now generated with tabs, rather than going through a separate Tabify step.
Some expensive temporaries created during iteration and during iteration have been removed.
FFunctionData::FunctionDataMap now uses unique ownership instead of shared ownership.
TCString::Spc (and the new TCString::Tab) now uses a compile-time array instead of one generated at runtime with a static.
TSet::Compact no longer rehashes if no compaction was performed.
TArray assignment no longer reallocs to the same capacity.

[CL 2698780 by Steve Robb in Main branch]
2015-09-21 07:53:49 -04:00
Steve Robb
1a6497d13e FPropertyBase::ImpliedPropertyFlags added to distinguish between property flags which are directly specified by UPROPERTY() and those which implicitly come from other places, like class flags or type.
Added a fix for const UCLASSes erroring out on deprecated properties, which no longer considers implied flags.

#codereview robert.manuszewski

[CL 2682399 by Steve Robb in Main branch]
2015-09-07 07:41:34 -04:00
Steve Robb
f402464961 Fix for FToken stack corruption when NAME_SIZE is changed.
#codereview robert.manuszewski

[CL 2670879 by Steve Robb in Main branch]
2015-08-27 10:22:25 -04:00
Robert Manuszewski
cff51abde4 Fixing hot-reload not updating derived classes if the base class layout changed resulting in the derived class layout changes without changing the overall class size.
[CL 2540792 by Robert Manuszewski in Main branch]
2015-05-07 05:55:26 -04:00
Steve Robb
7147a13be2 TMap properties.
#codereview robert.manuszewski

[CL 2519223 by Steve Robb in Main branch]
2015-04-21 10:25:59 -04:00
Mikolaj Sieluzycki
a342337136 UHT enforces user defined _Validate and _Implementation functions to be "virtual".
[CL 2517391 by Mikolaj Sieluzycki in Main branch]
2015-04-20 06:19:21 -04:00
Mikolaj Sieluzycki
d77f990644 Back out changelist 2515530
[CL 2515554 by Mikolaj Sieluzycki in Main branch]
2015-04-17 04:37:38 -04:00
Mikolaj Sieluzycki
cf4bc20014 UHT enforces user defined _Validate and _Implementation functions to be "virtual".
#codereview Robert.Manuszewski

[CL 2515530 by Mikolaj Sieluzycki in Main branch]
2015-04-17 04:04:20 -04:00
Michael Noland
6a3d8e112e UnrealHeaderTool: Added limited support for parsing character literals to avoid incorrectly erroring on things like '\"'
[CL 2509338 by Michael Noland in Main branch]
2015-04-10 20:25:40 -04:00
Mikolaj Sieluzycki
3483da7d5a Stop UHT from emiting warnings on missing *_Validate and *_Implementation functions
Introduce versioning system to GENERATED_*BODY macros
Search for existing functions using case sensitive and whole word match.
Move checks for existing of *_Validate and *_Implementation functions to *generated.cpp to allow changing that code in hotfixes.
#codereview Robert.Manuszewski

[CL 2508131 by Mikolaj Sieluzycki in Main branch]
2015-04-10 06:02:22 -04:00
Jaroslaw Palczynski
b8c4d83b9c Enabling UHT to digest GENERATED_BODY instead of GENERATED_*_BODY.
#codereview Robert.Manuszewski

[CL 2481360 by Jaroslaw Palczynski in Main branch]
2015-03-17 06:02:26 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.

#codereview Robert.Manuszewski

[CL 2481343 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:38:32 -04:00