2019-12-26 15:33:43 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
# include "LandscapeEditorObject.h"
2020-10-26 09:23:45 -04:00
# include "LandscapeDataAccess.h"
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 "Engine/Texture2D.h"
# include "HAL/FileManager.h"
# include "Modules/ModuleManager.h"
# include "UObject/ConstructorHelpers.h"
# include "LandscapeEditorModule.h"
2014-03-14 14:13:41 -04:00
# include "LandscapeRender.h"
2022-05-20 18:54:31 -04:00
# include "LandscapeSettings.h"
2020-10-26 09:23:45 -04:00
# include "LandscapeImportHelper.h"
2014-10-16 05:16:44 -04:00
# include "LandscapeMaterialInstanceConstant.h"
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 "Misc/ConfigCacheIni.h"
2014-11-12 04:58:53 -05:00
# include "EngineUtils.h"
Numerous non-unity fixes
#rb none
#fyi Matt.Kuhlenschmidt, jeanmichel.dignard, Mike.Zyracki, Helge.Mathee, Brett.Miller, Simon.Tovey, Alexis.Matte, Steve.Smith, Sergio.Gardeazabal, Patrick.Boutot, Martin.Ridgers, Brooke.Hubert, Patrick.Enfedaque, Roey.Borsteinas, JeanFrancois.Dube, Jose.Villaroel, John.Hable, Danny.Couture, Zach.Bethel
[CL 14786858 by Jurre deBaare in ue5-main branch]
2020-11-19 11:19:38 -04:00
# include "Misc/MessageDialog.h"
2014-05-22 07:52:43 -04:00
2016-07-18 11:58:33 -04:00
//#define LOCTEXT_NAMESPACE "LandscapeEditor"
2014-10-14 10:29:11 -04:00
ULandscapeEditorObject : : ULandscapeEditorObject ( const FObjectInitializer & ObjectInitializer )
: Super ( ObjectInitializer )
2014-03-14 14:13:41 -04:00
// Tool Settings:
, ToolStrength ( 0.3f )
, bUseWeightTargetValue ( false )
, WeightTargetValue ( 1.0f )
, MaximumValueRadius ( 10000.0f )
2019-06-05 11:09:49 -04:00
, bCombinedLayersOperation ( true )
2014-03-14 14:13:41 -04:00
, FlattenMode ( ELandscapeToolFlattenMode : : Both )
, bUseSlopeFlatten ( false )
, bPickValuePerApply ( false )
, bUseFlattenTarget ( false )
, FlattenTarget ( 0 )
2014-06-05 12:12:55 -04:00
, bShowFlattenTargetPreview ( true )
2019-05-23 01:03:04 -04:00
, TerraceInterval ( 1.0f )
, TerraceSmooth ( 0.0001f )
2014-03-14 14:13:41 -04:00
, RampWidth ( 2000 )
, RampSideFalloff ( 0.4f )
2014-12-18 06:52:06 -05:00
, SmoothFilterKernelSize ( 4 )
2014-03-14 14:13:41 -04:00
, bDetailSmooth ( false )
, DetailScale ( 0.3f )
, ErodeThresh ( 64 )
, ErodeSurfaceThickness ( 256 )
, ErodeIterationNum ( 28 )
, ErosionNoiseMode ( ELandscapeToolErosionMode : : Lower )
, ErosionNoiseScale ( 60.0f )
, RainAmount ( 128 )
, SedimentCapacity ( 0.3f )
, HErodeIterationNum ( 75 )
, RainDistMode ( ELandscapeToolHydroErosionMode : : Both )
2014-12-18 06:52:06 -05:00
, RainDistScale ( 60.0f )
2014-03-14 14:13:41 -04:00
, bHErosionDetailSmooth ( true )
, HErosionDetailScale ( 0.01f )
, NoiseMode ( ELandscapeToolNoiseMode : : Both )
, NoiseScale ( 128.0f )
, bUseSelectedRegion ( true )
, bUseNegativeMask ( true )
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
, PasteMode ( ELandscapeToolPasteMode : : Both )
2014-03-14 14:13:41 -04:00
, bApplyToAllTargets ( true )
, bSnapGizmo ( false )
, bSmoothGizmoBrush ( true )
2015-09-03 05:28:49 -04:00
, MirrorPoint ( FVector : : ZeroVector )
, MirrorOp ( ELandscapeMirrorOperation : : MinusXToPlusX )
2014-03-14 14:13:41 -04:00
, ResizeLandscape_QuadsPerSection ( 0 )
, ResizeLandscape_SectionsPerComponent ( 0 )
, ResizeLandscape_ComponentCount ( 0 , 0 )
, ResizeLandscape_ConvertMode ( ELandscapeConvertMode : : Expand )
, NewLandscape_Material ( NULL )
, NewLandscape_QuadsPerSection ( 63 )
, NewLandscape_SectionsPerComponent ( 1 )
, NewLandscape_ComponentCount ( 8 , 8 )
, NewLandscape_Location ( 0 , 0 , 100 )
, NewLandscape_Rotation ( 0 , 0 , 0 )
, NewLandscape_Scale ( 100 , 100 , 100 )
, ImportLandscape_Width ( 0 )
, ImportLandscape_Height ( 0 )
2015-10-30 17:41:13 -04:00
, ImportLandscape_AlphamapType ( ELandscapeImportAlphamapType : : Additive )
2014-07-30 14:51:27 -04:00
// Brush Settings:
, BrushRadius ( 2048.0f )
, BrushFalloff ( 0.5f )
, bUseClayBrush ( false )
, AlphaBrushScale ( 0.5f )
, bAlphaBrushAutoRotate ( true )
, AlphaBrushRotation ( 0.0f )
, AlphaBrushPanU ( 0.5f )
, AlphaBrushPanV ( 0.5f )
2015-01-26 06:47:34 -05:00
, bUseWorldSpacePatternBrush ( false )
2021-01-10 13:48:09 -04:00
, WorldSpacePatternBrushSettings ( FVector2D : : ZeroVector , 0.0f , false , 3200 )
2014-07-30 14:51:27 -04:00
, AlphaTexture ( NULL )
, AlphaTextureChannel ( EColorChannel : : Red )
, AlphaTextureSizeX ( 1 )
, AlphaTextureSizeY ( 1 )
, BrushComponentSize ( 1 )
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3229490 on 2016/12/09 by Cody.Albert
Integrated fix to support named changelists in SVN
Change 3229574 on 2016/12/09 by Simon.Tourangeau
Fix actor mobility getting changed on scene reimport
#jira UE-39102
Change 3229692 on 2016/12/09 by Cody.Albert
Fixing an XML Parser assert when parsing a root tag that completes on the same line.
#jira UE-30393
Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt
PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut)
Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt
Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load.
Change 3231475 on 2016/12/12 by Alex.Delesky
#jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100.
Change 3231476 on 2016/12/12 by Alex.Delesky
#jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once.
Change 3231477 on 2016/12/12 by Alex.Delesky
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3231479 on 2016/12/12 by Alex.Delesky
#jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown.
Change 3231480 on 2016/12/12 by Alex.Delesky
#jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file
Change 3231508 on 2016/12/12 by Alex.Delesky
Removing todo comment
#jira none
Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt
Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes
Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates
Change 3231618 on 2016/12/12 by Alex.Delesky
#jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value.
Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt
Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default
Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt
Brighten up the output log by default
Change 3231648 on 2016/12/12 by Alex.Delesky
#jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot.
Change 3231666 on 2016/12/12 by Alex.Delesky
#jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets.
Change 3231674 on 2016/12/12 by Alex.Delesky
#jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch.
Change 3231745 on 2016/12/12 by Alex.Delesky
Back out changelist 3231477 to fix build error C2259
Change 3232417 on 2016/12/13 by Simon.Tourangeau
Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event
- FBX Version
- Filename Hash
- Import Type
#jira UE-37453
Change 3232477 on 2016/12/13 by Michael.Dupuis
#jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side.
Change 3232571 on 2016/12/13 by Alex.Delesky
Back out changelist 3231745
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3232675 on 2016/12/13 by Alexis.Matte
Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue.
#jira UE-39692
Change 3232975 on 2016/12/13 by Alex.Delesky
Fix to build error C2259 for the IPluginWizardDefinition API change.
Change 3233146 on 2016/12/13 by Michael.Dupuis
#jira UE-38766 : Added eye dropper to select flatten height
Fixed a rounding errors resulting in not flattening to the specified height
Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value
Change 3233153 on 2016/12/13 by Alexis.Matte
We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array
#jira UE-38827
Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt
Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices.
#jira UE-7388
Change 3234485 on 2016/12/14 by Michael.Dupuis
tentative build fix for Mac
Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt
Made a setting to control if PIE enter and exit sounds are played. Off by default
Change 3236709 on 2016/12/15 by Simon.Tourangeau
Fix camera export rotation offset
#jira UE-34692
#jira UE-39740
Change 3236782 on 2016/12/15 by Jamie.Dale
Fixed EmitTermExpr failing to use the correct package ID
FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null.
Change 3236853 on 2016/12/15 by Alexis.Matte
Fix the serialization of the staticmesh property FMeshSectionInfoMap
Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt
Remove old define
Change 3239328 on 2016/12/18 by Richard.TalbotWatkin
Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition.
#jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport
Change 3239660 on 2016/12/19 by Alex.Delesky
#jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component.
Change 3239662 on 2016/12/19 by Alex.Delesky
#jira UE-39007 - The data table row editor now contains a Reset to Default control.
Change 3239663 on 2016/12/19 by Alex.Delesky
#jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog.
Change 3240696 on 2016/12/20 by Michael.Dupuis
#jira UETOOL-1009:
Added paddiing to columns view
Added auto resize of column when double clicking on splitter handle in the header
Remove right number alignment after discussion with Matt K.
Change 3240758 on 2016/12/20 by Michael.Dupuis
added missing non abstract implementation
Change 3240782 on 2016/12/20 by Michael.Dupuis
Added missing documentation for content browser column auto resizing
Change 3240817 on 2016/12/20 by Alex.Delesky
#jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab.
Change 3240834 on 2016/12/20 by Michael.Dupuis
tentative fix for build error
Change 3240984 on 2016/12/20 by Michael.Dupuis
Removed unnecessary functions
Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt
Fix compile errors
Change 3241966 on 2016/12/21 by Chris.Wood
Fixed Typo and changed execution order in "ComboBoxString" Component
[UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component
PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi)
#github https://github.com/EpicGames/UnrealEngine/pull/2971
Change 3242126 on 2016/12/21 by Alexis.Matte
Back out changelist 3236853
We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h.
Change 3244492 on 2017/01/02 by Jamie.Dale
Improved error message
Change 3244545 on 2017/01/02 by Nick.Darnell
Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded.
Change 3244549 on 2017/01/02 by Nick.Darnell
Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely.
The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors.
Now users through C++ can load and replace the hardware cursors with custom ones of their own,
e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0))));
The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources.
Change 3244845 on 2017/01/03 by Jamie.Dale
Fixing typo
#jira UE-39920
Change 3244903 on 2017/01/03 by Jamie.Dale
PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift)
Change 3245125 on 2017/01/03 by Alexis.Matte
Put back the dev-editor version because there was some data create before we back it out
Change 3246106 on 2017/01/04 by Chris.Wood
Removed broken CrashReportReciever pre-upload phase from CrashReportClient.
[UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever
Change 3246251 on 2017/01/04 by Alex.Delesky
#jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location.
Change 3246252 on 2017/01/04 by Alex.Delesky
#jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import.
The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point.
Change 3247620 on 2017/01/05 by Nick.Darnell
Automation - Removing an adjustment to the number of shots we take for high res shots.
Change 3247621 on 2017/01/05 by Nick.Darnell
Automation - Adding a few more rendering tests to the cornell box.
Change 3247629 on 2017/01/05 by Nick.Darnell
Automation - Improving the comparison row display for screenshots so it's obvious what each image represents.
Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt
PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist)
Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt
Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first
Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt
Fixed automation test warnings
#jira UE-40198
Change 3249481 on 2017/01/06 by Michael.Dupuis
#jira UE-37875 : Fill empty layers of components on assignation or creation
Also fill new component added with the tool from neighbours predominance
Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt
PR #3093: Include guard cleanup (Contributed by projectgheist)
Change 3249544 on 2017/01/06 by Michael.Dupuis
#jira UE-40299: validate if UISettings is valid
Change 3250738 on 2017/01/09 by Nick.Darnell
UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget.
#jira UE-39845
Change 3250865 on 2017/01/09 by Nick.Darnell
Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums.
Change 3250867 on 2017/01/09 by Nick.Darnell
Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size.
Change 3250936 on 2017/01/09 by Nick.Darnell
Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch.
Change 3250937 on 2017/01/09 by Nick.Darnell
Automation - Adding another example to the CornellBox test.
Change 3250958 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251162 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt
Attempt to fix static analysis warnings
Change 3251373 on 2017/01/09 by Nick.Darnell
Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order.
Change 3251525 on 2017/01/09 by Nick.Darnell
Automation - Fixing a build issue in ImageComparer.
Change 3252321 on 2017/01/10 by Alex.Delesky
#jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections.
Change 3252354 on 2017/01/10 by Nick.Darnell
Image Compare - Fixing a potential threading hazard in the image comparer.
Change 3252356 on 2017/01/10 by Nick.Darnell
Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata.
Change 3252601 on 2017/01/10 by Alexis.Matte
Fbx automation test, reload feature implementation
Change 3252761 on 2017/01/10 by Jamie.Dale
Fixing some IWYU errors with PCH disabled
Change 3252765 on 2017/01/10 by Jamie.Dale
Fixing some static analysis warnings
Change 3252793 on 2017/01/10 by Jamie.Dale
Fixing FText natvis
The text data visualizers have to be defined before the text visualizer
Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt
PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts)
Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt
Refactor scene importing to allow for plugins to make scene importers
Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt
Fix calling LoadModule in perforce source control off the main thread
Change 3256472 on 2017/01/12 by Jamie.Dale
Improved error reporting from IncludeTool
- The error reporting was using zero-based line indices which was misleading.
- The error reporting now includes the offending line to remove ambiguity.
Change 3256725 on 2017/01/13 by Jamie.Dale
IncludeTool can now parse typedef in Fwd headers
Change 3256758 on 2017/01/13 by Jamie.Dale
Added support for String Tables
String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text.
String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo.
Change 3257018 on 2017/01/13 by Alexis.Matte
FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag
Change 3257168 on 2017/01/13 by Jamie.Dale
Removed code that was writing null into bytecode during save
Change 3257344 on 2017/01/13 by Jamie.Dale
Backing out changelist 3256725, and excluding my header from the scan instead
Change 3257426 on 2017/01/13 by Nick.Darnell
Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha.
Change 3257572 on 2017/01/13 by Nick.Darnell
Slate - Fixing a build error.
Change 3257970 on 2017/01/14 by Jamie.Dale
Fixing exclude path
Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin)
Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3126: Fix to load editor style assets (Contributed by projectgheist)
Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88)
Change 3258539 on 2017/01/16 by Nick.Darnell
Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping.
Change 3258607 on 2017/01/16 by Nick.Darnell
Fixing the mac build.
Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt
Actors with experimental components no longer say
"Uses experimental class: Actor" when selecting the actor root in the details panel
#jira UE-40535
Change 3258678 on 2017/01/16 by Nick.Darnell
Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown.
Change 3258924 on 2017/01/16 by Nick.Darnell
Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups.
Change 3258929 on 2017/01/16 by Nick.Darnell
UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed.
Change 3259109 on 2017/01/16 by Nick.Darnell
Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype.
Change 3259111 on 2017/01/16 by Alexis.Matte
Avoid to move the camera when we re-import in the static mesh editor
#jira UE-40613
Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt
Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget
Change 3259300 on 2017/01/16 by Nick.Darnell
UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer.
Change 3259306 on 2017/01/16 by Nick.Darnell
Games - Removing the Game Specific implementations of PreConstruct.
Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt
Fix static analysis
Change 3261049 on 2017/01/17 by Nick.Darnell
Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird.
Change 3261434 on 2017/01/17 by Nick.Darnell
Fixing the mac build.
Change 3261435 on 2017/01/17 by Nick.Darnell
Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously.
Change 3261460 on 2017/01/17 by Nick.Darnell
UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code.
Change 3261833 on 2017/01/18 by Alexis.Matte
Fix all warning for fbx automation tests
#jira UE-40208
Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt
PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts)
Change 3262000 on 2017/01/18 by Jamie.Dale
Updated Slate to allocate widgets using MakeShared
This saves one allocation per-widget
Change 3262003 on 2017/01/18 by Nick.Darnell
UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing.
#jira UE-40523
Change 3262052 on 2017/01/18 by Alexis.Matte
Put back the staticmesh skinxx workflow
#jira UE-40782
Change 3262775 on 2017/01/18 by Nick.Darnell
Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU.
Change 3262818 on 2017/01/18 by Alex.Delesky
#jira UE-40668 - Editor preferences will now save for data pin styles
Change 3263679 on 2017/01/19 by Nick.Darnell
Slate - Adding some comments to the Slate Vertex Rounder.
Change 3265154 on 2017/01/19 by Nick.Darnell
Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way.
Change 3265478 on 2017/01/20 by Chris.Wood
Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog
[UE-40838] - Make hang time configurable and increase default in UnrealWatchdog
Change 3265600 on 2017/01/20 by Nick.Darnell
Slate - Making some const local variables const.
Change 3265714 on 2017/01/20 by Alex.Delesky
#jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.
Change 3265865 on 2017/01/20 by Alex.Delesky
#jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel.
Change 3267989 on 2017/01/23 by Jamie.Dale
Exposed String Tables to Blueprints
Change 3268018 on 2017/01/23 by Jamie.Dale
Small API clean-up for string tables
Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt
Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level
#jira UE-40930
Change 3269388 on 2017/01/24 by Chris.Wood
Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close.
[UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users
Standalone tool code only - doesn't touch engine
Change 3270205 on 2017/01/24 by Cody.Albert
Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object.
Change 3270231 on 2017/01/24 by Cody.Albert
Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters
Change 3271734 on 2017/01/25 by Michael.Dupuis
#jira UE-38631
Add sorting for landscape target layer, user can now sort alphabetical, material based or custom
Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot
Fixed SDropTarget to only consider the drop action if it was started by it
Added visibility toggle to only show used layers in the currently loaded data
Change 3271797 on 2017/01/25 by Jamie.Dale
Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense
Change 3271813 on 2017/01/25 by Jamie.Dale
Fixed bad access of a shared this during widget destruction when a context menu was open
Change 3271988 on 2017/01/25 by Nick.Darnell
Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days.
Change 3271992 on 2017/01/25 by Nick.Darnell
Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property.
Change 3272134 on 2017/01/25 by Jamie.Dale
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text).
Change 3272301 on 2017/01/25 by Nick.Darnell
Slate - More cleanup from the removal of a old legacy enum that people were still using.
Change 3273070 on 2017/01/26 by Chris.Wood
Fix CIS errors in landscape code from CL 3271734
Change 3273123 on 2017/01/26 by Chris.Wood
Fix crash during init of CRC when running packaged without access to main engine config hierarchy.
Change 3273194 on 2017/01/26 by Nick.Darnell
Fixing some build warnings.
Change 3273242 on 2017/01/26 by Michael.Dupuis
#jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels
Change 3273279 on 2017/01/26 by Jamie.Dale
String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine")
Change 3273483 on 2017/01/26 by Alex.Delesky
#jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce.
Also makes a slight change to the ResavePackages commandlet to submit files marked for delete.
Change 3273568 on 2017/01/26 by Alex.Delesky
Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template.
#jira none
Change 3273855 on 2017/01/26 by Alex.Delesky
#jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode.
Change 3274200 on 2017/01/26 by Alex.Delesky
For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods.
Change 3274317 on 2017/01/26 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3275072 on 2017/01/27 by Michael.Dupuis
#jira UE-38631 tweaks
Fix typo error
Iterate all components, not only active one
Force expand the Target Layers widget
Change 3275249 on 2017/01/27 by Alexis.Matte
Color grading controls: Keep the vector ratio when changing the master slider
#jira UETOOL-1098
Change 3275282 on 2017/01/27 by Alexis.Matte
Color grading controls: Cosmetic changes
#jira UETOOL-1099
Change 3275292 on 2017/01/27 by Alexis.Matte
Make sure the build is called once when we import a staticmesh.
#jira UE-40947
Change 3275430 on 2017/01/27 by Alexis.Matte
Add some fbx automation tests
- Import a mesh with no material
- Import corrupted asset with no section in a LOD
- Import morph targets
- Materials name clash
- Max Multimap material ordering
Change 3275683 on 2017/01/27 by Michael.Dupuis
#jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo
Change 3276237 on 2017/01/27 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3276266 on 2017/01/27 by Jamie.Dale
Fix for accessing a potentially null pointer
Change 3277065 on 2017/01/30 by Chris.Wood
Move crash report temp files to saved config and cleanup on schedule.
[UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor
Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt
Fix crash when cancelling SaveCurrentLevelAs
#jira UE-41182
Change 3277409 on 2017/01/30 by Jamie.Dale
Improved text rendering when the last resort font is missing
The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing.
- The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings).
- The Slate font renderer no longer tries to use the last resort font if it's not available.
- Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing).
- HarfBuzz shaped text now uses the fallback character correctly.
Change 3277749 on 2017/01/30 by Nick.Darnell
Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value.
Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes.
Change 3277805 on 2017/01/30 by Nick.Darnell
Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make.
Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt
Fix Niagara slate style warning on startup
Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile error
Change 3278132 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile errors
Change 3278186 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278525 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278534 on 2017/01/30 by Nick.Darnell
Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration.
Change 3278941 on 2017/01/31 by Nick.Darnell
Fixing a build warning due to build team refactor.
Change 3278949 on 2017/01/31 by Nick.Darnell
Fixing incrmenetal build issues.
Change 3278953 on 2017/01/31 by Nick.Darnell
Fixing some incrmental linux build issues.
Change 3278964 on 2017/01/31 by Nick.Darnell
FIxing more incremental build issues.
Change 3279256 on 2017/01/31 by Michael.Dupuis
#jira UE-41319
#jira UE-41315
#jira UE-41316
Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor
Change 3279270 on 2017/01/31 by Chad.Garyet
re-updating the automation test pool
[CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
, TargetDisplayOrder ( ELandscapeLayerDisplayMode : : Default )
, ShowUnusedLayers ( true )
2019-04-12 10:09:21 -04:00
, CurrentLayerIndex ( INDEX_NONE )
2014-03-14 14:13:41 -04:00
{
// Structure to hold one-time initialization
struct FConstructorStatics
{
ConstructorHelpers : : FObjectFinder < UTexture2D > AlphaTexture ;
FConstructorStatics ( )
: AlphaTexture ( TEXT ( " /Engine/EditorLandscapeResources/DefaultAlphaTexture " ) )
{
}
} ;
static FConstructorStatics ConstructorStatics ;
SetAlphaTexture ( ConstructorStatics . AlphaTexture . Object , AlphaTextureChannel ) ;
}
void ULandscapeEditorObject : : PostEditChangeProperty ( FPropertyChangedEvent & PropertyChangedEvent )
{
Super : : PostEditChangeProperty ( PropertyChangedEvent ) ;
SetbUseSelectedRegion ( bUseSelectedRegion ) ;
SetbUseNegativeMask ( bUseNegativeMask ) ;
SetPasteMode ( PasteMode ) ;
SetbSnapGizmo ( bSnapGizmo ) ;
2015-12-09 15:04:15 -05:00
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
2014-03-14 14:13:41 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , AlphaTexture ) | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , AlphaTextureChannel ) )
{
SetAlphaTexture ( AlphaTexture , AlphaTextureChannel ) ;
}
2015-12-09 15:04:15 -05:00
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
2014-08-14 10:04:06 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , NewLandscape_QuadsPerSection ) | |
2014-03-14 14:13:41 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , NewLandscape_SectionsPerComponent ) | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , NewLandscape_ComponentCount ) )
{
NewLandscape_ClampSize ( ) ;
}
2015-12-09 15:04:15 -05:00
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
2014-08-14 10:04:06 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , ResizeLandscape_QuadsPerSection ) | |
2014-03-14 14:13:41 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , ResizeLandscape_SectionsPerComponent ) | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , ResizeLandscape_ConvertMode ) )
{
UpdateComponentCount ( ) ;
}
2015-12-09 15:04:15 -05:00
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
2014-03-14 14:13:41 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , NewLandscape_Material ) | |
2021-06-08 10:18:43 -04:00
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , ImportLandscape_HeightmapFilename ) | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , ImportLandscape_Layers ) )
2014-03-14 14:13:41 -04:00
{
2021-10-12 21:21:22 -04:00
// In Import/Export tool we need to refresh from the existing material
const bool bRefreshFromTarget = ParentMode & & ParentMode - > CurrentTool & & ParentMode - > CurrentTool - > GetToolName ( ) = = FName ( TEXT ( " ImportExport " ) ) ;
RefreshImportLayersList ( bRefreshFromTarget ) ;
2014-03-14 14:13:41 -04:00
}
2015-12-09 15:04:15 -05:00
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , PaintingRestriction ) )
{
2021-10-12 21:21:22 -04:00
UpdateComponentLayerAllowList ( ) ;
2015-12-09 15:04:15 -05:00
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3229490 on 2016/12/09 by Cody.Albert
Integrated fix to support named changelists in SVN
Change 3229574 on 2016/12/09 by Simon.Tourangeau
Fix actor mobility getting changed on scene reimport
#jira UE-39102
Change 3229692 on 2016/12/09 by Cody.Albert
Fixing an XML Parser assert when parsing a root tag that completes on the same line.
#jira UE-30393
Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt
PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut)
Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt
Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load.
Change 3231475 on 2016/12/12 by Alex.Delesky
#jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100.
Change 3231476 on 2016/12/12 by Alex.Delesky
#jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once.
Change 3231477 on 2016/12/12 by Alex.Delesky
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3231479 on 2016/12/12 by Alex.Delesky
#jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown.
Change 3231480 on 2016/12/12 by Alex.Delesky
#jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file
Change 3231508 on 2016/12/12 by Alex.Delesky
Removing todo comment
#jira none
Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt
Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes
Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates
Change 3231618 on 2016/12/12 by Alex.Delesky
#jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value.
Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt
Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default
Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt
Brighten up the output log by default
Change 3231648 on 2016/12/12 by Alex.Delesky
#jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot.
Change 3231666 on 2016/12/12 by Alex.Delesky
#jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets.
Change 3231674 on 2016/12/12 by Alex.Delesky
#jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch.
Change 3231745 on 2016/12/12 by Alex.Delesky
Back out changelist 3231477 to fix build error C2259
Change 3232417 on 2016/12/13 by Simon.Tourangeau
Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event
- FBX Version
- Filename Hash
- Import Type
#jira UE-37453
Change 3232477 on 2016/12/13 by Michael.Dupuis
#jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side.
Change 3232571 on 2016/12/13 by Alex.Delesky
Back out changelist 3231745
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3232675 on 2016/12/13 by Alexis.Matte
Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue.
#jira UE-39692
Change 3232975 on 2016/12/13 by Alex.Delesky
Fix to build error C2259 for the IPluginWizardDefinition API change.
Change 3233146 on 2016/12/13 by Michael.Dupuis
#jira UE-38766 : Added eye dropper to select flatten height
Fixed a rounding errors resulting in not flattening to the specified height
Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value
Change 3233153 on 2016/12/13 by Alexis.Matte
We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array
#jira UE-38827
Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt
Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices.
#jira UE-7388
Change 3234485 on 2016/12/14 by Michael.Dupuis
tentative build fix for Mac
Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt
Made a setting to control if PIE enter and exit sounds are played. Off by default
Change 3236709 on 2016/12/15 by Simon.Tourangeau
Fix camera export rotation offset
#jira UE-34692
#jira UE-39740
Change 3236782 on 2016/12/15 by Jamie.Dale
Fixed EmitTermExpr failing to use the correct package ID
FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null.
Change 3236853 on 2016/12/15 by Alexis.Matte
Fix the serialization of the staticmesh property FMeshSectionInfoMap
Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt
Remove old define
Change 3239328 on 2016/12/18 by Richard.TalbotWatkin
Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition.
#jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport
Change 3239660 on 2016/12/19 by Alex.Delesky
#jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component.
Change 3239662 on 2016/12/19 by Alex.Delesky
#jira UE-39007 - The data table row editor now contains a Reset to Default control.
Change 3239663 on 2016/12/19 by Alex.Delesky
#jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog.
Change 3240696 on 2016/12/20 by Michael.Dupuis
#jira UETOOL-1009:
Added paddiing to columns view
Added auto resize of column when double clicking on splitter handle in the header
Remove right number alignment after discussion with Matt K.
Change 3240758 on 2016/12/20 by Michael.Dupuis
added missing non abstract implementation
Change 3240782 on 2016/12/20 by Michael.Dupuis
Added missing documentation for content browser column auto resizing
Change 3240817 on 2016/12/20 by Alex.Delesky
#jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab.
Change 3240834 on 2016/12/20 by Michael.Dupuis
tentative fix for build error
Change 3240984 on 2016/12/20 by Michael.Dupuis
Removed unnecessary functions
Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt
Fix compile errors
Change 3241966 on 2016/12/21 by Chris.Wood
Fixed Typo and changed execution order in "ComboBoxString" Component
[UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component
PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi)
#github https://github.com/EpicGames/UnrealEngine/pull/2971
Change 3242126 on 2016/12/21 by Alexis.Matte
Back out changelist 3236853
We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h.
Change 3244492 on 2017/01/02 by Jamie.Dale
Improved error message
Change 3244545 on 2017/01/02 by Nick.Darnell
Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded.
Change 3244549 on 2017/01/02 by Nick.Darnell
Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely.
The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors.
Now users through C++ can load and replace the hardware cursors with custom ones of their own,
e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0))));
The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources.
Change 3244845 on 2017/01/03 by Jamie.Dale
Fixing typo
#jira UE-39920
Change 3244903 on 2017/01/03 by Jamie.Dale
PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift)
Change 3245125 on 2017/01/03 by Alexis.Matte
Put back the dev-editor version because there was some data create before we back it out
Change 3246106 on 2017/01/04 by Chris.Wood
Removed broken CrashReportReciever pre-upload phase from CrashReportClient.
[UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever
Change 3246251 on 2017/01/04 by Alex.Delesky
#jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location.
Change 3246252 on 2017/01/04 by Alex.Delesky
#jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import.
The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point.
Change 3247620 on 2017/01/05 by Nick.Darnell
Automation - Removing an adjustment to the number of shots we take for high res shots.
Change 3247621 on 2017/01/05 by Nick.Darnell
Automation - Adding a few more rendering tests to the cornell box.
Change 3247629 on 2017/01/05 by Nick.Darnell
Automation - Improving the comparison row display for screenshots so it's obvious what each image represents.
Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt
PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist)
Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt
Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first
Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt
Fixed automation test warnings
#jira UE-40198
Change 3249481 on 2017/01/06 by Michael.Dupuis
#jira UE-37875 : Fill empty layers of components on assignation or creation
Also fill new component added with the tool from neighbours predominance
Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt
PR #3093: Include guard cleanup (Contributed by projectgheist)
Change 3249544 on 2017/01/06 by Michael.Dupuis
#jira UE-40299: validate if UISettings is valid
Change 3250738 on 2017/01/09 by Nick.Darnell
UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget.
#jira UE-39845
Change 3250865 on 2017/01/09 by Nick.Darnell
Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums.
Change 3250867 on 2017/01/09 by Nick.Darnell
Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size.
Change 3250936 on 2017/01/09 by Nick.Darnell
Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch.
Change 3250937 on 2017/01/09 by Nick.Darnell
Automation - Adding another example to the CornellBox test.
Change 3250958 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251162 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt
Attempt to fix static analysis warnings
Change 3251373 on 2017/01/09 by Nick.Darnell
Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order.
Change 3251525 on 2017/01/09 by Nick.Darnell
Automation - Fixing a build issue in ImageComparer.
Change 3252321 on 2017/01/10 by Alex.Delesky
#jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections.
Change 3252354 on 2017/01/10 by Nick.Darnell
Image Compare - Fixing a potential threading hazard in the image comparer.
Change 3252356 on 2017/01/10 by Nick.Darnell
Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata.
Change 3252601 on 2017/01/10 by Alexis.Matte
Fbx automation test, reload feature implementation
Change 3252761 on 2017/01/10 by Jamie.Dale
Fixing some IWYU errors with PCH disabled
Change 3252765 on 2017/01/10 by Jamie.Dale
Fixing some static analysis warnings
Change 3252793 on 2017/01/10 by Jamie.Dale
Fixing FText natvis
The text data visualizers have to be defined before the text visualizer
Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt
PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts)
Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt
Refactor scene importing to allow for plugins to make scene importers
Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt
Fix calling LoadModule in perforce source control off the main thread
Change 3256472 on 2017/01/12 by Jamie.Dale
Improved error reporting from IncludeTool
- The error reporting was using zero-based line indices which was misleading.
- The error reporting now includes the offending line to remove ambiguity.
Change 3256725 on 2017/01/13 by Jamie.Dale
IncludeTool can now parse typedef in Fwd headers
Change 3256758 on 2017/01/13 by Jamie.Dale
Added support for String Tables
String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text.
String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo.
Change 3257018 on 2017/01/13 by Alexis.Matte
FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag
Change 3257168 on 2017/01/13 by Jamie.Dale
Removed code that was writing null into bytecode during save
Change 3257344 on 2017/01/13 by Jamie.Dale
Backing out changelist 3256725, and excluding my header from the scan instead
Change 3257426 on 2017/01/13 by Nick.Darnell
Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha.
Change 3257572 on 2017/01/13 by Nick.Darnell
Slate - Fixing a build error.
Change 3257970 on 2017/01/14 by Jamie.Dale
Fixing exclude path
Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin)
Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3126: Fix to load editor style assets (Contributed by projectgheist)
Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88)
Change 3258539 on 2017/01/16 by Nick.Darnell
Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping.
Change 3258607 on 2017/01/16 by Nick.Darnell
Fixing the mac build.
Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt
Actors with experimental components no longer say
"Uses experimental class: Actor" when selecting the actor root in the details panel
#jira UE-40535
Change 3258678 on 2017/01/16 by Nick.Darnell
Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown.
Change 3258924 on 2017/01/16 by Nick.Darnell
Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups.
Change 3258929 on 2017/01/16 by Nick.Darnell
UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed.
Change 3259109 on 2017/01/16 by Nick.Darnell
Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype.
Change 3259111 on 2017/01/16 by Alexis.Matte
Avoid to move the camera when we re-import in the static mesh editor
#jira UE-40613
Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt
Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget
Change 3259300 on 2017/01/16 by Nick.Darnell
UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer.
Change 3259306 on 2017/01/16 by Nick.Darnell
Games - Removing the Game Specific implementations of PreConstruct.
Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt
Fix static analysis
Change 3261049 on 2017/01/17 by Nick.Darnell
Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird.
Change 3261434 on 2017/01/17 by Nick.Darnell
Fixing the mac build.
Change 3261435 on 2017/01/17 by Nick.Darnell
Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously.
Change 3261460 on 2017/01/17 by Nick.Darnell
UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code.
Change 3261833 on 2017/01/18 by Alexis.Matte
Fix all warning for fbx automation tests
#jira UE-40208
Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt
PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts)
Change 3262000 on 2017/01/18 by Jamie.Dale
Updated Slate to allocate widgets using MakeShared
This saves one allocation per-widget
Change 3262003 on 2017/01/18 by Nick.Darnell
UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing.
#jira UE-40523
Change 3262052 on 2017/01/18 by Alexis.Matte
Put back the staticmesh skinxx workflow
#jira UE-40782
Change 3262775 on 2017/01/18 by Nick.Darnell
Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU.
Change 3262818 on 2017/01/18 by Alex.Delesky
#jira UE-40668 - Editor preferences will now save for data pin styles
Change 3263679 on 2017/01/19 by Nick.Darnell
Slate - Adding some comments to the Slate Vertex Rounder.
Change 3265154 on 2017/01/19 by Nick.Darnell
Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way.
Change 3265478 on 2017/01/20 by Chris.Wood
Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog
[UE-40838] - Make hang time configurable and increase default in UnrealWatchdog
Change 3265600 on 2017/01/20 by Nick.Darnell
Slate - Making some const local variables const.
Change 3265714 on 2017/01/20 by Alex.Delesky
#jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.
Change 3265865 on 2017/01/20 by Alex.Delesky
#jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel.
Change 3267989 on 2017/01/23 by Jamie.Dale
Exposed String Tables to Blueprints
Change 3268018 on 2017/01/23 by Jamie.Dale
Small API clean-up for string tables
Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt
Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level
#jira UE-40930
Change 3269388 on 2017/01/24 by Chris.Wood
Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close.
[UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users
Standalone tool code only - doesn't touch engine
Change 3270205 on 2017/01/24 by Cody.Albert
Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object.
Change 3270231 on 2017/01/24 by Cody.Albert
Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters
Change 3271734 on 2017/01/25 by Michael.Dupuis
#jira UE-38631
Add sorting for landscape target layer, user can now sort alphabetical, material based or custom
Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot
Fixed SDropTarget to only consider the drop action if it was started by it
Added visibility toggle to only show used layers in the currently loaded data
Change 3271797 on 2017/01/25 by Jamie.Dale
Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense
Change 3271813 on 2017/01/25 by Jamie.Dale
Fixed bad access of a shared this during widget destruction when a context menu was open
Change 3271988 on 2017/01/25 by Nick.Darnell
Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days.
Change 3271992 on 2017/01/25 by Nick.Darnell
Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property.
Change 3272134 on 2017/01/25 by Jamie.Dale
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text).
Change 3272301 on 2017/01/25 by Nick.Darnell
Slate - More cleanup from the removal of a old legacy enum that people were still using.
Change 3273070 on 2017/01/26 by Chris.Wood
Fix CIS errors in landscape code from CL 3271734
Change 3273123 on 2017/01/26 by Chris.Wood
Fix crash during init of CRC when running packaged without access to main engine config hierarchy.
Change 3273194 on 2017/01/26 by Nick.Darnell
Fixing some build warnings.
Change 3273242 on 2017/01/26 by Michael.Dupuis
#jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels
Change 3273279 on 2017/01/26 by Jamie.Dale
String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine")
Change 3273483 on 2017/01/26 by Alex.Delesky
#jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce.
Also makes a slight change to the ResavePackages commandlet to submit files marked for delete.
Change 3273568 on 2017/01/26 by Alex.Delesky
Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template.
#jira none
Change 3273855 on 2017/01/26 by Alex.Delesky
#jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode.
Change 3274200 on 2017/01/26 by Alex.Delesky
For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods.
Change 3274317 on 2017/01/26 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3275072 on 2017/01/27 by Michael.Dupuis
#jira UE-38631 tweaks
Fix typo error
Iterate all components, not only active one
Force expand the Target Layers widget
Change 3275249 on 2017/01/27 by Alexis.Matte
Color grading controls: Keep the vector ratio when changing the master slider
#jira UETOOL-1098
Change 3275282 on 2017/01/27 by Alexis.Matte
Color grading controls: Cosmetic changes
#jira UETOOL-1099
Change 3275292 on 2017/01/27 by Alexis.Matte
Make sure the build is called once when we import a staticmesh.
#jira UE-40947
Change 3275430 on 2017/01/27 by Alexis.Matte
Add some fbx automation tests
- Import a mesh with no material
- Import corrupted asset with no section in a LOD
- Import morph targets
- Materials name clash
- Max Multimap material ordering
Change 3275683 on 2017/01/27 by Michael.Dupuis
#jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo
Change 3276237 on 2017/01/27 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3276266 on 2017/01/27 by Jamie.Dale
Fix for accessing a potentially null pointer
Change 3277065 on 2017/01/30 by Chris.Wood
Move crash report temp files to saved config and cleanup on schedule.
[UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor
Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt
Fix crash when cancelling SaveCurrentLevelAs
#jira UE-41182
Change 3277409 on 2017/01/30 by Jamie.Dale
Improved text rendering when the last resort font is missing
The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing.
- The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings).
- The Slate font renderer no longer tries to use the last resort font if it's not available.
- Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing).
- HarfBuzz shaped text now uses the fallback character correctly.
Change 3277749 on 2017/01/30 by Nick.Darnell
Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value.
Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes.
Change 3277805 on 2017/01/30 by Nick.Darnell
Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make.
Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt
Fix Niagara slate style warning on startup
Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile error
Change 3278132 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile errors
Change 3278186 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278525 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278534 on 2017/01/30 by Nick.Darnell
Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration.
Change 3278941 on 2017/01/31 by Nick.Darnell
Fixing a build warning due to build team refactor.
Change 3278949 on 2017/01/31 by Nick.Darnell
Fixing incrmenetal build issues.
Change 3278953 on 2017/01/31 by Nick.Darnell
Fixing some incrmental linux build issues.
Change 3278964 on 2017/01/31 by Nick.Darnell
FIxing more incremental build issues.
Change 3279256 on 2017/01/31 by Michael.Dupuis
#jira UE-41319
#jira UE-41315
#jira UE-41316
Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor
Change 3279270 on 2017/01/31 by Chad.Garyet
re-updating the automation test pool
[CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , TargetDisplayOrder ) )
{
UpdateTargetLayerDisplayOrder ( ) ;
}
if ( PropertyChangedEvent . MemberProperty = = nullptr | |
PropertyChangedEvent . MemberProperty - > GetFName ( ) = = GET_MEMBER_NAME_CHECKED ( ULandscapeEditorObject , ShowUnusedLayers ) )
{
UpdateShowUnusedLayers ( ) ;
}
2014-03-14 14:13:41 -04:00
}
/** Load UI settings from ini file */
void ULandscapeEditorObject : : Load ( )
{
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " ToolStrength " ) , ToolStrength , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " WeightTargetValue " ) , WeightTargetValue , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bool InbUseWeightTargetValue = bUseWeightTargetValue ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseWeightTargetValue " ) , InbUseWeightTargetValue , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bUseWeightTargetValue = InbUseWeightTargetValue ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " BrushRadius " ) , BrushRadius , GEditorPerProjectIni ) ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " BrushComponentSize " ) , BrushComponentSize , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " BrushFalloff " ) , BrushFalloff , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bool InbUseClayBrush = bUseClayBrush ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseClayBrush " ) , InbUseClayBrush , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bUseClayBrush = InbUseClayBrush ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushScale " ) , AlphaBrushScale , GEditorPerProjectIni ) ;
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushAutoRotate " ) , bAlphaBrushAutoRotate , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushRotation " ) , AlphaBrushRotation , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushPanU " ) , AlphaBrushPanU , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushPanV " ) , AlphaBrushPanV , GEditorPerProjectIni ) ;
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseWorldSpacePatternBrush " ) , bUseWorldSpacePatternBrush , GEditorPerProjectIni ) ;
GConfig - > GetVector2D ( TEXT ( " LandscapeEdit " ) , TEXT ( " WorldSpacePatternBrushSettings.Origin " ) , WorldSpacePatternBrushSettings . Origin , GEditorPerProjectIni ) ;
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " WorldSpacePatternBrushSettings.bCenterTextureOnOrigin " ) , WorldSpacePatternBrushSettings . bCenterTextureOnOrigin , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " WorldSpacePatternBrushSettings.RepeatSize " ) , WorldSpacePatternBrushSettings . RepeatSize , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
FString AlphaTextureName = ( AlphaTexture ! = NULL ) ? AlphaTexture - > GetPathName ( ) : FString ( ) ;
int32 InAlphaTextureChannel = AlphaTextureChannel ;
2015-04-20 10:12:55 -04:00
GConfig - > GetString ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaTextureName " ) , AlphaTextureName , GEditorPerProjectIni ) ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaTextureChannel " ) , InAlphaTextureChannel , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
AlphaTextureChannel = ( EColorChannel : : Type ) InAlphaTextureChannel ;
SetAlphaTexture ( LoadObject < UTexture2D > ( NULL , * AlphaTextureName , NULL , LOAD_NoWarn ) , AlphaTextureChannel ) ;
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
int32 InFlattenMode = ( int32 ) ELandscapeToolFlattenMode : : Both ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " FlattenMode " ) , InFlattenMode , GEditorPerProjectIni ) ;
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
FlattenMode = ( ELandscapeToolFlattenMode ) InFlattenMode ;
2014-03-14 14:13:41 -04:00
bool InbUseSlopeFlatten = bUseSlopeFlatten ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseSlopeFlatten " ) , InbUseSlopeFlatten , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bUseSlopeFlatten = InbUseSlopeFlatten ;
bool InbPickValuePerApply = bPickValuePerApply ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bPickValuePerApply " ) , InbPickValuePerApply , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bPickValuePerApply = InbPickValuePerApply ;
bool InbUseFlattenTarget = bUseFlattenTarget ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseFlattenTarget " ) , InbUseFlattenTarget , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bUseFlattenTarget = InbUseFlattenTarget ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " FlattenTarget " ) , FlattenTarget , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2019-07-23 07:23:47 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " TerraceSmooth " ) , TerraceSmooth , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " TerraceInterval " ) , TerraceInterval , GEditorPerProjectIni ) ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " RampWidth " ) , RampWidth , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " RampSideFalloff " ) , RampSideFalloff , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2019-07-23 07:23:47 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bCombinedLayersOperation " ) , bCombinedLayersOperation , GEditorPerProjectIni ) ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErodeThresh " ) , ErodeThresh , GEditorPerProjectIni ) ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErodeIterationNum " ) , ErodeIterationNum , GEditorPerProjectIni ) ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErodeSurfaceThickness " ) , ErodeSurfaceThickness , GEditorPerProjectIni ) ;
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
int32 InErosionNoiseMode = ( int32 ) ErosionNoiseMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErosionNoiseMode " ) , InErosionNoiseMode , GEditorPerProjectIni ) ;
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
ErosionNoiseMode = ( ELandscapeToolErosionMode ) InErosionNoiseMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErosionNoiseScale " ) , ErosionNoiseScale , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " RainAmount " ) , RainAmount , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " SedimentCapacity " ) , SedimentCapacity , GEditorPerProjectIni ) ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " HErodeIterationNum " ) , HErodeIterationNum , GEditorPerProjectIni ) ;
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
int32 InRainDistMode = ( int32 ) RainDistMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " RainDistNoiseMode " ) , InRainDistMode , GEditorPerProjectIni ) ;
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
RainDistMode = ( ELandscapeToolHydroErosionMode ) InRainDistMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " RainDistScale " ) , RainDistScale , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " HErosionDetailScale " ) , HErosionDetailScale , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bool InbHErosionDetailSmooth = bHErosionDetailSmooth ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bHErosionDetailSmooth " ) , InbHErosionDetailSmooth , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bHErosionDetailSmooth = InbHErosionDetailSmooth ;
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
int32 InNoiseMode = ( int32 ) NoiseMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " NoiseMode " ) , InNoiseMode , GEditorPerProjectIni ) ;
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
NoiseMode = ( ELandscapeToolNoiseMode ) InNoiseMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " NoiseScale " ) , NoiseScale , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " SmoothFilterKernelSize " ) , SmoothFilterKernelSize , GEditorPerProjectIni ) ;
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " DetailScale " ) , DetailScale , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bool InbDetailSmooth = bDetailSmooth ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bDetailSmooth " ) , InbDetailSmooth , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bDetailSmooth = InbDetailSmooth ;
2015-04-20 10:12:55 -04:00
GConfig - > GetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " MaximumValueRadius " ) , MaximumValueRadius , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bool InbSmoothGizmoBrush = bSmoothGizmoBrush ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bSmoothGizmoBrush " ) , InbSmoothGizmoBrush , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bSmoothGizmoBrush = InbSmoothGizmoBrush ;
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
int32 InPasteMode = ( int32 ) ELandscapeToolPasteMode : : Both ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " PasteMode " ) , InPasteMode , GEditorPerProjectIni ) ;
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
//PasteMode = (ELandscapeToolPasteMode)InPasteMode;
SetPasteMode ( ( ELandscapeToolPasteMode ) InPasteMode ) ;
2014-03-14 14:13:41 -04:00
2015-09-03 05:28:49 -04:00
int32 InMirrorOp = ( int32 ) ELandscapeMirrorOperation : : MinusXToPlusX ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " MirrorOp " ) , InMirrorOp , GEditorPerProjectIni ) ;
MirrorOp = ( ELandscapeMirrorOperation ) InMirrorOp ;
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
int32 InConvertMode = ( int32 ) ResizeLandscape_ConvertMode ;
2015-04-20 10:12:55 -04:00
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ConvertMode " ) , InConvertMode , GEditorPerProjectIni ) ;
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
ResizeLandscape_ConvertMode = ( ELandscapeConvertMode ) InConvertMode ;
2014-03-14 14:13:41 -04:00
// Region
2015-04-20 10:12:55 -04:00
//GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseSelectedRegion"), bUseSelectedRegion, GEditorPerProjectIni);
//GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseNegativeMask"), bUseNegativeMask, GEditorPerProjectIni);
2014-03-14 14:13:41 -04:00
bool InbApplyToAllTargets = bApplyToAllTargets ;
2015-04-20 10:12:55 -04:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bApplyToAllTargets " ) , InbApplyToAllTargets , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
bApplyToAllTargets = InbApplyToAllTargets ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3229490 on 2016/12/09 by Cody.Albert
Integrated fix to support named changelists in SVN
Change 3229574 on 2016/12/09 by Simon.Tourangeau
Fix actor mobility getting changed on scene reimport
#jira UE-39102
Change 3229692 on 2016/12/09 by Cody.Albert
Fixing an XML Parser assert when parsing a root tag that completes on the same line.
#jira UE-30393
Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt
PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut)
Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt
Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load.
Change 3231475 on 2016/12/12 by Alex.Delesky
#jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100.
Change 3231476 on 2016/12/12 by Alex.Delesky
#jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once.
Change 3231477 on 2016/12/12 by Alex.Delesky
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3231479 on 2016/12/12 by Alex.Delesky
#jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown.
Change 3231480 on 2016/12/12 by Alex.Delesky
#jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file
Change 3231508 on 2016/12/12 by Alex.Delesky
Removing todo comment
#jira none
Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt
Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes
Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates
Change 3231618 on 2016/12/12 by Alex.Delesky
#jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value.
Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt
Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default
Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt
Brighten up the output log by default
Change 3231648 on 2016/12/12 by Alex.Delesky
#jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot.
Change 3231666 on 2016/12/12 by Alex.Delesky
#jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets.
Change 3231674 on 2016/12/12 by Alex.Delesky
#jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch.
Change 3231745 on 2016/12/12 by Alex.Delesky
Back out changelist 3231477 to fix build error C2259
Change 3232417 on 2016/12/13 by Simon.Tourangeau
Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event
- FBX Version
- Filename Hash
- Import Type
#jira UE-37453
Change 3232477 on 2016/12/13 by Michael.Dupuis
#jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side.
Change 3232571 on 2016/12/13 by Alex.Delesky
Back out changelist 3231745
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3232675 on 2016/12/13 by Alexis.Matte
Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue.
#jira UE-39692
Change 3232975 on 2016/12/13 by Alex.Delesky
Fix to build error C2259 for the IPluginWizardDefinition API change.
Change 3233146 on 2016/12/13 by Michael.Dupuis
#jira UE-38766 : Added eye dropper to select flatten height
Fixed a rounding errors resulting in not flattening to the specified height
Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value
Change 3233153 on 2016/12/13 by Alexis.Matte
We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array
#jira UE-38827
Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt
Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices.
#jira UE-7388
Change 3234485 on 2016/12/14 by Michael.Dupuis
tentative build fix for Mac
Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt
Made a setting to control if PIE enter and exit sounds are played. Off by default
Change 3236709 on 2016/12/15 by Simon.Tourangeau
Fix camera export rotation offset
#jira UE-34692
#jira UE-39740
Change 3236782 on 2016/12/15 by Jamie.Dale
Fixed EmitTermExpr failing to use the correct package ID
FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null.
Change 3236853 on 2016/12/15 by Alexis.Matte
Fix the serialization of the staticmesh property FMeshSectionInfoMap
Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt
Remove old define
Change 3239328 on 2016/12/18 by Richard.TalbotWatkin
Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition.
#jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport
Change 3239660 on 2016/12/19 by Alex.Delesky
#jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component.
Change 3239662 on 2016/12/19 by Alex.Delesky
#jira UE-39007 - The data table row editor now contains a Reset to Default control.
Change 3239663 on 2016/12/19 by Alex.Delesky
#jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog.
Change 3240696 on 2016/12/20 by Michael.Dupuis
#jira UETOOL-1009:
Added paddiing to columns view
Added auto resize of column when double clicking on splitter handle in the header
Remove right number alignment after discussion with Matt K.
Change 3240758 on 2016/12/20 by Michael.Dupuis
added missing non abstract implementation
Change 3240782 on 2016/12/20 by Michael.Dupuis
Added missing documentation for content browser column auto resizing
Change 3240817 on 2016/12/20 by Alex.Delesky
#jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab.
Change 3240834 on 2016/12/20 by Michael.Dupuis
tentative fix for build error
Change 3240984 on 2016/12/20 by Michael.Dupuis
Removed unnecessary functions
Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt
Fix compile errors
Change 3241966 on 2016/12/21 by Chris.Wood
Fixed Typo and changed execution order in "ComboBoxString" Component
[UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component
PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi)
#github https://github.com/EpicGames/UnrealEngine/pull/2971
Change 3242126 on 2016/12/21 by Alexis.Matte
Back out changelist 3236853
We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h.
Change 3244492 on 2017/01/02 by Jamie.Dale
Improved error message
Change 3244545 on 2017/01/02 by Nick.Darnell
Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded.
Change 3244549 on 2017/01/02 by Nick.Darnell
Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely.
The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors.
Now users through C++ can load and replace the hardware cursors with custom ones of their own,
e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0))));
The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources.
Change 3244845 on 2017/01/03 by Jamie.Dale
Fixing typo
#jira UE-39920
Change 3244903 on 2017/01/03 by Jamie.Dale
PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift)
Change 3245125 on 2017/01/03 by Alexis.Matte
Put back the dev-editor version because there was some data create before we back it out
Change 3246106 on 2017/01/04 by Chris.Wood
Removed broken CrashReportReciever pre-upload phase from CrashReportClient.
[UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever
Change 3246251 on 2017/01/04 by Alex.Delesky
#jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location.
Change 3246252 on 2017/01/04 by Alex.Delesky
#jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import.
The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point.
Change 3247620 on 2017/01/05 by Nick.Darnell
Automation - Removing an adjustment to the number of shots we take for high res shots.
Change 3247621 on 2017/01/05 by Nick.Darnell
Automation - Adding a few more rendering tests to the cornell box.
Change 3247629 on 2017/01/05 by Nick.Darnell
Automation - Improving the comparison row display for screenshots so it's obvious what each image represents.
Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt
PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist)
Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt
Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first
Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt
Fixed automation test warnings
#jira UE-40198
Change 3249481 on 2017/01/06 by Michael.Dupuis
#jira UE-37875 : Fill empty layers of components on assignation or creation
Also fill new component added with the tool from neighbours predominance
Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt
PR #3093: Include guard cleanup (Contributed by projectgheist)
Change 3249544 on 2017/01/06 by Michael.Dupuis
#jira UE-40299: validate if UISettings is valid
Change 3250738 on 2017/01/09 by Nick.Darnell
UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget.
#jira UE-39845
Change 3250865 on 2017/01/09 by Nick.Darnell
Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums.
Change 3250867 on 2017/01/09 by Nick.Darnell
Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size.
Change 3250936 on 2017/01/09 by Nick.Darnell
Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch.
Change 3250937 on 2017/01/09 by Nick.Darnell
Automation - Adding another example to the CornellBox test.
Change 3250958 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251162 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt
Attempt to fix static analysis warnings
Change 3251373 on 2017/01/09 by Nick.Darnell
Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order.
Change 3251525 on 2017/01/09 by Nick.Darnell
Automation - Fixing a build issue in ImageComparer.
Change 3252321 on 2017/01/10 by Alex.Delesky
#jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections.
Change 3252354 on 2017/01/10 by Nick.Darnell
Image Compare - Fixing a potential threading hazard in the image comparer.
Change 3252356 on 2017/01/10 by Nick.Darnell
Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata.
Change 3252601 on 2017/01/10 by Alexis.Matte
Fbx automation test, reload feature implementation
Change 3252761 on 2017/01/10 by Jamie.Dale
Fixing some IWYU errors with PCH disabled
Change 3252765 on 2017/01/10 by Jamie.Dale
Fixing some static analysis warnings
Change 3252793 on 2017/01/10 by Jamie.Dale
Fixing FText natvis
The text data visualizers have to be defined before the text visualizer
Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt
PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts)
Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt
Refactor scene importing to allow for plugins to make scene importers
Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt
Fix calling LoadModule in perforce source control off the main thread
Change 3256472 on 2017/01/12 by Jamie.Dale
Improved error reporting from IncludeTool
- The error reporting was using zero-based line indices which was misleading.
- The error reporting now includes the offending line to remove ambiguity.
Change 3256725 on 2017/01/13 by Jamie.Dale
IncludeTool can now parse typedef in Fwd headers
Change 3256758 on 2017/01/13 by Jamie.Dale
Added support for String Tables
String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text.
String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo.
Change 3257018 on 2017/01/13 by Alexis.Matte
FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag
Change 3257168 on 2017/01/13 by Jamie.Dale
Removed code that was writing null into bytecode during save
Change 3257344 on 2017/01/13 by Jamie.Dale
Backing out changelist 3256725, and excluding my header from the scan instead
Change 3257426 on 2017/01/13 by Nick.Darnell
Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha.
Change 3257572 on 2017/01/13 by Nick.Darnell
Slate - Fixing a build error.
Change 3257970 on 2017/01/14 by Jamie.Dale
Fixing exclude path
Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin)
Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3126: Fix to load editor style assets (Contributed by projectgheist)
Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88)
Change 3258539 on 2017/01/16 by Nick.Darnell
Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping.
Change 3258607 on 2017/01/16 by Nick.Darnell
Fixing the mac build.
Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt
Actors with experimental components no longer say
"Uses experimental class: Actor" when selecting the actor root in the details panel
#jira UE-40535
Change 3258678 on 2017/01/16 by Nick.Darnell
Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown.
Change 3258924 on 2017/01/16 by Nick.Darnell
Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups.
Change 3258929 on 2017/01/16 by Nick.Darnell
UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed.
Change 3259109 on 2017/01/16 by Nick.Darnell
Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype.
Change 3259111 on 2017/01/16 by Alexis.Matte
Avoid to move the camera when we re-import in the static mesh editor
#jira UE-40613
Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt
Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget
Change 3259300 on 2017/01/16 by Nick.Darnell
UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer.
Change 3259306 on 2017/01/16 by Nick.Darnell
Games - Removing the Game Specific implementations of PreConstruct.
Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt
Fix static analysis
Change 3261049 on 2017/01/17 by Nick.Darnell
Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird.
Change 3261434 on 2017/01/17 by Nick.Darnell
Fixing the mac build.
Change 3261435 on 2017/01/17 by Nick.Darnell
Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously.
Change 3261460 on 2017/01/17 by Nick.Darnell
UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code.
Change 3261833 on 2017/01/18 by Alexis.Matte
Fix all warning for fbx automation tests
#jira UE-40208
Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt
PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts)
Change 3262000 on 2017/01/18 by Jamie.Dale
Updated Slate to allocate widgets using MakeShared
This saves one allocation per-widget
Change 3262003 on 2017/01/18 by Nick.Darnell
UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing.
#jira UE-40523
Change 3262052 on 2017/01/18 by Alexis.Matte
Put back the staticmesh skinxx workflow
#jira UE-40782
Change 3262775 on 2017/01/18 by Nick.Darnell
Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU.
Change 3262818 on 2017/01/18 by Alex.Delesky
#jira UE-40668 - Editor preferences will now save for data pin styles
Change 3263679 on 2017/01/19 by Nick.Darnell
Slate - Adding some comments to the Slate Vertex Rounder.
Change 3265154 on 2017/01/19 by Nick.Darnell
Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way.
Change 3265478 on 2017/01/20 by Chris.Wood
Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog
[UE-40838] - Make hang time configurable and increase default in UnrealWatchdog
Change 3265600 on 2017/01/20 by Nick.Darnell
Slate - Making some const local variables const.
Change 3265714 on 2017/01/20 by Alex.Delesky
#jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.
Change 3265865 on 2017/01/20 by Alex.Delesky
#jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel.
Change 3267989 on 2017/01/23 by Jamie.Dale
Exposed String Tables to Blueprints
Change 3268018 on 2017/01/23 by Jamie.Dale
Small API clean-up for string tables
Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt
Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level
#jira UE-40930
Change 3269388 on 2017/01/24 by Chris.Wood
Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close.
[UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users
Standalone tool code only - doesn't touch engine
Change 3270205 on 2017/01/24 by Cody.Albert
Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object.
Change 3270231 on 2017/01/24 by Cody.Albert
Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters
Change 3271734 on 2017/01/25 by Michael.Dupuis
#jira UE-38631
Add sorting for landscape target layer, user can now sort alphabetical, material based or custom
Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot
Fixed SDropTarget to only consider the drop action if it was started by it
Added visibility toggle to only show used layers in the currently loaded data
Change 3271797 on 2017/01/25 by Jamie.Dale
Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense
Change 3271813 on 2017/01/25 by Jamie.Dale
Fixed bad access of a shared this during widget destruction when a context menu was open
Change 3271988 on 2017/01/25 by Nick.Darnell
Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days.
Change 3271992 on 2017/01/25 by Nick.Darnell
Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property.
Change 3272134 on 2017/01/25 by Jamie.Dale
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text).
Change 3272301 on 2017/01/25 by Nick.Darnell
Slate - More cleanup from the removal of a old legacy enum that people were still using.
Change 3273070 on 2017/01/26 by Chris.Wood
Fix CIS errors in landscape code from CL 3271734
Change 3273123 on 2017/01/26 by Chris.Wood
Fix crash during init of CRC when running packaged without access to main engine config hierarchy.
Change 3273194 on 2017/01/26 by Nick.Darnell
Fixing some build warnings.
Change 3273242 on 2017/01/26 by Michael.Dupuis
#jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels
Change 3273279 on 2017/01/26 by Jamie.Dale
String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine")
Change 3273483 on 2017/01/26 by Alex.Delesky
#jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce.
Also makes a slight change to the ResavePackages commandlet to submit files marked for delete.
Change 3273568 on 2017/01/26 by Alex.Delesky
Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template.
#jira none
Change 3273855 on 2017/01/26 by Alex.Delesky
#jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode.
Change 3274200 on 2017/01/26 by Alex.Delesky
For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods.
Change 3274317 on 2017/01/26 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3275072 on 2017/01/27 by Michael.Dupuis
#jira UE-38631 tweaks
Fix typo error
Iterate all components, not only active one
Force expand the Target Layers widget
Change 3275249 on 2017/01/27 by Alexis.Matte
Color grading controls: Keep the vector ratio when changing the master slider
#jira UETOOL-1098
Change 3275282 on 2017/01/27 by Alexis.Matte
Color grading controls: Cosmetic changes
#jira UETOOL-1099
Change 3275292 on 2017/01/27 by Alexis.Matte
Make sure the build is called once when we import a staticmesh.
#jira UE-40947
Change 3275430 on 2017/01/27 by Alexis.Matte
Add some fbx automation tests
- Import a mesh with no material
- Import corrupted asset with no section in a LOD
- Import morph targets
- Materials name clash
- Max Multimap material ordering
Change 3275683 on 2017/01/27 by Michael.Dupuis
#jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo
Change 3276237 on 2017/01/27 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3276266 on 2017/01/27 by Jamie.Dale
Fix for accessing a potentially null pointer
Change 3277065 on 2017/01/30 by Chris.Wood
Move crash report temp files to saved config and cleanup on schedule.
[UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor
Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt
Fix crash when cancelling SaveCurrentLevelAs
#jira UE-41182
Change 3277409 on 2017/01/30 by Jamie.Dale
Improved text rendering when the last resort font is missing
The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing.
- The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings).
- The Slate font renderer no longer tries to use the last resort font if it's not available.
- Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing).
- HarfBuzz shaped text now uses the fallback character correctly.
Change 3277749 on 2017/01/30 by Nick.Darnell
Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value.
Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes.
Change 3277805 on 2017/01/30 by Nick.Darnell
Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make.
Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt
Fix Niagara slate style warning on startup
Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile error
Change 3278132 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile errors
Change 3278186 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278525 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278534 on 2017/01/30 by Nick.Darnell
Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration.
Change 3278941 on 2017/01/31 by Nick.Darnell
Fixing a build warning due to build team refactor.
Change 3278949 on 2017/01/31 by Nick.Darnell
Fixing incrmenetal build issues.
Change 3278953 on 2017/01/31 by Nick.Darnell
Fixing some incrmental linux build issues.
Change 3278964 on 2017/01/31 by Nick.Darnell
FIxing more incremental build issues.
Change 3279256 on 2017/01/31 by Michael.Dupuis
#jira UE-41319
#jira UE-41315
#jira UE-41316
Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor
Change 3279270 on 2017/01/31 by Chad.Garyet
re-updating the automation test pool
[CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
GConfig - > GetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " ShowUnusedLayers " ) , ShowUnusedLayers , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
// Set EditRenderMode
SetbUseSelectedRegion ( bUseSelectedRegion ) ;
SetbUseNegativeMask ( bUseNegativeMask ) ;
// Gizmo History (not saved!)
GizmoHistories . Empty ( ) ;
2014-09-16 16:22:01 -04:00
for ( TActorIterator < ALandscapeGizmoActor > It ( ParentMode - > GetWorld ( ) ) ; It ; + + It )
2014-03-14 14:13:41 -04:00
{
2014-09-16 16:22:01 -04:00
ALandscapeGizmoActor * Gizmo = * It ;
if ( ! Gizmo - > IsEditable ( ) )
2014-03-14 14:13:41 -04:00
{
new ( GizmoHistories ) FGizmoHistory ( Gizmo ) ;
}
}
2022-05-20 18:54:31 -04:00
FString NewLandscapeMaterialName ;
// If NewLandscape_Material is not null, we will try to use it
if ( ! NewLandscape_Material . IsExplicitlyNull ( ) )
{
NewLandscapeMaterialName = NewLandscape_Material - > GetPathName ( ) ;
}
else
{
// If this project already has a saved NewLandscapeMaterialName, we use it
GConfig - > GetString ( TEXT ( " LandscapeEdit " ) , TEXT ( " NewLandscapeMaterialName " ) , NewLandscapeMaterialName , GEditorPerProjectIni ) ;
if ( NewLandscapeMaterialName . IsEmpty ( ) )
{
/* Project does not have a saved NewLandscapeMaterialNameand and NewLandscape_Material is not already assigned;
* we fallback to the DefaultLandscapeMaterial for the project , if set */
const ULandscapeSettings * Settings = GetDefault < ULandscapeSettings > ( ) ;
TSoftObjectPtr < UMaterialInterface > DefaultMaterial = Settings - > GetDefaultLandscapeMaterial ( ) ;
if ( ! DefaultMaterial . IsNull ( ) )
{
NewLandscapeMaterialName = DefaultMaterial . ToString ( ) ;
}
}
}
if ( ! NewLandscapeMaterialName . IsEmpty ( ) )
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3358467)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3297108 on 2017/02/10 by Mieszko.Zielinski
Added AISight's peripherial vision angle claming as well as marked up UI to not allow values from outside of [0,180] range #UE4
#jira UE-41114
Change 3299467 on 2017/02/13 by Marc.Audy
Don't try to update active sounds on audio thread if the audio component is not active. If these functions are callled from a constructor on an async loading thread it can cause a crash
Change 3300692 on 2017/02/13 by Marc.Audy
no auto
Change 3301424 on 2017/02/14 by Marc.Audy
Handle gateway expansion before the node matching loop
#jira UE-41858
Change 3301547 on 2017/02/14 by Marc.Audy
PR #3246: Added BindDelegate that supports functions with custom (static) arguments (Contributed by PhoenixBlack)
#jira UE-41926
Change 3301557 on 2017/02/14 by Marc.Audy
When passing null to Rename for the new name, maintain the OldName is possible
#jira UE-41937
Change 3301676 on 2017/02/14 by Marc.Audy
Fix pending occlusion async traces from crashing during shutdown
#jira UE-41939
Change 3302705 on 2017/02/14 by Mieszko.Zielinski
Removed 'PRAGMA_DISABLE_OPTIMIZATION' uccurences from AIModule #UE4
Change 3302898 on 2017/02/14 by Dan.Oconnor
Fix double negative
Change 3302954 on 2017/02/14 by Dan.Oconnor
Make sure we use a good version of the class
Change 3302977 on 2017/02/14 by Dan.Oconnor
Optimization in reinstancer turned back on - 3302898 has fixed the regression
Change 3302984 on 2017/02/14 by Dan.Oconnor
Relink classes that were not recompiled in a wave of the compilation manager - currently only happens for data only blueprints.
This fixes issues in Odin when using the compilation manager
Change 3303824 on 2017/02/15 by Richard.Hinckley
Updating URL for FABRIK system information.
Change 3304284 on 2017/02/15 by Dan.Oconnor
Build fix
Change 3304297 on 2017/02/15 by Dan.Oconnor
Shadow variable fix
Change 3304465 on 2017/02/15 by Lukasz.Furman
fixed handling pathfollowing's requests by FloatingPawnMovement
#jira UE-41884
Change 3305031 on 2017/02/15 by Marc.Audy
All objects should get PostLoadSubobjects calls, regardless of whether they are outered to a CDO or not
#jira UE-41708
Change 3305505 on 2017/02/15 by Michael.Noland
Blueprints: Fix a crash when opening a BP with a parent class that no longer exists (unguarded access to the parent class)
Change 3305506 on 2017/02/15 by Michael.Noland
QAGame: Created some assets that reference a non-existent type to test 'gracefully' handling missing native class types
Change 3306091 on 2017/02/16 by Marc.Audy
PR #3263: Fixed duplicate comment from OnAudioFinished (Contributed by FrostByteGER)
#jira UE-42027
Change 3306574 on 2017/02/16 by Marc.Audy
Linked To pins can belong to invalid nodes and fail to load, this shouldn't be considered fatal
Change 3307160 on 2017/02/16 by Marc.Audy
Rename(null, null ... is sometimes used to just force a name out of the way, so in that case don't try and maintain old name.
Change 3307982 on 2017/02/16 by Michael.Noland
QAGame: Added another test asset for missing classes (this time a missing node class placed in a BP)
Change 3308097 on 2017/02/16 by Michael.Noland
Graph Editor: Instantly clear GraphNodeForMenu and GraphPinForMenu as soon as the menu is dismissed, fixing crashes and other odd issues after deleting pins
#jira UE-41789
Change 3308303 on 2017/02/16 by Dan.Oconnor
Make sure we don't call GetDefaultObject while compiling on a non-native class
Change 3308850 on 2017/02/17 by Mieszko.Zielinski
Fully exposed NavModifierVolume as ENGINE_API #UE4
Change 3309624 on 2017/02/17 by Phillip.Kavan
[UE-40443] Recursively emit ctor initialization code for nested default subobjects when nativizing a Blueprint class.
change summary:
- modified FEmitDefaultValueHelper::OuterGenerate() to recursively detect and handle nested default subobjects.
#jira UE-40443
Change 3310475 on 2017/02/17 by Dan.Oconnor
Split bluepint compilation into CompileClassLayout and CompileFunctions, fix class hierarchy after creating reinstancers in blueprintcompilation manager. Together this means we don't need to run RecompileBlueprintBytecode
Change 3310487 on 2017/02/17 by Dan.Oconnor
Fix build error missed by preflgiht
Change 3310497 on 2017/02/17 by Dan.Oconnor
More build fixes for things missed by preflight...
Change 3310635 on 2017/02/17 by Dan.Oconnor
Remove unused parameter and add comment to blueprint compilation manager explaining abuse of bBeingCompiled
Change 3310639 on 2017/02/17 by Dan.Oconnor
Shadow variable fixes, not sure why these are being detected now
Change 3311855 on 2017/02/20 by Marc.Audy
Fix UChildActorComponent::ParentComponent being null on the client
#jira UE-42140
Change 3312444 on 2017/02/20 by Marc.Audy
Add a bAutoDestroy pin to BP Spawn Sound and Force Feedback nodes to allow users to reuse the created component
#jira UE-41267
Change 3312691 on 2017/02/20 by mason.seay
Deleting map now that bug has been fixed
Change 3312709 on 2017/02/20 by Phillip.Kavan
[UE-39705] Fix broken collision shapes when cooking with optimized BP component data option.
change summary:
- modified FComponentInstancingDataUtils::RecursivePropertyGather() to exclude deprecated properties, since they won't be serialized on save.
- modified FBlueprintCookedComponentInstancingData::LoadCachedPropertyDataForSerialization() to remove the PPF_UseDeprecatedProperties flag (these are no longer included in the delta).
- modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here).
- modified AActor::CreateComponentFromTemplateData() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here; this caused deprecated property defaults to be copied out to the instance).
- modified AActor::CreateComponentFromTemplateData() to append RF_PostLoad/RF_NeedPostLoadSubobjects and call PostDuplicate()/ConditionalPostLoad() on the new instance (needed to mirror what SDO does in the unoptimized case - for proper physics RB setup specifically, but may be other areas where that's needed).
#jira UE-39705
Change 3313161 on 2017/02/20 by Mieszko.Zielinski
PR #3272: Use Pawn for GetNavAgentPropertiesRef(). (Contributed by drelidan7)
Change 3314151 on 2017/02/21 by Mieszko.Zielinski
fix to hlods complaining about missing nav collision in cooked builds #UE4
Made sure hlod-generated StaticMeshes are marked as not having navigation data
#jira UE-42034
Change 3314355 on 2017/02/21 by Marc.Audy
Set error message back to be correctly about mobility
#jira UE-42209
Change 3314566 on 2017/02/21 by Phillip.Kavan
[UE-40801] Switch to an ensure() to potentially help diagnose a one-off assertion crash in the SCS editor if encountered again in a future release.
#jira UE-40801
Change 3315459 on 2017/02/21 by Mike.Beach
Updated marquee selection in graph editors. Ctrl dragging now inverts nodes' selection state (not only deselects them - holding alt is now for only deselection).
#jira UE-16359
Change 3315546 on 2017/02/21 by Mike.Beach
Mirroring CL 3294552
Count "GeneratedStub" as a success for cooked file generation - ensures the saved asset gets recorded in the asset registry.
#jira ODIN-5869
Change 3315554 on 2017/02/21 by Mike.Beach
Do not generate NativizedAsset plugin files if no Blueprints were nativized (cut down on mod generate/cook time).
#jira ODIN-6211
Change 3317225 on 2017/02/22 by mason.seay
Enable Net Use Owner Frequency on blueprints. This allows the client to use different weapons. Doesn't fix UE-42017 though.
Change 3317495 on 2017/02/22 by Marc.Audy
Expose raw input device configurations to other modules by request
#jira UE-42204
Change 3319966 on 2017/02/23 by Nick.Atamas
Polished up the material reroute node:
- Removed some unnecessary widgets
- Centered the pin node
Change 3320099 on 2017/02/23 by Mike.Beach
Guarding against passing self pins to referance parameters (it is not a property that is referencable, and would crash). Notifying the user through pin connection messages, and providing a script exception.
#jira UE-40861
Change 3321227 on 2017/02/24 by Marc.Audy
Just use name rather than going Name -> String -> TCHAR -> Name
Change 3321425 on 2017/02/24 by Marc.Audy
Minor optimizations to avoid string construction when doing StaticFindObject and ResolveName
Change 3321630 on 2017/02/24 by Mike.Beach
Removing reference notation from actor pointer param - allowing you to pass 'self' to Blueprint exposed function.
Change 3321845 on 2017/02/24 by Lukasz.Furman
fixed navlink processor trace accepting only components with WorldStatic object type
#ue4
Change 3322474 on 2017/02/24 by Aaron.McLeran
UE-42345 Rewriting thumbnail renderer
Change 3322490 on 2017/02/24 by Aaron.McLeran
UE-42345 Forgot to take abs of sample before averaging
Change 3323562 on 2017/02/27 by Mike.Beach
Fixing bad merge, copying loop from //UE4/Main that accidently got replaced.
Change 3323685 on 2017/02/27 by Mike.Beach
Preventing us from cross-binding editor & PIE actors when we fixup level script actor bindings (on duplicate for PIE).
#jira UE-30816
Change 3323776 on 2017/02/27 by Marc.Audy
Coding standard clean up pass
Change 3324050 on 2017/02/27 by Ben.Zeigler
Fix issue with a StreamableHandle being cancelled while in progress leaving the in progress flag active. Added and improved error messages when streaming goes wrong
Port of 3317217, 3315540, and 3314374 from UE4-Fortnite
Change 3324294 on 2017/02/27 by Ben.Zeigler
Engine changes needed to support "Asset Management" UI:
Add concept of "Manage" dependency to the Asset Registry, to represent that an asset like a texture is managed by a Primary Asset. This will be used to compute usage statistics and chunking
Add ability for AssetManager to override the PrimaryAssetType/Id on a asset data loaded off disk. Needed so the asset audit tools work properly
Significant performance improvements to the asset registry dependency gather, and correctly report as in progress while dependencies are still being gathered. On Fortnite it now finishes in 10 seconds instead of 100
Add bUpdateDiskCacheAfterLoad option for the asset registry, if true (default) this will update the Asset Registry's disk cache when an object is loaded, only in the editor. This is so changes made in PostLoad are correctly mirrored in the disk cache
Add PrimaryAssetType as a wrapper struct around FName to allow customizations and blueprint usage, clean up the noexport definitions for a few related classes
Add Asset Manager code to create and query "Manage" references used for auditing and chunking
Add code to read AssetManager scanning rules out of the AssetManagerSettings object, also settable in editor
Made it so UWorlds are now PrimaryAssets of the type Map, and enable the AssetManager by default for all games
Port of CL #3323720 and related fixes from Fortnite
Change 3324295 on 2017/02/27 by Ben.Zeigler
Add AssetManagerEditor which contains the editor interface for the AssetManager system, and engine code needed to support it
Add support for Management references to the Reference Viewer, and add ability to extend that context menu from plugins/games
Add struct customizations for PrimaryAssetId and PrimaryAssetType
Add AssetAuditBrowser window that shows a specialized asset picker for auditing, accessible from content browser, reference viewer, and main windows pane
Add AssetAuditContext, which is a cleaned up port of the one from Paragon. This needs some more work before being final
Expose PropertyCustomizationHelpers::MakePropertyComboBox which allows making an "enum-like" combo box for struct customizations, it now works much like the PropertyEditorAsset UI
Add Custom Column support to AssetView/AssetPicker. This can be used to show runtime-generated column data
Fix bug in SAssetView where column view did not work with a filter predicate, because the column view was generated before the deferred filter predicate run, leading to an empty filter
Port of CL #3323722 and related fixes from Fortnite
Change 3324398 on 2017/02/27 by Ben.Zeigler
CIS fix
Change 3324442 on 2017/02/27 by Ben.Zeigler
Nonunity fix discovered while testing my nonunity fix
Change 3325465 on 2017/02/28 by Marc.Audy
Expand RawInput to support up to 20 buttons
Change 3325468 on 2017/02/28 by Marc.Audy
Fix CIS
Change 3325887 on 2017/02/28 by Phillip.Kavan
[UE-41893] Implicitly nativize child Blueprints that override one or more BlueprintCallable functions from a parent Blueprint.
change summary:
- added FBlueprintEditorUtils::ShouldNativizeImplicitly()
- modified FBlueprintGlobalOptionsDetails::IsNativizeEnabled() to disable the 'Nativize' checkbox when the BP is implicitly enabled
- modified FBlueprintGlobalOptionsDetails::GetNativizeState() to set the 'Checked' state when the BP is implicitly enabled
- modified FBlueprintGlobalOptionsDetails::GetNativizeTooltip() to set an alternate tooltip for the disabled state (when the BP is implicitly enabled)
- modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to ensure that implicitly-enabled BPs are flagged as selected for nativization
#jira UE-41893
Change 3326713 on 2017/02/28 by Marc.Audy
Update MAX_NUM_CONTROLLER_BUTTONS to match number of keys created
Change 3327688 on 2017/03/01 by Marc.Audy
Fix spelling, remove autos
Change 3328139 on 2017/03/01 by Marc.Audy
Win32 doesn't report the DeviceData in the same way that Win64 does, removing filtered check for now so that Win32 packaged games can use RawInput (4.15.1)
#jira UE-42375
Change 3328550 on 2017/03/01 by Mike.Beach
Typo fix in cast node tooltip.
Change 3328575 on 2017/03/01 by Nicholas.Blackford
Submitting Tick Interval Functional Test
Change 3328972 on 2017/03/02 by Jack.Porter
Fix for crash entering Landscape mode
#jira UE-42497
Change 3329224 on 2017/03/02 by Nick.Bullard
Removing Redirector from EngineTest project
Change 3330093 on 2017/03/02 by Mike.Beach
Modified fix from Marc.Audy - Guarding against malformed graphs (missing their schema), which can happen in the middle of an undo transaction (removing the graph). Returning the graph's path name in this situation (instead of the display name), so we atleast have some semblance of context.
#jira UE-42166
Change 3330306 on 2017/03/02 by Mike.Beach
Replacing ArrayLibrary Get() calls in blueprints with a custom node, which can be toggled back and forth from returning by reference or by value.
#jira UE-6451
Change 3330626 on 2017/03/02 by samuel.proctor
Functional Test for Blueprint Containers
Change 3330690 on 2017/03/02 by Mike.Beach
Modified the fix from CL 3308097 - cannot clear the edgraph pin context since many menu actions expect it be available still as the menu is clossing (menu's dismiss gets triggered before the action is executed).
#jira UE-42500
Change 3330704 on 2017/03/02 by Mike.Beach
CIS fix - fallout from CL 3330306
Change 3330875 on 2017/03/02 by Dan.Oconnor
Iteration on compile manager - removed skeleton compile pass in favor of FastGenerateSkeletonClass (directly generate reflection data from blueprint source data - no graph cloning)
Change 3330892 on 2017/03/02 by Mike.Beach
CIS fix for linux builds - include filename is case sensitive.
Change 3331585 on 2017/03/03 by Mike.Beach
Fix for CIS issues (fallout from CL 3330306) - had success/failure return value flipped. Spuriously failing on deprecated node fixup.
Change 3333455 on 2017/03/06 by Ben.Zeigler
Cleaned up version of CL #3332060, fixes crashes when calling StreamableManager::SynchronousLoad from inside a async PostLoad callback
Also disable the "do sync load as async load" code in EDL, as EDL basically already does that internally
Move the recursion guard inside async load tick outside of the EDL section, it's just as unsafe with EDL off
Change 3333484 on 2017/03/06 by Ben.Zeigler
#jira UE-42312 Fix crash trying to read Searchable Name references to objects in the same package, now guess at package/object name
Change 3333553 on 2017/03/06 by Ben.Zeigler
#jira UE-42387 Don't write out empty generated ini files for config files that are empty in both source and destination, this stops plugins without configs from ending up in cache
Change 3333697 on 2017/03/06 by Mike.Beach
Resolving some CIS errors - fix for missed handling of split-struct pins (fallout from CL 3330306) on deprecated node conversion (mapping old pins to new pins).
Change 3334047 on 2017/03/06 by Ben.Zeigler
#jira UE-42587 Now that we handle Add gameplay cues correctly by deferring them until after load, we also need to handle Remove cues, to avoid cues being stuck on permanently.
Change 3334228 on 2017/03/06 by Ben.Zeigler
#jira UE-42153 Fix several crashes with gameplay tag query structs
#jira UE-39760 Fix it to display tag query description on creation
Change 3335221 on 2017/03/07 by Lukasz.Furman
fixed compilation errors for macros: UE_VLOG_MESH, UE_CVLOG_MESH
#ue4
Change 3335733 on 2017/03/07 by dan.reynolds
Fixing Attenuation Shape Material Reference
Change 3335918 on 2017/03/07 by Mike.Beach
More deeply nesting an active world check in UMeshComponent::CacheMaterialParameterNameIndices(). Only guarding the parts that use the world (prior to this, we were blocking material parameter discovery, which was causing cooked content to loose material settings).
#jira UE-42480
Change 3336053 on 2017/03/07 by zack.letters
Moved and renamed test to meet naming convention and proper location
Change 3336087 on 2017/03/07 by Phillip.Kavan
[UE-18618] Fix an ensure() misfire on PIE exit for listen server mode.
change summary:
- Modified UWorld::TransferBlueprintDebugReferences() to allow the LevelScript BP's target debug object reference to be reset to NULL when CreatePIEWorldBySavingToTemp() has recompiled it during the PIE startup process and autosaved the BP as a temporary.
#jira UE-18618
Change 3336118 on 2017/03/07 by Phillip.Kavan
Ensure that BP class component templates are included as preload dependencies where appropriate.
Change 3336418 on 2017/03/07 by Marc.Audy
Set the PIEInstanceID before calling ConvertToPIEPackageName (4.15.1)
#jira UE-42507
Change 3336529 on 2017/03/07 by dan.reynolds
AEOverview UMG Interface
Change 3336729 on 2017/03/07 by Michael.Noland
Blueprints: Changed a checkSlow() followed by unguarded access to an if and ensure() in BlueprintActionFilterImpl::IsDeprecated to prevent a potential crash in release if the node class is invalid for some reason
#jira UE-42519
Change 3337054 on 2017/03/08 by Mieszko.Zielinski
Fixed UGameplayTaskResource::AutoResourceID getting cleared on hot reload #UE4
Change 3337605 on 2017/03/08 by Mieszko.Zielinski
PR #3345: Fix reversed comparison in FGameplayResourceSet::HasAllIDs (Contributed by hoelzl)
Change 3337612 on 2017/03/08 by Lina.Halper
Commenting out ensure as this doesn't cause any harm and fix it up later by itself.
- adding ticket for further investigation
#rb: Martin.Wilson
#jira: UE-42062
Change 3338353 on 2017/03/08 by Mike.Beach
Undoing CL 3320099, and instead allowing self nodes to be plugged into const ref inputs. Now auto-generating ref terms for the self node (the input param expects an addressable UProperty). Skipping this for native functions, as UHT already does something similar.
#jira UE-40861
Change 3340052 on 2017/03/09 by Marc.Audy
Don't mark a blueprint dirty if the default value isn't actually set
#jira UE-42511
Change 3340211 on 2017/03/09 by samuel.proctor
Adding TMap/TSet tests for Containers Functional Test
Change 3340272 on 2017/03/09 by Marc.Audy
auto removals
small optimizations
Change 3340341 on 2017/03/09 by Marc.Audy
Fortnite fixes for blueprint exposed editor only struct members
#jira UE-42430
Change 3340356 on 2017/03/09 by Marc.Audy
Do not allow blueprint exposed editor only struct members
#jira UE-42430
Change 3340369 on 2017/03/09 by Mike.Beach
Certain operations expect set/map elements to be constructed, instead of using an 'uninitialized' value (like with FStrings, previously this would blow up attempting to assign a value to an FString that hadn't been constructed). Fix is to construct the member when we make space in the container (emulating execSetArray).
#jira UE-42572
Change 3340445 on 2017/03/09 by mason.seay
Renamed and updated test map. Also disabled tests until reviewed
Change 3340627 on 2017/03/09 by Marc.Audy
Remove autos
Change 3340639 on 2017/03/09 by Dan.Oconnor
Avoid CDO creation when asking if an object IsDefaultSubobject
Change 3340642 on 2017/03/09 by Marc.Audy
Correctly maintain removed items from arrays when duplicating actors via T3D
#jira UE-42278
Change 3340689 on 2017/03/09 by Dan.Oconnor
Avoid UObject::Modify calls when renaming edgraph nodes as part of UEdGraphNode::PostLoad() or UEdGraph::MoveNodesToAnotherGraph
Change 3340709 on 2017/03/09 by Dan.Oconnor
Remove misplace dClassDefaultObject null check for now
Change 3340710 on 2017/03/09 by Dan.Oconnor
Avoid FindRedirectedPropertyName when performing StaticDuplicateObject
Change 3340728 on 2017/03/09 by Dan.Oconnor
Null checking CDO so that we can duplicate a class with no CDO
Change 3342184 on 2017/03/10 by mason.seay
Nav mesh generation test - not finished
Change 3342930 on 2017/03/13 by Mieszko.Zielinski
Added missing undefining of local macros in VisualLoggerAutomationTests.cpp #UE4
Change 3343739 on 2017/03/13 by Marc.Audy
Protect against ChildActorClass becoming null while ChildActorTemplate remains valid.
Change 3343758 on 2017/03/13 by Marc.Audy
Ensure that when you change visibility, children also get marked dirty as needed.
SetVisibility is no longer virtual, use OnVisibilityChanged in subclasses instead
#jira UE-42240
Change 3343816 on 2017/03/13 by Mike.Beach
Making sure we build CrashReporter for nativized clients.
#jira UE-42056
Change 3343858 on 2017/03/13 by Phillip.Kavan
Back out changelist 3336118 (per discussion) - did not solve the issue.
Change 3344218 on 2017/03/13 by Mike.Beach
Patching some holes in the wildcard pin logic for our new array GetItem node (making sure the node properly retains its type).
Change 3344388 on 2017/03/13 by Mike.Beach
Preventing make/break nodes from being in the context menu for structs that are not labeled 'BlueprintType' (still available if you drag off a node with a struct pin of that type).
#jira UE-37971
Change 3344411 on 2017/03/13 by dan.reynolds
AEOverviewMain update
- Organized Variables
- Added comments on level interface with UI script
Change 3344956 on 2017/03/14 by Marc.Audy
Remove autos
Slight optimization
Change 3345365 on 2017/03/14 by Mike.Beach
In the Blueprint diff tool, no longer assuming that graph names are unique (using the outer path to find matching graphs between diff panels).
#jira UE-42787
Change 3345565 on 2017/03/14 by Marc.Audy
auto removal
Change 3345654 on 2017/03/14 by Marc.Audy
Allow hierarchical metadata querying when HACK_HEADER_GENERATION is true
Change 3345771 on 2017/03/14 by Zak.Middleton
#ue4 - Refactored CharacterMovementComponent determination of net send rate when combining moves into a virtual function GetClientNetSendDeltaTime(). Added configurable values to GameNetworkManager under [/Script/Engine.GameNetworkManager]:
ClientNetSendMoveDeltaTime=0.0111f
ClientNetSendMoveDeltaTime=0.0222f
ClientNetSendMoveThrottleAtNetSpeed = 10000
ClientNetSendMoveThrottleOverPlayerCount=10
These are the default values maintained for backwards compat.
Related to OR-36422.
Change 3346314 on 2017/03/14 by Dan.Oconnor
Add two features to FBlueprintCompileReinstancer. Exposing it's CPFUO extensions and add a flag to avoid potentially unneeded CDO duplication.
Change 3346329 on 2017/03/14 by Dan.Oconnor
Avoid CDO creation in UBlueprintGeneratedClass::PostLoad - rely instead on compiler
Change 3346436 on 2017/03/14 by Dan.Oconnor
Compilation Manager iteration - improvements to reinstancing logic and postponement of reinstancing reference replacement until after loading has finished (done strictly to reduce the number of 'find references' calls). Behavior change is behind the GMinimalCompileOnLoad flag
Change 3346632 on 2017/03/14 by Ben.Zeigler
Change StringClassReference customization to use MustImplement and BlueprintBaseOnly metadata, to match the metadata used by SubclassOf customization
Add missing Class Property metadata to the metadata list
Change 3347525 on 2017/03/15 by Marc.Audy
PR #3371: Fix for binding ability action to input component (Contributed by ryanjon2040)
#jira UE-42810
Change 3347562 on 2017/03/15 by Phillip.Kavan
[UE-32816] Support for value-based bitfield enum associations in the editor.
notes:
- default mode is still index-based, so there are no backwards-compatibility issues
change summary:
- new metadata key for flagging enums as value-based (UseEnumValuesAsMaskValuesInEditor)
- modified SPropertyEditorNumeric::Construct() to include logic for handling value-based enum associations
- modified SGraphPinInteger::Construct() to include logic for handling value-based enum associations
- added default value fixup to UK2Node_BitmaskLiteral, so that changed/removed values get masked out on load
- switched UK2Node_BitmaskLiteral::PostLoad() to Serialize(), so that default value fixup occurs before compilation
#jira UE-32816
Change 3348030 on 2017/03/15 by Marc.Audy
Remove experimental blueprintable components setting, they are supported fully
Change 3348034 on 2017/03/15 by Phillip.Kavan
CIS fix.
Change 3348054 on 2017/03/15 by Marc.Audy
Fix shadow error
Change 3348063 on 2017/03/15 by mason.seay
Updateed bp logic to use asserts. Added scenarios to descriptions of tests
Change 3348131 on 2017/03/15 by mason.seay
Updating maps and reorganizing content
Change 3348146 on 2017/03/15 by Mike.Beach
Making it so we can use DataTable variables as inputs in the GetDataTableRow node. The output pin is now a wildcard when the row type is undefined, and we throw an access error at runtime if the table and output type don't match.
Change 3348213 on 2017/03/15 by dan.reynolds
AEOverview UMG Update
- Added level selection persistence between categories (so you can pick and choose from multiple categories)
- Added a clear all selections button
- Added comments to the UMG BP
Change 3348344 on 2017/03/15 by Lukasz.Furman
fixed missing path following result flag descriptions
#ue4
Change 3348489 on 2017/03/15 by mason.seay
Moved content and updated test descriptions
Change 3348496 on 2017/03/15 by Mike.Beach
Keeping the new version of the GetArrayItem node from causing a stack overflow with wildcard reroute nodes.
Change 3348502 on 2017/03/15 by Ben.Zeigler
#jira UE-42935 Fix several issues with GameplayTag and Container switch nodes crashing. Container didn't handling having multiple empty nodes correctly
Fix general issue with Switch nodes where removing an execution pin with right click was not synchronizing the pin list properly
Change it so the Container switch shows the simple tag string instead of Case 0, and change it to not quote by default for Container display strings
Change 3348504 on 2017/03/15 by Ben.Zeigler
#jira UE-41554 Add GameplayTag initialization to InitializeObjectReferences if it hasn't been initialized yet, this is important so it gets initialized before being initialized from unsafe areas like Serialize
Change 3348512 on 2017/03/15 by Mike.Beach
Reroute nodes connected to a new output, will propagate the type through its inputs (was previously treating the input's wildcard type as authoritative).
Change 3348513 on 2017/03/15 by Phillip.Kavan
[UE-38979] Error out on an attempt to nativize a Blueprint class that also implements a native C++ interface with a pure virtual function declaration.
change summary:
- added TIsAbstract<T> for traits testing to see if native C++ types are abstract (in terms of C++, not UE4)
- changed TCppStructOps::IsAbstract() to use TIsAbstract<T>
- added UClass::CppClassOps to capture class-specific traits info for the underlying C++ class type
- modified UClass::PurgeClass() to clean up class-specific traits info (if valid)
- modified FNativeClassHeaderGenerator::ExportNativeGeneratedInitCode() to generate code to initialize class-specific traits info for compiled-in class types
- modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to throw an error during nativization if a target BP class is found to implement a native interface class that's also abstract (i.e. an interface class that declares one or more of its methods as pure virtual)
- modified BlueprintActionFilterImpl::IsExtraneousInterfaceCall() to initially exclude any native interface class that is also abstract
- modified FKismetEditorUtilities::CanBlueprintImplementInterface() to additionally exclude any native class that is also abstract
- modified FBlueprintInterfaceFilter::IsClassAllowed() to additionally exclude any native class that is also abstract
#jira UE-38979
Change 3348651 on 2017/03/15 by Mike.Beach
Fixing the new GetDataTableRow node so that it'll give you the option of reroute nodes.
Change 3348684 on 2017/03/15 by Michael.Noland
Blueprints: Allow string and text variables to be marked as multi-line
PR #3294: UE-42147: Add multiline to BP view details (Contributed by projectgheist)
#jira UE-42275
Change 3348691 on 2017/03/15 by Michael.Noland
Cameras: Added support for specifying a default aspect ratio and whether or not to constrain to it in a camera manager subclass; useful when using custom view logic that doesn't source from a camera component as the view target
PR #2593: Finish implementing aspect ratio handling for PlayerCameraManager (Contributed by CleanCut)
#jira UE-33052
Change 3348698 on 2017/03/15 by Michael.Noland
Removed a sprite reference from trigger shape classes and excluded some component references from camera rigs in cooked builds
PR #2922: Ensuring editor data is not accessed when excluded from cook (Contributed by moritz-wundke)
#jira UE-38484
Change 3348722 on 2017/03/15 by Dan.Oconnor
Fix replacement bug - due to last minute refactor of this reference replacer call
Change 3348736 on 2017/03/15 by Michael.Noland
Blueprints: Added missing include for UTextProperty (compiled fine locally both with the file checked out and the file unmodified)
Change 3348810 on 2017/03/15 by Michael.Noland
Blueprints: Added support for seeing the user defined tooltip on get/set nodes for local variables
PR #3256: UE-41098: Added UFunction argument (Contributed by projectgheist)
Change 3348811 on 2017/03/15 by Michael.Noland
PR #3380: Added CancelAbility Blueprint node (Contributed by ryanjon2040)
#jira UE-42904
Change 3348969 on 2017/03/15 by Dan.Oconnor
Build fix
Change 3349023 on 2017/03/16 by Aaron.McLeran
Copying //Tasks/UE4/Private-GDC17-Audio to Dev-Framework (//UE4/Dev-Framework)
Change 3349389 on 2017/03/16 by mason.seay
Finished up Navigation map. Improved Navmesh map (still needs some work before review)
Change 3349575 on 2017/03/16 by Marc.Audy
Emit ScriptMacros.h in addition to ObjectMacros.h in generated headers
Change 3349628 on 2017/03/16 by Ben.Zeigler
Add direct support for Chunk setting to AssetManager. If AssetManager exists and no game callback is set it uses the new, much faster method. Otherwise it falls back to the old one
Fix some memory corruption issues in ChunkManifestGenerator where it was modifying a map while iterating it, could lead to assets ending up in multiple chunks accidentally
Remove the "Old Cooker" entirely, it hasn't functioned since around 4.9
Various fixes to AssetManagerEditorModule
Convert ShooterGame to use the AssetManager for chunking
Change 3349629 on 2017/03/16 by Ben.Zeigler
Change Fortnite to use the AssetManager chunking system, which simplifies the chunk 1 setup significantly
Also includes changes made on Fortnite Branch as CL #3323724:
Fortnite changes to take advantage of the Manage dependency in the asset manager
Move definition of asset types to ini from native, and simplify it so all zone themes are scanned, even if not used
Make FeedbackBank a primary asset type. It's currently editor only as there are some outdated banks we don't want to cook
Change 3350043 on 2017/03/16 by Marc.Audy
Fix Audio compile errors
Change 3350092 on 2017/03/16 by Dan.Oconnor
Fix missing output parameters when the function result node is pruned
Change 3350190 on 2017/03/16 by Ben.Zeigler
CIS fix
Change 3350707 on 2017/03/16 by Dan.Oconnor
Add means of enabling BlueprintCompilationManager via editor ini. Wedging the check into LaunchEngineLoop because of assets that are loaded during engine initialization
Change 3350820 on 2017/03/16 by Joe.Conley
Xenakis project: Setting GameMode to GameMode instead of None so the game doesn't crash on Play
Change 3350893 on 2017/03/16 by Dan.Oconnor
Build fix
Change 3351017 on 2017/03/16 by Dan.Oconnor
Using ordered arguments instead of named arguments improves load time in BP heavy projects
Change 3351056 on 2017/03/16 by Dan.Oconnor
Avoiding Copies
Change 3351062 on 2017/03/16 by Dan.Oconnor
Enable BlueprintCompilationManager by default - this is a major change in code path when loading uassets that contain blueprints
Change 3351770 on 2017/03/17 by Marc.Audy
Fix CIS warnings
Change 3351818 on 2017/03/17 by Mike.Beach
CopyPropertiesForUnrelatedObjects() will now only copy tagged data when the two objects truly are unrelated (different native base classes). We have to do this because the two native base classes may have different serialization methods that add/expect different data, which is not compatible with the other.
#jira UE-35970
Change 3351918 on 2017/03/17 by Mike.Beach
CIS fix - renaming local so it doesn't conflict with the one in the outer scope.
Change 3351931 on 2017/03/17 by Ben.Zeigler
Make CoreRedirects a proper Automated Test, and fix a test failure with not handling : in the output string
Fix legitimate regression where doing a package -> package rename would clear Outer, this was a result of a fix I made in Main a few weeks ago
Change 3351956 on 2017/03/17 by Dan.Oconnor
Make sure result element is emptied when calling Intersect, Union, or Difference
#jira UE-42993
Change 3352049 on 2017/03/17 by Ben.Zeigler
#Jira UE-42118 Add RemoveGameplayTag to the tag blueprint library
Delete (with redirector) redundant AddGameplayTagToContainer function that got accidentally added in parallel on Fortnite. Decided to keep the shorter TagContainer parameter name for both though
Change 3352065 on 2017/03/17 by Aaron.McLeran
Fixing compile errors
- deleting unused files
- removing #pragma once in SSynthKnob.cpp
- Making phonon have win64 whitelist to avoid compiling on other platforms
Change 3352100 on 2017/03/17 by Aaron.McLeran
Fixing compile errors
- Moving header file to public folder since it's used outside of module
Change 3352182 on 2017/03/17 by Ben.Zeigler
#jira UE-39815 Fix several issues with renaming tags in the tag settings view, it now deletes redirectors properly when renaming or making a new tag that matches an existing redirector
Change 3352286 on 2017/03/17 by Ben.Zeigler
#jira UE-39519 Add error messages when only one of GameMode/GameState is derived from the outdated parent classes
Modified version of PR #3285: Add error log messages if the GameMode/GameState are mis-matched (Contributed by jwatte)
Change 3352299 on 2017/03/17 by Ben.Zeigler
#jira UE-40544
PR #3130: UE-40544: Check pause state if state change is allowed (Contributed by projectgheist)
Change 3352303 on 2017/03/17 by Ben.Zeigler
#jira UE-40856
Commit PR #3147: Remove unnecessary directory separator for GetSaveGamePath (Contributed by projectgheist)
Remove unnecessary FString casting and in OpenGLDebugFrameDump.cpp there were FString multiplications that would never compile
Change 3352320 on 2017/03/17 by Ben.Zeigler
#jira UE-40087 Fix it so console keybind can be used in shipping games with console enabled
Commit PR #3079: Fix ALLOW_CONSOLE define usage (Contributed by KrisRedbeard)
Change 3352338 on 2017/03/17 by Ben.Zeigler
#jira UE-42800
PR #3367: Made CheatManager more useful for non-FPShooters (Contributed by crumblycake)
Change 3352352 on 2017/03/17 by Dan.Oconnor
Emptying map instead of trying to remove an element when conversion of a value type fails - can't remove a single element until the map is rehashed
#jira UE-42937
Change 3352581 on 2017/03/17 by Lukasz.Furman
fixed memory leak in navmesh generators
copy of CL# 3352356
#ue4
Change 3352665 on 2017/03/17 by Aaron.McLeran
Fixing build error
- Adding virtual destructor to FSoundWaveSoundWaveAssetActionExtender
- Also renamed the class to only include SoundWave once!
- Fixing static analysis warning on null deref.
Change 3352685 on 2017/03/17 by Dan.Oconnor
Fix for bad behavior of GetValues and GetKeys functions when there are gaps in a TMap (e.g. due to Remove calls)
#jira UE-42547
Change 3352706 on 2017/03/17 by Aaron.McLeran
Fixing build error
Changing TSharedPtr<FSoundWaveSoundWaveAssetActionExtender> to TSharedPtr<ISoundWaveAssetActionExtensions>
Change 3352708 on 2017/03/17 by Dan.Oconnor
Data only and interface blueprints need SkeletonGeneratedClass set on load so that they can be used by the BlueprintEditor
#jira UE-43023
Change 3352860 on 2017/03/17 by Lukasz.Furman
fixed memory leak in navmesh generators
copy of CL# 3352849
#ue4
Change 3352967 on 2017/03/17 by Dan.Oconnor
Avoid tagging blueprints as modified while compiling with the new compilation manager. Leaving old code path unaffected, although it may benefit from this change.
#jira UE-43027
Change 3352979 on 2017/03/17 by Dan.Oconnor
Static analysis driven fixes
#jira UE-43044
Change 3352987 on 2017/03/17 by Aaron.McLeran
Fixing build error
- Removing myo from other platforms, win64 only
Change 3353234 on 2017/03/18 by Marc.Audy
Fix Win32 build
Change 3353344 on 2017/03/19 by Marc.Audy
Fix cyclic includes in new Audio code
Change 3353350 on 2017/03/19 by Marc.Audy
Disable static analysis for myo third party code
Change 3353750 on 2017/03/20 by Marc.Audy
Fix additional cyclic include
Change 3353926 on 2017/03/20 by Mieszko.Zielinski
Made FNavAgentProperties::GetExtent return INVALID_NAVEXTENT if prop's AgentRadius is not set #UE4
This results in using FNavAgentProperties::DefaultProperties in navigation system queries to fallback to default query extent.
#jira UE-18493
Change 3354249 on 2017/03/20 by Mike.Beach
Raising a UHT error if you use a non-byte enum type in a Blueprint function. Blueprints currently only support uint8 enums (already an error if you tag the enum with 'BlueprintType', this error just emulates/extends that one).
#jira UE-42479
Change 3354464 on 2017/03/20 by Dan.Oconnor
Fix missing source path when using compilation manager
Change 3354499 on 2017/03/20 by Dan.Oconnor
Disable compilation manager
Change 3354620 on 2017/03/20 by Ben.Zeigler
#jira UE-43087 Fix crash when calling HasGPUEmitter on a Server build, this is newly an issue because it is calling GetAssetRegistryTags in more places than it used to
Change 3354714 on 2017/03/20 by Michael.Noland
PR #3352: Fixed issue with diffed Blueprints being searchable (Contributed by MichaelSchoell)
#jira UE-42655
Change 3354718 on 2017/03/20 by Michael.Noland
Engine: Change FViewport::IsGameRenderingEnabled to be static
PR #3317: FViewport::IsGameRenderingEnabled (Contributed by tomix1024)
#jira UE-42471
Change 3354721 on 2017/03/20 by Michael.Noland
PR #3293: Made GetDefaultLocale accessible in blueprint (Contributed by derekvanvliet)
#jira UE-42274
Change 3354907 on 2017/03/20 by Aaron.McLeran
Fixing content in xenakis map
Change 3355223 on 2017/03/20 by Ben.Zeigler
#jira UE-43096 Fix crash when trying to ResolveName a path that ends in . (apparently when you LoadObject empty string, it ends up trying to load "." before giving up
Change 3355297 on 2017/03/20 by Dan.Oconnor
Fix incorrect flag settings from fast skeleton path.. this is part of the fix for UE-43083
Change 3355373 on 2017/03/20 by Michael.Noland
PR #3222: Allow Blueprint Variables to be Readonly (Contributed by FrostByteGER)
#jira UE-41640
Change 3355417 on 2017/03/20 by Ben.Zeigler
Fix formatting bug where I forgot some braces
Change 3355462 on 2017/03/20 by Aaron.McLeran
UE-43046 Property type changed with no possible conversion
Resaved asset in question
Change 3355629 on 2017/03/20 by Dan.Oconnor
Don't warn the user when their return node that has no pins (other than an exec pin). These return nodes cannot be deleted and connecting them does nothing. Prior to recent changes the warning never fired because the return node would be pruned and not validated.
Change 3355631 on 2017/03/20 by Dan.Oconnor
Fix compilation results spam in compilation manager. Scoped compiler events (e.g. BP_SCOPED_COMPILER_EVENT_STAT(EKismetCompilerStats_CompileTime);) will flush the results log if no 'event' has been started. Timing data collected via this mechanism will not be useful (can only measure entire call to ::Flush in compilation manager)
Change 3356127 on 2017/03/21 by Richard.Hinckley
#jira UEDOC-4711
Updated an invalid/old URL in a comment to a valid/current URL.
Change 3356193 on 2017/03/21 by Marc.Audy
Temporarily remove editor only properties in FCameraFocusSettings until we correctly no longer create pins for struct properties that are not exposed to blueprints
#jira UE-43420
Change 3356222 on 2017/03/21 by Marc.Audy
Expose new attenuation settings to blueprints to resolve cook warnings.
Change 3356286 on 2017/03/21 by Richard.Hinckley
#jira UEDOC-4711
Selected a different URL for the update.
Change 3356339 on 2017/03/21 by Marc.Audy
Delete unconnected return nodes to fix fortnite cook warnings
Change 3356827 on 2017/03/21 by Ben.Zeigler
Explicitly disable copy operations for streamable manager objects. This may be causing some obscure crashes like WEX-5182 but I am not sure how the copy constructor would be getting called. Either way it's unsafe
Put in protection against passing in duplicate items to RequestAsyncLoad, which is another possible cause of internal data corruption
Add some more ensures to track down possible issues with handle corruption
Change 3356920 on 2017/03/21 by Ben.Zeigler
Fix ensure just checked in to not go off when handles are halfway through being cancelled
Change 3358152 on 2017/03/22 by Phillip.Kavan
#jira UE-43102 - Fix an occasional crash on load in nativized EDL-enabled builds with non-nativized child BPs.
Change summary:
- Modified AActor::PostLoadSubobjects() to skip the CheckAndApplyComponentTemplateOverrides() call in the CDO case; at that point the ICH may not be fully loaded, but we don't require the non-nativized child BP's CDO to be fixed up anyway.
[CL 3358685 by Marc Audy in Main branch]
2017-03-22 12:57:30 -04:00
{
NewLandscape_Material = LoadObject < UMaterialInterface > ( NULL , * NewLandscapeMaterialName , NULL , LOAD_NoWarn ) ;
}
2015-10-30 17:41:13 -04:00
int32 AlphamapType = ( uint8 ) ImportLandscape_AlphamapType ;
GConfig - > GetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ImportLandscape_AlphamapType " ) , AlphamapType , GEditorPerProjectIni ) ;
ImportLandscape_AlphamapType = ( ELandscapeImportAlphamapType ) AlphamapType ;
2014-03-14 14:13:41 -04:00
RefreshImportLayersList ( ) ;
}
/** Save UI settings to ini file */
void ULandscapeEditorObject : : Save ( )
{
2015-04-20 10:12:55 -04:00
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " ToolStrength " ) , ToolStrength , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " WeightTargetValue " ) , WeightTargetValue , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseWeightTargetValue " ) , bUseWeightTargetValue , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " BrushRadius " ) , BrushRadius , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " BrushComponentSize " ) , BrushComponentSize , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " BrushFalloff " ) , BrushFalloff , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseClayBrush " ) , bUseClayBrush , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushScale " ) , AlphaBrushScale , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushAutoRotate " ) , bAlphaBrushAutoRotate , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushRotation " ) , AlphaBrushRotation , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushPanU " ) , AlphaBrushPanU , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaBrushPanV " ) , AlphaBrushPanV , GEditorPerProjectIni ) ;
GConfig - > SetVector2D ( TEXT ( " LandscapeEdit " ) , TEXT ( " WorldSpacePatternBrushSettings.Origin " ) , WorldSpacePatternBrushSettings . Origin , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " WorldSpacePatternBrushSettings.bCenterTextureOnOrigin " ) , WorldSpacePatternBrushSettings . bCenterTextureOnOrigin , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " WorldSpacePatternBrushSettings.RepeatSize " ) , WorldSpacePatternBrushSettings . RepeatSize , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
const FString AlphaTextureName = ( AlphaTexture ! = NULL ) ? AlphaTexture - > GetPathName ( ) : FString ( ) ;
2015-04-20 10:12:55 -04:00
GConfig - > SetString ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaTextureName " ) , * AlphaTextureName , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " AlphaTextureChannel " ) , ( int32 ) AlphaTextureChannel , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " FlattenMode " ) , ( int32 ) FlattenMode , GEditorPerProjectIni ) ;
2015-04-20 10:12:55 -04:00
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseSlopeFlatten " ) , bUseSlopeFlatten , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bPickValuePerApply " ) , bPickValuePerApply , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bUseFlattenTarget " ) , bUseFlattenTarget , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " FlattenTarget " ) , FlattenTarget , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2019-07-23 07:23:47 -04:00
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " TerraceSmooth " ) , TerraceSmooth , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " TerraceInterval " ) , TerraceInterval , GEditorPerProjectIni ) ;
2015-04-20 10:12:55 -04:00
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " RampWidth " ) , RampWidth , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " RampSideFalloff " ) , RampSideFalloff , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2019-07-23 07:23:47 -04:00
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bCombinedLayersOperation " ) , bCombinedLayersOperation , GEditorPerProjectIni ) ;
2015-04-20 10:12:55 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErodeThresh " ) , ErodeThresh , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErodeIterationNum " ) , ErodeIterationNum , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErodeSurfaceThickness " ) , ErodeSurfaceThickness , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErosionNoiseMode " ) , ( int32 ) ErosionNoiseMode , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " ErosionNoiseScale " ) , ErosionNoiseScale , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " RainAmount " ) , RainAmount , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " SedimentCapacity " ) , SedimentCapacity , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " HErodeIterationNum " ) , ErodeIterationNum , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " RainDistMode " ) , ( int32 ) RainDistMode , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " RainDistScale " ) , RainDistScale , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " HErosionDetailScale " ) , HErosionDetailScale , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bHErosionDetailSmooth " ) , bHErosionDetailSmooth , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " NoiseMode " ) , ( int32 ) NoiseMode , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " NoiseScale " ) , NoiseScale , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " SmoothFilterKernelSize " ) , SmoothFilterKernelSize , GEditorPerProjectIni ) ;
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " DetailScale " ) , DetailScale , GEditorPerProjectIni ) ;
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bDetailSmooth " ) , bDetailSmooth , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > SetFloat ( TEXT ( " LandscapeEdit " ) , TEXT ( " MaximumValueRadius " ) , MaximumValueRadius , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
2015-04-20 10:12:55 -04:00
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bSmoothGizmoBrush " ) , bSmoothGizmoBrush , GEditorPerProjectIni ) ;
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " PasteMode " ) , ( int32 ) PasteMode , GEditorPerProjectIni ) ;
2015-09-03 05:28:49 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " MirrorOp " ) , ( int32 ) MirrorOp , GEditorPerProjectIni ) ;
2015-04-20 10:12:55 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ConvertMode " ) , ( int32 ) ResizeLandscape_ConvertMode , GEditorPerProjectIni ) ;
//GConfig->SetBool(TEXT("LandscapeEdit"), TEXT("bUseSelectedRegion"), bUseSelectedRegion, GEditorPerProjectIni);
//GConfig->SetBool(TEXT("LandscapeEdit"), TEXT("bUseNegativeMask"), bUseNegativeMask, GEditorPerProjectIni);
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " bApplyToAllTargets " ) , bApplyToAllTargets , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
const FString NewLandscapeMaterialName = ( NewLandscape_Material ! = NULL ) ? NewLandscape_Material - > GetPathName ( ) : FString ( ) ;
2015-04-20 10:12:55 -04:00
GConfig - > SetString ( TEXT ( " LandscapeEdit " ) , TEXT ( " NewLandscapeMaterialName " ) , * NewLandscapeMaterialName , GEditorPerProjectIni ) ;
2015-10-30 17:41:13 -04:00
GConfig - > SetInt ( TEXT ( " LandscapeEdit " ) , TEXT ( " ImportLandscape_AlphamapType " ) , ( uint8 ) ImportLandscape_AlphamapType , GEditorPerProjectIni ) ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3229490 on 2016/12/09 by Cody.Albert
Integrated fix to support named changelists in SVN
Change 3229574 on 2016/12/09 by Simon.Tourangeau
Fix actor mobility getting changed on scene reimport
#jira UE-39102
Change 3229692 on 2016/12/09 by Cody.Albert
Fixing an XML Parser assert when parsing a root tag that completes on the same line.
#jira UE-30393
Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt
PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut)
Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt
Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load.
Change 3231475 on 2016/12/12 by Alex.Delesky
#jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100.
Change 3231476 on 2016/12/12 by Alex.Delesky
#jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once.
Change 3231477 on 2016/12/12 by Alex.Delesky
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3231479 on 2016/12/12 by Alex.Delesky
#jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown.
Change 3231480 on 2016/12/12 by Alex.Delesky
#jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file
Change 3231508 on 2016/12/12 by Alex.Delesky
Removing todo comment
#jira none
Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt
Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes
Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates
Change 3231618 on 2016/12/12 by Alex.Delesky
#jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value.
Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt
Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default
Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt
Brighten up the output log by default
Change 3231648 on 2016/12/12 by Alex.Delesky
#jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot.
Change 3231666 on 2016/12/12 by Alex.Delesky
#jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets.
Change 3231674 on 2016/12/12 by Alex.Delesky
#jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch.
Change 3231745 on 2016/12/12 by Alex.Delesky
Back out changelist 3231477 to fix build error C2259
Change 3232417 on 2016/12/13 by Simon.Tourangeau
Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event
- FBX Version
- Filename Hash
- Import Type
#jira UE-37453
Change 3232477 on 2016/12/13 by Michael.Dupuis
#jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side.
Change 3232571 on 2016/12/13 by Alex.Delesky
Back out changelist 3231745
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3232675 on 2016/12/13 by Alexis.Matte
Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue.
#jira UE-39692
Change 3232975 on 2016/12/13 by Alex.Delesky
Fix to build error C2259 for the IPluginWizardDefinition API change.
Change 3233146 on 2016/12/13 by Michael.Dupuis
#jira UE-38766 : Added eye dropper to select flatten height
Fixed a rounding errors resulting in not flattening to the specified height
Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value
Change 3233153 on 2016/12/13 by Alexis.Matte
We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array
#jira UE-38827
Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt
Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices.
#jira UE-7388
Change 3234485 on 2016/12/14 by Michael.Dupuis
tentative build fix for Mac
Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt
Made a setting to control if PIE enter and exit sounds are played. Off by default
Change 3236709 on 2016/12/15 by Simon.Tourangeau
Fix camera export rotation offset
#jira UE-34692
#jira UE-39740
Change 3236782 on 2016/12/15 by Jamie.Dale
Fixed EmitTermExpr failing to use the correct package ID
FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null.
Change 3236853 on 2016/12/15 by Alexis.Matte
Fix the serialization of the staticmesh property FMeshSectionInfoMap
Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt
Remove old define
Change 3239328 on 2016/12/18 by Richard.TalbotWatkin
Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition.
#jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport
Change 3239660 on 2016/12/19 by Alex.Delesky
#jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component.
Change 3239662 on 2016/12/19 by Alex.Delesky
#jira UE-39007 - The data table row editor now contains a Reset to Default control.
Change 3239663 on 2016/12/19 by Alex.Delesky
#jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog.
Change 3240696 on 2016/12/20 by Michael.Dupuis
#jira UETOOL-1009:
Added paddiing to columns view
Added auto resize of column when double clicking on splitter handle in the header
Remove right number alignment after discussion with Matt K.
Change 3240758 on 2016/12/20 by Michael.Dupuis
added missing non abstract implementation
Change 3240782 on 2016/12/20 by Michael.Dupuis
Added missing documentation for content browser column auto resizing
Change 3240817 on 2016/12/20 by Alex.Delesky
#jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab.
Change 3240834 on 2016/12/20 by Michael.Dupuis
tentative fix for build error
Change 3240984 on 2016/12/20 by Michael.Dupuis
Removed unnecessary functions
Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt
Fix compile errors
Change 3241966 on 2016/12/21 by Chris.Wood
Fixed Typo and changed execution order in "ComboBoxString" Component
[UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component
PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi)
#github https://github.com/EpicGames/UnrealEngine/pull/2971
Change 3242126 on 2016/12/21 by Alexis.Matte
Back out changelist 3236853
We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h.
Change 3244492 on 2017/01/02 by Jamie.Dale
Improved error message
Change 3244545 on 2017/01/02 by Nick.Darnell
Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded.
Change 3244549 on 2017/01/02 by Nick.Darnell
Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely.
The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors.
Now users through C++ can load and replace the hardware cursors with custom ones of their own,
e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0))));
The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources.
Change 3244845 on 2017/01/03 by Jamie.Dale
Fixing typo
#jira UE-39920
Change 3244903 on 2017/01/03 by Jamie.Dale
PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift)
Change 3245125 on 2017/01/03 by Alexis.Matte
Put back the dev-editor version because there was some data create before we back it out
Change 3246106 on 2017/01/04 by Chris.Wood
Removed broken CrashReportReciever pre-upload phase from CrashReportClient.
[UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever
Change 3246251 on 2017/01/04 by Alex.Delesky
#jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location.
Change 3246252 on 2017/01/04 by Alex.Delesky
#jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import.
The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point.
Change 3247620 on 2017/01/05 by Nick.Darnell
Automation - Removing an adjustment to the number of shots we take for high res shots.
Change 3247621 on 2017/01/05 by Nick.Darnell
Automation - Adding a few more rendering tests to the cornell box.
Change 3247629 on 2017/01/05 by Nick.Darnell
Automation - Improving the comparison row display for screenshots so it's obvious what each image represents.
Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt
PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist)
Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt
Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first
Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt
Fixed automation test warnings
#jira UE-40198
Change 3249481 on 2017/01/06 by Michael.Dupuis
#jira UE-37875 : Fill empty layers of components on assignation or creation
Also fill new component added with the tool from neighbours predominance
Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt
PR #3093: Include guard cleanup (Contributed by projectgheist)
Change 3249544 on 2017/01/06 by Michael.Dupuis
#jira UE-40299: validate if UISettings is valid
Change 3250738 on 2017/01/09 by Nick.Darnell
UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget.
#jira UE-39845
Change 3250865 on 2017/01/09 by Nick.Darnell
Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums.
Change 3250867 on 2017/01/09 by Nick.Darnell
Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size.
Change 3250936 on 2017/01/09 by Nick.Darnell
Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch.
Change 3250937 on 2017/01/09 by Nick.Darnell
Automation - Adding another example to the CornellBox test.
Change 3250958 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251162 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt
Attempt to fix static analysis warnings
Change 3251373 on 2017/01/09 by Nick.Darnell
Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order.
Change 3251525 on 2017/01/09 by Nick.Darnell
Automation - Fixing a build issue in ImageComparer.
Change 3252321 on 2017/01/10 by Alex.Delesky
#jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections.
Change 3252354 on 2017/01/10 by Nick.Darnell
Image Compare - Fixing a potential threading hazard in the image comparer.
Change 3252356 on 2017/01/10 by Nick.Darnell
Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata.
Change 3252601 on 2017/01/10 by Alexis.Matte
Fbx automation test, reload feature implementation
Change 3252761 on 2017/01/10 by Jamie.Dale
Fixing some IWYU errors with PCH disabled
Change 3252765 on 2017/01/10 by Jamie.Dale
Fixing some static analysis warnings
Change 3252793 on 2017/01/10 by Jamie.Dale
Fixing FText natvis
The text data visualizers have to be defined before the text visualizer
Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt
PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts)
Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt
Refactor scene importing to allow for plugins to make scene importers
Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt
Fix calling LoadModule in perforce source control off the main thread
Change 3256472 on 2017/01/12 by Jamie.Dale
Improved error reporting from IncludeTool
- The error reporting was using zero-based line indices which was misleading.
- The error reporting now includes the offending line to remove ambiguity.
Change 3256725 on 2017/01/13 by Jamie.Dale
IncludeTool can now parse typedef in Fwd headers
Change 3256758 on 2017/01/13 by Jamie.Dale
Added support for String Tables
String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text.
String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo.
Change 3257018 on 2017/01/13 by Alexis.Matte
FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag
Change 3257168 on 2017/01/13 by Jamie.Dale
Removed code that was writing null into bytecode during save
Change 3257344 on 2017/01/13 by Jamie.Dale
Backing out changelist 3256725, and excluding my header from the scan instead
Change 3257426 on 2017/01/13 by Nick.Darnell
Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha.
Change 3257572 on 2017/01/13 by Nick.Darnell
Slate - Fixing a build error.
Change 3257970 on 2017/01/14 by Jamie.Dale
Fixing exclude path
Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin)
Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3126: Fix to load editor style assets (Contributed by projectgheist)
Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88)
Change 3258539 on 2017/01/16 by Nick.Darnell
Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping.
Change 3258607 on 2017/01/16 by Nick.Darnell
Fixing the mac build.
Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt
Actors with experimental components no longer say
"Uses experimental class: Actor" when selecting the actor root in the details panel
#jira UE-40535
Change 3258678 on 2017/01/16 by Nick.Darnell
Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown.
Change 3258924 on 2017/01/16 by Nick.Darnell
Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups.
Change 3258929 on 2017/01/16 by Nick.Darnell
UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed.
Change 3259109 on 2017/01/16 by Nick.Darnell
Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype.
Change 3259111 on 2017/01/16 by Alexis.Matte
Avoid to move the camera when we re-import in the static mesh editor
#jira UE-40613
Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt
Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget
Change 3259300 on 2017/01/16 by Nick.Darnell
UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer.
Change 3259306 on 2017/01/16 by Nick.Darnell
Games - Removing the Game Specific implementations of PreConstruct.
Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt
Fix static analysis
Change 3261049 on 2017/01/17 by Nick.Darnell
Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird.
Change 3261434 on 2017/01/17 by Nick.Darnell
Fixing the mac build.
Change 3261435 on 2017/01/17 by Nick.Darnell
Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously.
Change 3261460 on 2017/01/17 by Nick.Darnell
UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code.
Change 3261833 on 2017/01/18 by Alexis.Matte
Fix all warning for fbx automation tests
#jira UE-40208
Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt
PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts)
Change 3262000 on 2017/01/18 by Jamie.Dale
Updated Slate to allocate widgets using MakeShared
This saves one allocation per-widget
Change 3262003 on 2017/01/18 by Nick.Darnell
UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing.
#jira UE-40523
Change 3262052 on 2017/01/18 by Alexis.Matte
Put back the staticmesh skinxx workflow
#jira UE-40782
Change 3262775 on 2017/01/18 by Nick.Darnell
Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU.
Change 3262818 on 2017/01/18 by Alex.Delesky
#jira UE-40668 - Editor preferences will now save for data pin styles
Change 3263679 on 2017/01/19 by Nick.Darnell
Slate - Adding some comments to the Slate Vertex Rounder.
Change 3265154 on 2017/01/19 by Nick.Darnell
Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way.
Change 3265478 on 2017/01/20 by Chris.Wood
Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog
[UE-40838] - Make hang time configurable and increase default in UnrealWatchdog
Change 3265600 on 2017/01/20 by Nick.Darnell
Slate - Making some const local variables const.
Change 3265714 on 2017/01/20 by Alex.Delesky
#jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.
Change 3265865 on 2017/01/20 by Alex.Delesky
#jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel.
Change 3267989 on 2017/01/23 by Jamie.Dale
Exposed String Tables to Blueprints
Change 3268018 on 2017/01/23 by Jamie.Dale
Small API clean-up for string tables
Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt
Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level
#jira UE-40930
Change 3269388 on 2017/01/24 by Chris.Wood
Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close.
[UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users
Standalone tool code only - doesn't touch engine
Change 3270205 on 2017/01/24 by Cody.Albert
Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object.
Change 3270231 on 2017/01/24 by Cody.Albert
Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters
Change 3271734 on 2017/01/25 by Michael.Dupuis
#jira UE-38631
Add sorting for landscape target layer, user can now sort alphabetical, material based or custom
Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot
Fixed SDropTarget to only consider the drop action if it was started by it
Added visibility toggle to only show used layers in the currently loaded data
Change 3271797 on 2017/01/25 by Jamie.Dale
Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense
Change 3271813 on 2017/01/25 by Jamie.Dale
Fixed bad access of a shared this during widget destruction when a context menu was open
Change 3271988 on 2017/01/25 by Nick.Darnell
Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days.
Change 3271992 on 2017/01/25 by Nick.Darnell
Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property.
Change 3272134 on 2017/01/25 by Jamie.Dale
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text).
Change 3272301 on 2017/01/25 by Nick.Darnell
Slate - More cleanup from the removal of a old legacy enum that people were still using.
Change 3273070 on 2017/01/26 by Chris.Wood
Fix CIS errors in landscape code from CL 3271734
Change 3273123 on 2017/01/26 by Chris.Wood
Fix crash during init of CRC when running packaged without access to main engine config hierarchy.
Change 3273194 on 2017/01/26 by Nick.Darnell
Fixing some build warnings.
Change 3273242 on 2017/01/26 by Michael.Dupuis
#jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels
Change 3273279 on 2017/01/26 by Jamie.Dale
String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine")
Change 3273483 on 2017/01/26 by Alex.Delesky
#jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce.
Also makes a slight change to the ResavePackages commandlet to submit files marked for delete.
Change 3273568 on 2017/01/26 by Alex.Delesky
Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template.
#jira none
Change 3273855 on 2017/01/26 by Alex.Delesky
#jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode.
Change 3274200 on 2017/01/26 by Alex.Delesky
For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods.
Change 3274317 on 2017/01/26 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3275072 on 2017/01/27 by Michael.Dupuis
#jira UE-38631 tweaks
Fix typo error
Iterate all components, not only active one
Force expand the Target Layers widget
Change 3275249 on 2017/01/27 by Alexis.Matte
Color grading controls: Keep the vector ratio when changing the master slider
#jira UETOOL-1098
Change 3275282 on 2017/01/27 by Alexis.Matte
Color grading controls: Cosmetic changes
#jira UETOOL-1099
Change 3275292 on 2017/01/27 by Alexis.Matte
Make sure the build is called once when we import a staticmesh.
#jira UE-40947
Change 3275430 on 2017/01/27 by Alexis.Matte
Add some fbx automation tests
- Import a mesh with no material
- Import corrupted asset with no section in a LOD
- Import morph targets
- Materials name clash
- Max Multimap material ordering
Change 3275683 on 2017/01/27 by Michael.Dupuis
#jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo
Change 3276237 on 2017/01/27 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3276266 on 2017/01/27 by Jamie.Dale
Fix for accessing a potentially null pointer
Change 3277065 on 2017/01/30 by Chris.Wood
Move crash report temp files to saved config and cleanup on schedule.
[UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor
Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt
Fix crash when cancelling SaveCurrentLevelAs
#jira UE-41182
Change 3277409 on 2017/01/30 by Jamie.Dale
Improved text rendering when the last resort font is missing
The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing.
- The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings).
- The Slate font renderer no longer tries to use the last resort font if it's not available.
- Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing).
- HarfBuzz shaped text now uses the fallback character correctly.
Change 3277749 on 2017/01/30 by Nick.Darnell
Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value.
Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes.
Change 3277805 on 2017/01/30 by Nick.Darnell
Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make.
Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt
Fix Niagara slate style warning on startup
Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile error
Change 3278132 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile errors
Change 3278186 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278525 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278534 on 2017/01/30 by Nick.Darnell
Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration.
Change 3278941 on 2017/01/31 by Nick.Darnell
Fixing a build warning due to build team refactor.
Change 3278949 on 2017/01/31 by Nick.Darnell
Fixing incrmenetal build issues.
Change 3278953 on 2017/01/31 by Nick.Darnell
Fixing some incrmental linux build issues.
Change 3278964 on 2017/01/31 by Nick.Darnell
FIxing more incremental build issues.
Change 3279256 on 2017/01/31 by Michael.Dupuis
#jira UE-41319
#jira UE-41315
#jira UE-41316
Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor
Change 3279270 on 2017/01/31 by Chad.Garyet
re-updating the automation test pool
[CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
GConfig - > SetBool ( TEXT ( " LandscapeEdit " ) , TEXT ( " ShowUnusedLayers " ) , ShowUnusedLayers , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
}
// Region
void ULandscapeEditorObject : : SetbUseSelectedRegion ( bool InbUseSelectedRegion )
{
bUseSelectedRegion = InbUseSelectedRegion ;
if ( bUseSelectedRegion )
{
GLandscapeEditRenderMode | = ELandscapeEditRenderMode : : Mask ;
}
else
{
GLandscapeEditRenderMode & = ~ ( ELandscapeEditRenderMode : : Mask ) ;
}
}
void ULandscapeEditorObject : : SetbUseNegativeMask ( bool InbUseNegativeMask )
{
bUseNegativeMask = InbUseNegativeMask ;
if ( bUseNegativeMask )
{
GLandscapeEditRenderMode | = ELandscapeEditRenderMode : : InvertedMask ;
}
else
{
GLandscapeEditRenderMode & = ~ ( ELandscapeEditRenderMode : : InvertedMask ) ;
}
}
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
void ULandscapeEditorObject : : SetPasteMode ( ELandscapeToolPasteMode InPasteMode )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
PasteMode = InPasteMode ;
2014-03-14 14:13:41 -04:00
}
void ULandscapeEditorObject : : SetbSnapGizmo ( bool InbSnapGizmo )
{
bSnapGizmo = InbSnapGizmo ;
2015-12-09 15:04:15 -05:00
if ( ParentMode - > CurrentGizmoActor . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-12-09 15:04:15 -05:00
ParentMode - > CurrentGizmoActor - > bSnapToLandscapeGrid = bSnapGizmo ;
2014-03-14 14:13:41 -04:00
}
if ( bSnapGizmo )
{
2015-12-09 15:04:15 -05:00
if ( ParentMode - > CurrentGizmoActor . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-12-09 15:04:15 -05:00
check ( ParentMode - > CurrentGizmoActor - > TargetLandscapeInfo ) ;
2014-03-14 14:13:41 -04:00
2015-12-09 15:04:15 -05:00
const FVector WidgetLocation = ParentMode - > CurrentGizmoActor - > GetActorLocation ( ) ;
const FRotator WidgetRotation = ParentMode - > CurrentGizmoActor - > GetActorRotation ( ) ;
2014-03-14 14:13:41 -04:00
2015-12-09 15:04:15 -05:00
const FVector SnappedWidgetLocation = ParentMode - > CurrentGizmoActor - > SnapToLandscapeGrid ( WidgetLocation ) ;
const FRotator SnappedWidgetRotation = ParentMode - > CurrentGizmoActor - > SnapToLandscapeGrid ( WidgetRotation ) ;
2014-03-14 14:13:41 -04:00
2015-12-09 15:04:15 -05:00
ParentMode - > CurrentGizmoActor - > SetActorLocation ( SnappedWidgetLocation , false ) ;
ParentMode - > CurrentGizmoActor - > SetActorRotation ( SnappedWidgetRotation ) ;
2014-03-14 14:13:41 -04:00
}
}
}
bool ULandscapeEditorObject : : SetAlphaTexture ( UTexture2D * InTexture , EColorChannel : : Type InTextureChannel )
{
bool Result = true ;
2019-08-05 18:18:06 -04:00
TArray64 < uint8 > NewTextureData ;
2014-03-14 14:13:41 -04:00
UTexture2D * NewAlphaTexture = InTexture ;
// No texture or no source art, try to use the previous texture.
if ( NewAlphaTexture = = NULL | | ! NewAlphaTexture - > Source . IsValid ( ) )
{
NewAlphaTexture = AlphaTexture ;
Result = false ;
}
if ( NewAlphaTexture ! = NULL & & NewAlphaTexture - > Source . IsValid ( ) )
{
NewAlphaTexture - > Source . GetMipData ( NewTextureData , 0 ) ;
}
2020-02-18 13:15:29 -05:00
const bool bSourceDataIsG8 = NewAlphaTexture ! = NULL & & NewAlphaTexture - > Source . IsValid ( ) & & NewAlphaTexture - > Source . GetFormat ( ) = = TSF_G8 ;
const int32 NumChannels = bSourceDataIsG8 ? 1 : 4 ;
2014-03-14 14:13:41 -04:00
// Load fallback if there's no texture or data
2020-02-18 13:15:29 -05:00
if ( NewAlphaTexture = = NULL | | ( NewTextureData . Num ( ) ! = NumChannels * NewAlphaTexture - > Source . GetSizeX ( ) * NewAlphaTexture - > Source . GetSizeY ( ) ) )
2014-03-14 14:13:41 -04:00
{
NewAlphaTexture = GetClass ( ) - > GetDefaultObject < ULandscapeEditorObject > ( ) - > AlphaTexture ;
2020-06-23 18:40:00 -04:00
if ( NewAlphaTexture )
{
NewAlphaTexture - > Source . GetMipData ( NewTextureData , 0 ) ;
}
2014-03-14 14:13:41 -04:00
Result = false ;
}
2020-06-23 18:40:00 -04:00
if ( NewAlphaTexture )
{
AlphaTexture = NewAlphaTexture ;
AlphaTextureSizeX = NewAlphaTexture - > Source . GetSizeX ( ) ;
AlphaTextureSizeY = NewAlphaTexture - > Source . GetSizeY ( ) ;
AlphaTextureChannel = NumChannels = = 1 ? EColorChannel : : Red : InTextureChannel ;
AlphaTextureData . Empty ( AlphaTextureSizeX * AlphaTextureSizeY ) ;
2014-03-14 14:13:41 -04:00
2020-06-23 18:40:00 -04:00
if ( NewTextureData . Num ( ) ! = NumChannels * AlphaTextureSizeX * AlphaTextureSizeY )
2014-03-14 14:13:41 -04:00
{
2020-06-23 18:40:00 -04:00
// Don't crash if for some reason we couldn't load any source art
AlphaTextureData . AddZeroed ( AlphaTextureSizeX * AlphaTextureSizeY ) ;
2014-03-14 14:13:41 -04:00
}
2020-06-23 18:40:00 -04:00
else
2014-03-14 14:13:41 -04:00
{
2020-06-23 18:40:00 -04:00
uint8 * SrcPtr ;
switch ( AlphaTextureChannel )
{
case 1 :
SrcPtr = & ( ( FColor * ) NewTextureData . GetData ( ) ) - > G ;
break ;
case 2 :
SrcPtr = & ( ( FColor * ) NewTextureData . GetData ( ) ) - > B ;
break ;
case 3 :
SrcPtr = & ( ( FColor * ) NewTextureData . GetData ( ) ) - > A ;
break ;
default :
SrcPtr = & ( ( FColor * ) NewTextureData . GetData ( ) ) - > R ;
break ;
}
for ( int32 i = 0 ; i < AlphaTextureSizeX * AlphaTextureSizeY ; i + + )
{
AlphaTextureData . Add ( * SrcPtr ) ;
SrcPtr + = NumChannels ;
}
2014-03-14 14:13:41 -04:00
}
}
return Result ;
}
2020-10-26 09:23:45 -04:00
void ULandscapeEditorObject : : ChooseBestComponentSizeForImport ( )
2014-03-14 14:13:41 -04:00
{
2020-10-26 09:23:45 -04:00
FLandscapeImportHelper : : ChooseBestComponentSizeForImport ( ImportLandscape_Width , ImportLandscape_Height , NewLandscape_QuadsPerSection , NewLandscape_SectionsPerComponent , NewLandscape_ComponentCount ) ;
}
bool ULandscapeEditorObject : : UseSingleFileImport ( ) const
{
if ( ParentMode )
2014-03-14 14:13:41 -04:00
{
2020-10-26 09:23:45 -04:00
return ParentMode - > UseSingleFileImport ( ) ;
2016-07-18 11:58:33 -04:00
}
2014-03-14 14:13:41 -04:00
2020-10-26 09:23:45 -04:00
return true ;
}
2020-11-04 09:21:48 -04:00
void ULandscapeEditorObject : : RefreshImports ( )
2020-10-26 09:23:45 -04:00
{
ClearImportLandscapeData ( ) ;
HeightmapImportDescriptorIndex = 0 ;
2021-01-22 07:55:42 -04:00
HeightmapImportDescriptor . Reset ( ) ;
2020-10-26 09:23:45 -04:00
ImportLandscape_Width = 0 ;
ImportLandscape_Height = 0 ;
ImportLandscape_HeightmapImportResult = ELandscapeImportResult : : Success ;
ImportLandscape_HeightmapErrorMessage = FText ( ) ;
2020-11-04 09:21:48 -04:00
if ( ! ImportLandscape_HeightmapFilename . IsEmpty ( ) )
2020-10-26 09:23:45 -04:00
{
2020-11-04 09:21:48 -04:00
ImportLandscape_HeightmapImportResult =
2021-01-28 08:26:47 -04:00
FLandscapeImportHelper : : GetHeightmapImportDescriptor ( ImportLandscape_HeightmapFilename , UseSingleFileImport ( ) , bFlipYAxis , HeightmapImportDescriptor , ImportLandscape_HeightmapErrorMessage ) ;
2020-11-04 09:21:48 -04:00
if ( ImportLandscape_HeightmapImportResult ! = ELandscapeImportResult : : Error )
{
ImportLandscape_Width = HeightmapImportDescriptor . ImportResolutions [ HeightmapImportDescriptorIndex ] . Width ;
ImportLandscape_Height = HeightmapImportDescriptor . ImportResolutions [ HeightmapImportDescriptorIndex ] . Height ;
ChooseBestComponentSizeForImport ( ) ;
ImportLandscapeData ( ) ;
}
}
RefreshLayerImports ( ) ;
}
void ULandscapeEditorObject : : RefreshLayerImports ( )
{
// Make sure to reset import width and height if we don't have a Heightmap to import
if ( ImportLandscape_HeightmapFilename . IsEmpty ( ) )
{
HeightmapImportDescriptorIndex = 0 ;
ImportLandscape_Width = 0 ;
ImportLandscape_Height = 0 ;
}
for ( FLandscapeImportLayer & UIImportLayer : ImportLandscape_Layers )
{
2021-06-08 10:18:43 -04:00
RefreshLayerImport ( UIImportLayer ) ;
}
}
2020-11-04 09:21:48 -04:00
2021-06-08 10:18:43 -04:00
void ULandscapeEditorObject : : RefreshLayerImport ( FLandscapeImportLayer & ImportLayer )
{
ImportLayer . ErrorMessage = FText ( ) ;
ImportLayer . ImportResult = ELandscapeImportResult : : Success ;
if ( ! ImportLayer . SourceFilePath . IsEmpty ( ) )
{
if ( ! ImportLayer . LayerInfo )
2020-11-04 09:21:48 -04:00
{
2021-06-08 10:18:43 -04:00
ImportLayer . ImportResult = ELandscapeImportResult : : Error ;
ImportLayer . ErrorMessage = NSLOCTEXT ( " LandscapeEditor.NewLandscape " , " Import_LayerInfoNotSet " , " Can't import a layer file without a layer info " ) ;
}
else
{
ImportLayer . ImportResult = FLandscapeImportHelper : : GetWeightmapImportDescriptor ( ImportLayer . SourceFilePath , UseSingleFileImport ( ) , bFlipYAxis , ImportLayer . LayerName , ImportLayer . ImportDescriptor , ImportLayer . ErrorMessage ) ;
if ( ImportLayer . ImportResult ! = ELandscapeImportResult : : Error )
2020-11-04 09:21:48 -04:00
{
2021-06-08 10:18:43 -04:00
if ( ImportLandscape_Height ! = 0 | | ImportLandscape_Width ! = 0 )
2020-11-04 09:21:48 -04:00
{
2021-06-08 10:18:43 -04:00
// Use same import index as Heightmap
int32 FoundIndex = INDEX_NONE ;
for ( int32 Index = 0 ; Index < ImportLayer . ImportDescriptor . FileResolutions . Num ( ) ; + + Index )
2020-11-04 09:21:48 -04:00
{
2021-06-08 10:18:43 -04:00
if ( ImportLayer . ImportDescriptor . ImportResolutions [ Index ] = = HeightmapImportDescriptor . ImportResolutions [ HeightmapImportDescriptorIndex ] )
{
FoundIndex = Index ;
break ;
}
}
if ( FoundIndex = = INDEX_NONE )
{
ImportLayer . ImportResult = ELandscapeImportResult : : Error ;
ImportLayer . ErrorMessage = NSLOCTEXT ( " LandscapeEditor.ImportLandscape " , " Import_WeightHeightResolutionMismatch " , " Weightmap import resolution isn't same as Heightmap resolution. " ) ;
2020-11-04 09:21:48 -04:00
}
}
}
}
2020-10-26 09:23:45 -04:00
}
}
void ULandscapeEditorObject : : OnChangeImportLandscapeResolution ( int32 DescriptorIndex )
{
check ( DescriptorIndex > = 0 & & DescriptorIndex < HeightmapImportDescriptor . ImportResolutions . Num ( ) ) ;
HeightmapImportDescriptorIndex = DescriptorIndex ;
ImportLandscape_Width = HeightmapImportDescriptor . ImportResolutions [ HeightmapImportDescriptorIndex ] . Width ;
ImportLandscape_Height = HeightmapImportDescriptor . ImportResolutions [ HeightmapImportDescriptorIndex ] . Height ;
ClearImportLandscapeData ( ) ;
2021-06-08 10:18:43 -04:00
ImportLandscapeData ( ) ;
2020-10-26 09:23:45 -04:00
ChooseBestComponentSizeForImport ( ) ;
}
void ULandscapeEditorObject : : ImportLandscapeData ( )
{
ImportLandscape_HeightmapImportResult = FLandscapeImportHelper : : GetHeightmapImportData ( HeightmapImportDescriptor , HeightmapImportDescriptorIndex , ImportLandscape_Data , ImportLandscape_HeightmapErrorMessage ) ;
2016-07-18 11:58:33 -04:00
if ( ImportLandscape_HeightmapImportResult = = ELandscapeImportResult : : Error )
{
ImportLandscape_Data . Empty ( ) ;
2014-03-14 14:13:41 -04:00
}
}
2020-10-26 09:23:45 -04:00
ELandscapeImportResult ULandscapeEditorObject : : CreateImportLayersInfo ( TArray < FLandscapeImportLayerInfo > & OutImportLayerInfos )
{
const uint32 ImportSizeX = ImportLandscape_Width ;
const uint32 ImportSizeY = ImportLandscape_Height ;
if ( ImportLandscape_HeightmapImportResult = = ELandscapeImportResult : : Error )
{
// Cancel import
return ELandscapeImportResult : : Error ;
}
OutImportLayerInfos . Reserve ( ImportLandscape_Layers . Num ( ) ) ;
// Fill in LayerInfos array and allocate data
for ( FLandscapeImportLayer & UIImportLayer : ImportLandscape_Layers )
{
OutImportLayerInfos . Add ( ( const FLandscapeImportLayer & ) UIImportLayer ) ; //slicing is fine here
FLandscapeImportLayerInfo & ImportLayer = OutImportLayerInfos . Last ( ) ;
2020-11-04 09:21:48 -04:00
if ( ImportLayer . LayerInfo ! = nullptr & & ! ImportLayer . SourceFilePath . IsEmpty ( ) )
2020-10-26 09:23:45 -04:00
{
2021-01-28 08:26:47 -04:00
UIImportLayer . ImportResult = FLandscapeImportHelper : : GetWeightmapImportDescriptor ( ImportLayer . SourceFilePath , UseSingleFileImport ( ) , bFlipYAxis , ImportLayer . LayerName , UIImportLayer . ImportDescriptor , UIImportLayer . ErrorMessage ) ;
2020-10-26 09:23:45 -04:00
if ( UIImportLayer . ImportResult = = ELandscapeImportResult : : Error )
{
FMessageDialog : : Open ( EAppMsgType : : Ok , UIImportLayer . ErrorMessage ) ;
return ELandscapeImportResult : : Error ;
}
// Use same import index as Heightmap
int32 FoundIndex = INDEX_NONE ;
2020-11-04 09:21:48 -04:00
for ( int32 Index = 0 ; Index < UIImportLayer . ImportDescriptor . FileResolutions . Num ( ) ; + + Index )
2020-10-26 09:23:45 -04:00
{
2020-11-04 09:21:48 -04:00
if ( UIImportLayer . ImportDescriptor . ImportResolutions [ Index ] = = HeightmapImportDescriptor . ImportResolutions [ HeightmapImportDescriptorIndex ] )
2020-10-26 09:23:45 -04:00
{
FoundIndex = Index ;
break ;
}
}
if ( FoundIndex = = INDEX_NONE )
{
UIImportLayer . ImportResult = ELandscapeImportResult : : Error ;
UIImportLayer . ErrorMessage = NSLOCTEXT ( " LandscapeEditor.NewLandscape " , " Import_WeightHeightResolutionMismatch " , " Weightmap import resolution isn't same as Heightmap resolution. " ) ;
FMessageDialog : : Open ( EAppMsgType : : Ok , UIImportLayer . ErrorMessage ) ;
return ELandscapeImportResult : : Error ;
}
2020-11-04 09:21:48 -04:00
UIImportLayer . ImportResult = FLandscapeImportHelper : : GetWeightmapImportData ( UIImportLayer . ImportDescriptor , FoundIndex , ImportLayer . LayerName , ImportLayer . LayerData , UIImportLayer . ErrorMessage ) ;
2020-10-26 09:23:45 -04:00
if ( UIImportLayer . ImportResult = = ELandscapeImportResult : : Error )
{
FMessageDialog : : Open ( EAppMsgType : : Ok , UIImportLayer . ErrorMessage ) ;
return ELandscapeImportResult : : Error ;
}
}
}
return ELandscapeImportResult : : Success ;
}
ELandscapeImportResult ULandscapeEditorObject : : CreateNewLayersInfo ( TArray < FLandscapeImportLayerInfo > & OutNewLayerInfos )
{
const int32 QuadsPerComponent = NewLandscape_SectionsPerComponent * NewLandscape_QuadsPerSection ;
const int32 SizeX = NewLandscape_ComponentCount . X * QuadsPerComponent + 1 ;
const int32 SizeY = NewLandscape_ComponentCount . Y * QuadsPerComponent + 1 ;
OutNewLayerInfos . Reset ( ImportLandscape_Layers . Num ( ) ) ;
// Fill in LayerInfos array and allocate data
for ( const FLandscapeImportLayer & UIImportLayer : ImportLandscape_Layers )
{
FLandscapeImportLayerInfo ImportLayer = FLandscapeImportLayerInfo ( UIImportLayer . LayerName ) ;
ImportLayer . LayerInfo = UIImportLayer . LayerInfo ;
ImportLayer . SourceFilePath = " " ;
ImportLayer . LayerData = TArray < uint8 > ( ) ;
OutNewLayerInfos . Add ( MoveTemp ( ImportLayer ) ) ;
}
// Fill the first weight-blended layer to 100%
if ( FLandscapeImportLayerInfo * FirstBlendedLayer = OutNewLayerInfos . FindByPredicate ( [ ] ( const FLandscapeImportLayerInfo & ImportLayer ) { return ImportLayer . LayerInfo & & ! ImportLayer . LayerInfo - > bNoWeightBlend ; } ) )
{
const int32 DataSize = SizeX * SizeY ;
FirstBlendedLayer - > LayerData . AddUninitialized ( DataSize ) ;
uint8 * ByteData = FirstBlendedLayer - > LayerData . GetData ( ) ;
FMemory : : Memset ( ByteData , 255 , DataSize ) ;
}
return ELandscapeImportResult : : Success ;
}
void ULandscapeEditorObject : : InitializeDefaultHeightData ( TArray < uint16 > & OutData )
{
const int32 QuadsPerComponent = NewLandscape_SectionsPerComponent * NewLandscape_QuadsPerSection ;
const int32 SizeX = NewLandscape_ComponentCount . X * QuadsPerComponent + 1 ;
const int32 SizeY = NewLandscape_ComponentCount . Y * QuadsPerComponent + 1 ;
const int32 TotalSize = SizeX * SizeY ;
// Initialize heightmap data
OutData . Reset ( ) ;
OutData . AddUninitialized ( TotalSize ) ;
TArray < uint16 > StrideData ;
StrideData . AddUninitialized ( SizeX ) ;
// Initialize blank heightmap data
for ( int32 X = 0 ; X < SizeX ; + + X )
{
StrideData [ X ] = LandscapeDataAccess : : MidValue ;
}
for ( int32 Y = 0 ; Y < SizeY ; + + Y )
{
FMemory : : Memcpy ( & OutData [ Y * SizeX ] , StrideData . GetData ( ) , sizeof ( uint16 ) * SizeX ) ;
}
}
void ULandscapeEditorObject : : ExpandImportData ( TArray < uint16 > & OutHeightData , TArray < FLandscapeImportLayerInfo > & OutImportLayerInfos )
{
const TArray < uint16 > & ImportData = GetImportLandscapeData ( ) ;
if ( ImportData . Num ( ) )
{
const int32 QuadsPerComponent = NewLandscape_SectionsPerComponent * NewLandscape_QuadsPerSection ;
FLandscapeImportResolution RequiredResolution ( NewLandscape_ComponentCount . X * QuadsPerComponent + 1 , NewLandscape_ComponentCount . Y * QuadsPerComponent + 1 ) ;
FLandscapeImportResolution ImportResolution ( ImportLandscape_Width , ImportLandscape_Height ) ;
2020-11-04 09:21:48 -04:00
FLandscapeImportHelper : : TransformHeightmapImportData ( ImportData , OutHeightData , ImportResolution , RequiredResolution , ELandscapeImportTransformType : : ExpandCentered ) ;
2020-10-26 09:23:45 -04:00
for ( int32 LayerIdx = 0 ; LayerIdx < OutImportLayerInfos . Num ( ) ; + + LayerIdx )
{
TArray < uint8 > & OutImportLayerData = OutImportLayerInfos [ LayerIdx ] . LayerData ;
TArray < uint8 > OutLayerData ;
if ( OutImportLayerData . Num ( ) )
{
2020-11-04 09:21:48 -04:00
FLandscapeImportHelper : : TransformWeightmapImportData ( OutImportLayerData , OutLayerData , ImportResolution , RequiredResolution , ELandscapeImportTransformType : : ExpandCentered ) ;
2020-10-26 09:23:45 -04:00
OutImportLayerData = MoveTemp ( OutLayerData ) ;
}
}
}
}
2020-11-04 09:21:48 -04:00
void ULandscapeEditorObject : : RefreshImportLayersList ( bool bRefreshFromTarget )
2014-03-14 14:13:41 -04:00
{
2020-11-04 09:21:48 -04:00
UTexture2D * ThumbnailWeightmap = nullptr ;
UTexture2D * ThumbnailHeightmap = nullptr ;
TArray < FName > LayerNames ;
TArray < ULandscapeLayerInfoObject * > LayerInfoObjs ;
UMaterialInterface * Material = nullptr ;
if ( bRefreshFromTarget )
{
LayerNames . Reset ( ImportLandscape_Layers . Num ( ) ) ;
LayerInfoObjs . Reset ( ImportLandscape_Layers . Num ( ) ) ;
Material = ParentMode - > GetTargetLandscapeMaterial ( ) ;
for ( const TSharedRef < FLandscapeTargetListInfo > & TargetListInfo : ParentMode - > GetTargetList ( ) )
{
if ( TargetListInfo - > TargetType ! = ELandscapeToolTargetType : : Weightmap )
{
continue ;
}
2014-03-14 14:13:41 -04:00
2020-11-04 09:21:48 -04:00
LayerNames . Add ( TargetListInfo - > LayerName ) ;
LayerInfoObjs . Add ( TargetListInfo - > LayerInfoObj . Get ( ) ) ;
}
}
else
{
Material = NewLandscape_Material . Get ( ) ;
LayerNames = ALandscapeProxy : : GetLayersFromMaterial ( Material ) ;
}
2014-03-14 14:13:41 -04:00
const TArray < FLandscapeImportLayer > OldLayersList = MoveTemp ( ImportLandscape_Layers ) ;
ImportLandscape_Layers . Reset ( LayerNames . Num ( ) ) ;
for ( int32 i = 0 ; i < LayerNames . Num ( ) ; i + + )
{
const FName & LayerName = LayerNames [ i ] ;
bool bFound = false ;
FLandscapeImportLayer NewImportLayer ;
2020-11-04 09:21:48 -04:00
NewImportLayer . ImportResult = ELandscapeImportResult : : Success ;
NewImportLayer . ErrorMessage = FText ( ) ;
2014-03-14 14:13:41 -04:00
for ( int32 j = 0 ; j < OldLayersList . Num ( ) ; j + + )
{
if ( OldLayersList [ j ] . LayerName = = LayerName )
{
NewImportLayer = OldLayersList [ j ] ;
bFound = true ;
break ;
}
}
if ( bFound )
{
2016-06-15 10:31:22 -04:00
if ( NewImportLayer . ThumbnailMIC - > Parent ! = Material )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2903938 on 2016/03/10 by Frank.Gigliotti
Added an instance ID to FAnimMontageInstance
#CodeReview Laurent.Delayen
#RB Laurent.Delayen
#Tests PIE
Change 2903745 on 2016/03/10 by Wes.Hunt
Update Oodle TPS
#rb none
#tests none
#codereview:john.pollard
Change 2903689 on 2016/03/10 by Uriel.Doyon
New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero.
#rb marcus.wasmer
#codereview marcus.wassmer
#tests editor, playing PC games, trying the new command
Change 2903669 on 2016/03/10 by Aaron.McLeran
OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds
- Change only effects debug stat commands for audio guys
#rb none
#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds
Change 2903625 on 2016/03/10 by John.Pollard
XB1 Oodle SDK
#rb none
#tests none
#codereview Jeff.Campeau
Change 2903577 on 2016/03/10 by Ben.Marsh
Remaking latest build scripts from //UE4/Main @ 2900980.
Change 2903560 on 2016/03/10 by Ben.Marsh
Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.
Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:
* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.
Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.
Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.
Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.
File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.
Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.
A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.
#rb none
#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
#tests local only so far, but not part of any build process yet
Change 2903539 on 2016/03/10 by John.Pollard
Improve replay playback debugging of character movement
#rb none
#tests replays
Change 2903526 on 2016/03/10 by Ben.Marsh
Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.
#rb none
#tests none
Change 2903512 on 2016/03/10 by Dan.Youhon
Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s
#rb None
#tests Compiles
Change 2903474 on 2016/03/10 by Marc.Audy
Fix crash if ChildActor is null
#rb None
#tests None
Change 2903314 on 2016/03/10 by Marc.Audy
Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
#rb James.Golding
#tests Selection of child actors works as expected
#jira UE-28201
Change 2903298 on 2016/03/10 by Simon.Tovey
Disabling the trails optimization.
#tests none
#rb none
#codereview Olaf.Piesche
Change 2903124 on 2016/03/10 by Robert.Manuszewski
Small refactor to pak signing to help with exe protection
#rb none
#tests none
[CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
FMaterialUpdateContext Context ;
2016-06-15 10:31:22 -04:00
NewImportLayer . ThumbnailMIC - > SetParentEditorOnly ( Material ) ;
Context . AddMaterialInterface ( NewImportLayer . ThumbnailMIC ) ;
2014-03-14 14:13:41 -04:00
}
}
else
{
2020-11-04 09:21:48 -04:00
if ( ! ThumbnailWeightmap )
{
ThumbnailWeightmap = LoadObject < UTexture2D > ( NULL , TEXT ( " /Engine/EditorLandscapeResources/LandscapeThumbnailWeightmap.LandscapeThumbnailWeightmap " ) , NULL , LOAD_None , NULL ) ;
}
if ( ! ThumbnailHeightmap )
{
ThumbnailHeightmap = LoadObject < UTexture2D > ( NULL , TEXT ( " /Engine/EditorLandscapeResources/LandscapeThumbnailHeightmap.LandscapeThumbnailHeightmap " ) , NULL , LOAD_None , NULL ) ;
}
2014-03-14 14:13:41 -04:00
NewImportLayer . LayerName = LayerName ;
2016-06-15 10:31:22 -04:00
NewImportLayer . ThumbnailMIC = ALandscapeProxy : : GetLayerThumbnailMIC ( Material , LayerName , ThumbnailWeightmap , ThumbnailHeightmap , nullptr ) ;
2014-03-14 14:13:41 -04:00
}
2020-11-04 09:21:48 -04:00
if ( bRefreshFromTarget )
{
NewImportLayer . LayerInfo = LayerInfoObjs [ i ] ;
}
2021-06-08 10:18:43 -04:00
RefreshLayerImport ( NewImportLayer ) ;
2020-11-04 09:21:48 -04:00
2014-03-14 14:13:41 -04:00
ImportLandscape_Layers . Add ( MoveTemp ( NewImportLayer ) ) ;
}
}
2015-12-09 15:04:15 -05:00
2021-10-12 21:21:22 -04:00
void ULandscapeEditorObject : : UpdateComponentLayerAllowList ( )
2015-12-09 15:04:15 -05:00
{
if ( ParentMode - > CurrentToolTarget . LandscapeInfo . IsValid ( ) )
{
2021-10-12 21:21:22 -04:00
ParentMode - > CurrentToolTarget . LandscapeInfo - > UpdateComponentLayerAllowList ( ) ;
2015-12-09 15:04:15 -05:00
}
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3229490 on 2016/12/09 by Cody.Albert
Integrated fix to support named changelists in SVN
Change 3229574 on 2016/12/09 by Simon.Tourangeau
Fix actor mobility getting changed on scene reimport
#jira UE-39102
Change 3229692 on 2016/12/09 by Cody.Albert
Fixing an XML Parser assert when parsing a root tag that completes on the same line.
#jira UE-30393
Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt
PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut)
Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt
Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load.
Change 3231475 on 2016/12/12 by Alex.Delesky
#jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100.
Change 3231476 on 2016/12/12 by Alex.Delesky
#jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once.
Change 3231477 on 2016/12/12 by Alex.Delesky
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3231479 on 2016/12/12 by Alex.Delesky
#jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown.
Change 3231480 on 2016/12/12 by Alex.Delesky
#jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file
Change 3231508 on 2016/12/12 by Alex.Delesky
Removing todo comment
#jira none
Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt
Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes
Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates
Change 3231618 on 2016/12/12 by Alex.Delesky
#jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value.
Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt
Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default
Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt
Brighten up the output log by default
Change 3231648 on 2016/12/12 by Alex.Delesky
#jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot.
Change 3231666 on 2016/12/12 by Alex.Delesky
#jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets.
Change 3231674 on 2016/12/12 by Alex.Delesky
#jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch.
Change 3231745 on 2016/12/12 by Alex.Delesky
Back out changelist 3231477 to fix build error C2259
Change 3232417 on 2016/12/13 by Simon.Tourangeau
Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event
- FBX Version
- Filename Hash
- Import Type
#jira UE-37453
Change 3232477 on 2016/12/13 by Michael.Dupuis
#jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side.
Change 3232571 on 2016/12/13 by Alex.Delesky
Back out changelist 3231745
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3232675 on 2016/12/13 by Alexis.Matte
Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue.
#jira UE-39692
Change 3232975 on 2016/12/13 by Alex.Delesky
Fix to build error C2259 for the IPluginWizardDefinition API change.
Change 3233146 on 2016/12/13 by Michael.Dupuis
#jira UE-38766 : Added eye dropper to select flatten height
Fixed a rounding errors resulting in not flattening to the specified height
Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value
Change 3233153 on 2016/12/13 by Alexis.Matte
We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array
#jira UE-38827
Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt
Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices.
#jira UE-7388
Change 3234485 on 2016/12/14 by Michael.Dupuis
tentative build fix for Mac
Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt
Made a setting to control if PIE enter and exit sounds are played. Off by default
Change 3236709 on 2016/12/15 by Simon.Tourangeau
Fix camera export rotation offset
#jira UE-34692
#jira UE-39740
Change 3236782 on 2016/12/15 by Jamie.Dale
Fixed EmitTermExpr failing to use the correct package ID
FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null.
Change 3236853 on 2016/12/15 by Alexis.Matte
Fix the serialization of the staticmesh property FMeshSectionInfoMap
Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt
Remove old define
Change 3239328 on 2016/12/18 by Richard.TalbotWatkin
Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition.
#jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport
Change 3239660 on 2016/12/19 by Alex.Delesky
#jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component.
Change 3239662 on 2016/12/19 by Alex.Delesky
#jira UE-39007 - The data table row editor now contains a Reset to Default control.
Change 3239663 on 2016/12/19 by Alex.Delesky
#jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog.
Change 3240696 on 2016/12/20 by Michael.Dupuis
#jira UETOOL-1009:
Added paddiing to columns view
Added auto resize of column when double clicking on splitter handle in the header
Remove right number alignment after discussion with Matt K.
Change 3240758 on 2016/12/20 by Michael.Dupuis
added missing non abstract implementation
Change 3240782 on 2016/12/20 by Michael.Dupuis
Added missing documentation for content browser column auto resizing
Change 3240817 on 2016/12/20 by Alex.Delesky
#jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab.
Change 3240834 on 2016/12/20 by Michael.Dupuis
tentative fix for build error
Change 3240984 on 2016/12/20 by Michael.Dupuis
Removed unnecessary functions
Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt
Fix compile errors
Change 3241966 on 2016/12/21 by Chris.Wood
Fixed Typo and changed execution order in "ComboBoxString" Component
[UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component
PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi)
#github https://github.com/EpicGames/UnrealEngine/pull/2971
Change 3242126 on 2016/12/21 by Alexis.Matte
Back out changelist 3236853
We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h.
Change 3244492 on 2017/01/02 by Jamie.Dale
Improved error message
Change 3244545 on 2017/01/02 by Nick.Darnell
Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded.
Change 3244549 on 2017/01/02 by Nick.Darnell
Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely.
The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors.
Now users through C++ can load and replace the hardware cursors with custom ones of their own,
e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0))));
The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources.
Change 3244845 on 2017/01/03 by Jamie.Dale
Fixing typo
#jira UE-39920
Change 3244903 on 2017/01/03 by Jamie.Dale
PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift)
Change 3245125 on 2017/01/03 by Alexis.Matte
Put back the dev-editor version because there was some data create before we back it out
Change 3246106 on 2017/01/04 by Chris.Wood
Removed broken CrashReportReciever pre-upload phase from CrashReportClient.
[UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever
Change 3246251 on 2017/01/04 by Alex.Delesky
#jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location.
Change 3246252 on 2017/01/04 by Alex.Delesky
#jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import.
The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point.
Change 3247620 on 2017/01/05 by Nick.Darnell
Automation - Removing an adjustment to the number of shots we take for high res shots.
Change 3247621 on 2017/01/05 by Nick.Darnell
Automation - Adding a few more rendering tests to the cornell box.
Change 3247629 on 2017/01/05 by Nick.Darnell
Automation - Improving the comparison row display for screenshots so it's obvious what each image represents.
Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt
PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist)
Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt
Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first
Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt
Fixed automation test warnings
#jira UE-40198
Change 3249481 on 2017/01/06 by Michael.Dupuis
#jira UE-37875 : Fill empty layers of components on assignation or creation
Also fill new component added with the tool from neighbours predominance
Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt
PR #3093: Include guard cleanup (Contributed by projectgheist)
Change 3249544 on 2017/01/06 by Michael.Dupuis
#jira UE-40299: validate if UISettings is valid
Change 3250738 on 2017/01/09 by Nick.Darnell
UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget.
#jira UE-39845
Change 3250865 on 2017/01/09 by Nick.Darnell
Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums.
Change 3250867 on 2017/01/09 by Nick.Darnell
Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size.
Change 3250936 on 2017/01/09 by Nick.Darnell
Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch.
Change 3250937 on 2017/01/09 by Nick.Darnell
Automation - Adding another example to the CornellBox test.
Change 3250958 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251162 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt
Attempt to fix static analysis warnings
Change 3251373 on 2017/01/09 by Nick.Darnell
Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order.
Change 3251525 on 2017/01/09 by Nick.Darnell
Automation - Fixing a build issue in ImageComparer.
Change 3252321 on 2017/01/10 by Alex.Delesky
#jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections.
Change 3252354 on 2017/01/10 by Nick.Darnell
Image Compare - Fixing a potential threading hazard in the image comparer.
Change 3252356 on 2017/01/10 by Nick.Darnell
Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata.
Change 3252601 on 2017/01/10 by Alexis.Matte
Fbx automation test, reload feature implementation
Change 3252761 on 2017/01/10 by Jamie.Dale
Fixing some IWYU errors with PCH disabled
Change 3252765 on 2017/01/10 by Jamie.Dale
Fixing some static analysis warnings
Change 3252793 on 2017/01/10 by Jamie.Dale
Fixing FText natvis
The text data visualizers have to be defined before the text visualizer
Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt
PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts)
Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt
Refactor scene importing to allow for plugins to make scene importers
Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt
Fix calling LoadModule in perforce source control off the main thread
Change 3256472 on 2017/01/12 by Jamie.Dale
Improved error reporting from IncludeTool
- The error reporting was using zero-based line indices which was misleading.
- The error reporting now includes the offending line to remove ambiguity.
Change 3256725 on 2017/01/13 by Jamie.Dale
IncludeTool can now parse typedef in Fwd headers
Change 3256758 on 2017/01/13 by Jamie.Dale
Added support for String Tables
String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text.
String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo.
Change 3257018 on 2017/01/13 by Alexis.Matte
FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag
Change 3257168 on 2017/01/13 by Jamie.Dale
Removed code that was writing null into bytecode during save
Change 3257344 on 2017/01/13 by Jamie.Dale
Backing out changelist 3256725, and excluding my header from the scan instead
Change 3257426 on 2017/01/13 by Nick.Darnell
Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha.
Change 3257572 on 2017/01/13 by Nick.Darnell
Slate - Fixing a build error.
Change 3257970 on 2017/01/14 by Jamie.Dale
Fixing exclude path
Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin)
Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3126: Fix to load editor style assets (Contributed by projectgheist)
Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88)
Change 3258539 on 2017/01/16 by Nick.Darnell
Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping.
Change 3258607 on 2017/01/16 by Nick.Darnell
Fixing the mac build.
Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt
Actors with experimental components no longer say
"Uses experimental class: Actor" when selecting the actor root in the details panel
#jira UE-40535
Change 3258678 on 2017/01/16 by Nick.Darnell
Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown.
Change 3258924 on 2017/01/16 by Nick.Darnell
Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups.
Change 3258929 on 2017/01/16 by Nick.Darnell
UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed.
Change 3259109 on 2017/01/16 by Nick.Darnell
Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype.
Change 3259111 on 2017/01/16 by Alexis.Matte
Avoid to move the camera when we re-import in the static mesh editor
#jira UE-40613
Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt
Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget
Change 3259300 on 2017/01/16 by Nick.Darnell
UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer.
Change 3259306 on 2017/01/16 by Nick.Darnell
Games - Removing the Game Specific implementations of PreConstruct.
Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt
Fix static analysis
Change 3261049 on 2017/01/17 by Nick.Darnell
Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird.
Change 3261434 on 2017/01/17 by Nick.Darnell
Fixing the mac build.
Change 3261435 on 2017/01/17 by Nick.Darnell
Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously.
Change 3261460 on 2017/01/17 by Nick.Darnell
UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code.
Change 3261833 on 2017/01/18 by Alexis.Matte
Fix all warning for fbx automation tests
#jira UE-40208
Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt
PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts)
Change 3262000 on 2017/01/18 by Jamie.Dale
Updated Slate to allocate widgets using MakeShared
This saves one allocation per-widget
Change 3262003 on 2017/01/18 by Nick.Darnell
UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing.
#jira UE-40523
Change 3262052 on 2017/01/18 by Alexis.Matte
Put back the staticmesh skinxx workflow
#jira UE-40782
Change 3262775 on 2017/01/18 by Nick.Darnell
Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU.
Change 3262818 on 2017/01/18 by Alex.Delesky
#jira UE-40668 - Editor preferences will now save for data pin styles
Change 3263679 on 2017/01/19 by Nick.Darnell
Slate - Adding some comments to the Slate Vertex Rounder.
Change 3265154 on 2017/01/19 by Nick.Darnell
Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way.
Change 3265478 on 2017/01/20 by Chris.Wood
Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog
[UE-40838] - Make hang time configurable and increase default in UnrealWatchdog
Change 3265600 on 2017/01/20 by Nick.Darnell
Slate - Making some const local variables const.
Change 3265714 on 2017/01/20 by Alex.Delesky
#jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.
Change 3265865 on 2017/01/20 by Alex.Delesky
#jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel.
Change 3267989 on 2017/01/23 by Jamie.Dale
Exposed String Tables to Blueprints
Change 3268018 on 2017/01/23 by Jamie.Dale
Small API clean-up for string tables
Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt
Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level
#jira UE-40930
Change 3269388 on 2017/01/24 by Chris.Wood
Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close.
[UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users
Standalone tool code only - doesn't touch engine
Change 3270205 on 2017/01/24 by Cody.Albert
Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object.
Change 3270231 on 2017/01/24 by Cody.Albert
Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters
Change 3271734 on 2017/01/25 by Michael.Dupuis
#jira UE-38631
Add sorting for landscape target layer, user can now sort alphabetical, material based or custom
Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot
Fixed SDropTarget to only consider the drop action if it was started by it
Added visibility toggle to only show used layers in the currently loaded data
Change 3271797 on 2017/01/25 by Jamie.Dale
Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense
Change 3271813 on 2017/01/25 by Jamie.Dale
Fixed bad access of a shared this during widget destruction when a context menu was open
Change 3271988 on 2017/01/25 by Nick.Darnell
Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days.
Change 3271992 on 2017/01/25 by Nick.Darnell
Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property.
Change 3272134 on 2017/01/25 by Jamie.Dale
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text).
Change 3272301 on 2017/01/25 by Nick.Darnell
Slate - More cleanup from the removal of a old legacy enum that people were still using.
Change 3273070 on 2017/01/26 by Chris.Wood
Fix CIS errors in landscape code from CL 3271734
Change 3273123 on 2017/01/26 by Chris.Wood
Fix crash during init of CRC when running packaged without access to main engine config hierarchy.
Change 3273194 on 2017/01/26 by Nick.Darnell
Fixing some build warnings.
Change 3273242 on 2017/01/26 by Michael.Dupuis
#jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels
Change 3273279 on 2017/01/26 by Jamie.Dale
String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine")
Change 3273483 on 2017/01/26 by Alex.Delesky
#jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce.
Also makes a slight change to the ResavePackages commandlet to submit files marked for delete.
Change 3273568 on 2017/01/26 by Alex.Delesky
Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template.
#jira none
Change 3273855 on 2017/01/26 by Alex.Delesky
#jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode.
Change 3274200 on 2017/01/26 by Alex.Delesky
For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods.
Change 3274317 on 2017/01/26 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3275072 on 2017/01/27 by Michael.Dupuis
#jira UE-38631 tweaks
Fix typo error
Iterate all components, not only active one
Force expand the Target Layers widget
Change 3275249 on 2017/01/27 by Alexis.Matte
Color grading controls: Keep the vector ratio when changing the master slider
#jira UETOOL-1098
Change 3275282 on 2017/01/27 by Alexis.Matte
Color grading controls: Cosmetic changes
#jira UETOOL-1099
Change 3275292 on 2017/01/27 by Alexis.Matte
Make sure the build is called once when we import a staticmesh.
#jira UE-40947
Change 3275430 on 2017/01/27 by Alexis.Matte
Add some fbx automation tests
- Import a mesh with no material
- Import corrupted asset with no section in a LOD
- Import morph targets
- Materials name clash
- Max Multimap material ordering
Change 3275683 on 2017/01/27 by Michael.Dupuis
#jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo
Change 3276237 on 2017/01/27 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3276266 on 2017/01/27 by Jamie.Dale
Fix for accessing a potentially null pointer
Change 3277065 on 2017/01/30 by Chris.Wood
Move crash report temp files to saved config and cleanup on schedule.
[UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor
Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt
Fix crash when cancelling SaveCurrentLevelAs
#jira UE-41182
Change 3277409 on 2017/01/30 by Jamie.Dale
Improved text rendering when the last resort font is missing
The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing.
- The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings).
- The Slate font renderer no longer tries to use the last resort font if it's not available.
- Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing).
- HarfBuzz shaped text now uses the fallback character correctly.
Change 3277749 on 2017/01/30 by Nick.Darnell
Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value.
Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes.
Change 3277805 on 2017/01/30 by Nick.Darnell
Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make.
Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt
Fix Niagara slate style warning on startup
Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile error
Change 3278132 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile errors
Change 3278186 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278525 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278534 on 2017/01/30 by Nick.Darnell
Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration.
Change 3278941 on 2017/01/31 by Nick.Darnell
Fixing a build warning due to build team refactor.
Change 3278949 on 2017/01/31 by Nick.Darnell
Fixing incrmenetal build issues.
Change 3278953 on 2017/01/31 by Nick.Darnell
Fixing some incrmental linux build issues.
Change 3278964 on 2017/01/31 by Nick.Darnell
FIxing more incremental build issues.
Change 3279256 on 2017/01/31 by Michael.Dupuis
#jira UE-41319
#jira UE-41315
#jira UE-41316
Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor
Change 3279270 on 2017/01/31 by Chad.Garyet
re-updating the automation test pool
[CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
void ULandscapeEditorObject : : UpdateTargetLayerDisplayOrder ( )
{
if ( ParentMode ! = nullptr )
{
ParentMode - > UpdateTargetLayerDisplayOrder ( TargetDisplayOrder ) ;
}
}
void ULandscapeEditorObject : : UpdateShowUnusedLayers ( )
{
if ( ParentMode ! = nullptr )
{
ParentMode - > UpdateShownLayerList ( ) ;
}
}