Files
UnrealEngineUWP/Engine/Source/Editor/LandscapeEditor/Private/LandscapeEditorObject.cpp

937 lines
39 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LandscapeEditorObject.h"
#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"
#include "LandscapeRender.h"
#include "LandscapeSettings.h"
#include "LandscapeImportHelper.h"
#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"
#include "EngineUtils.h"
#include "Misc/MessageDialog.h"
Copying //UE4/Dev-Landscape to //UE4/Dev-Main (Source: //UE4/Dev-Landscape @ 3053591) #lockdown nick.penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3016060 on 2016/06/16 by Gareth.Martin Fixed check being hit in AActor::InvalidateLightingCacheDetailed when building lighting with grass (cloned from 4.12) #jira UE-31766 Change 3016346 on 2016/06/16 by Gareth.Martin Fixed crash when editing landscape component properties and then clicking in the editor viewport (cloned from 4.12) #jira UE-32060 Change 3016366 on 2016/06/16 by Gareth.Martin Refactor Landscape Select / Mask tools so that they don't share a common brush stroke class - they had no common code, there was just a massive if statement in there selecting between the two behaviours Change 3017787 on 2016/06/17 by Gareth.Martin Added Copy/Transform Algos Change 3019479 on 2016/06/20 by Gareth.Martin Fix for user-reported crash in landscape circle brush (https://udn.unrealengine.com/questions/298966/crash-in-flandscapebrushcircletick.html) Change 3020927 on 2016/06/21 by Gareth.Martin Fixed "Obj in another map" error when packaging a project containing Landscape for Android #jira UE-32194 Change 3021318 on 2016/06/21 by Gareth.Martin Fixed crash in PIE while using Landscape Splines with bPlaceSplineMeshesInStreamingLevels #jira UE-32034 Change 3024769 on 2016/06/23 by Gareth.Martin Allow creation of transient objects during saving, as they wouldn't be saved anyway (and the slate font system did during autosave and hit this check) #jira UE-32194 Change 3026457 on 2016/06/24 by Gareth.Martin Fixed crash when setting landscape component collision mip to an invalid value while in collision viewmode (cloned from 4.12) #jira UE-32415 Change 3032336 on 2016/06/29 by Gareth.Martin Fixed a long-standing issue with undo/redo nulling lazy pointers - Two objects are created which reference each other with lazy object pointers (e.g. ULandscapeComponent and ULandscapeHeightfieldCollisionComponent) - Undo - During undo, the first object saves its state and restores itself to a deleted (pendingkill) state - the second object then tries to save its state, but as the other object is marked pending kill it fails to resolve its lazy ptr and saves null instead - Redo - Lazy ptr is restored to the saved null instead of the actual original value Change 3032818 on 2016/06/29 by Gareth.Martin Removed all use of deferred exec commands from the landscape code This solves numerous crashes during commandlets etc with landscape infos not being initialized because they don't tick the engine #jira UE-31654 #jira UE-29568 Notes: Split CreateLandscapeInfo from GetLandscapeInfo (removing the default-true bool param from GetLandscapeInfo in the process), so it only gets created where intended Removed some unused properties/functions, e.g. ULandscapeInfo::bIsValid, bCurrentlyEditing Removed legacy landscape world composition code General cleanup Change 3032820 on 2016/06/29 by Gareth.Martin File missing from CL 3032818 (P4! Grr) Change 3037033 on 2016/07/04 by Gareth.Martin Capitalised variable names in Algo::Accumulate at Core's request Change 3037035 on 2016/07/04 by Gareth.Martin Improved Algo::Accumulate when used with movable types (e.g. FString) Change 3037373 on 2016/07/05 by Gareth.Martin Added FText property handle type Change 3039183 on 2016/07/06 by Gareth.Martin Landscape data plugin API - part 1: Import Change 3042473 on 2016/07/08 by Gareth.Martin Landscape data plugin API - part 2: Re-Import Change 3042484 on 2016/07/08 by Jack.Porter Pull request from AndrewScheidecker https://github.com/EpicGames/UnrealEngine/pull/1279 and updated to 4.13. Adapted GetStaticBatchElementVisibility to support changing visibility of batches with a single element (for view-dependent culling of static mesh elements) Added GetStaticBatchElementShadowVisibility that allows culling static mesh elements when rendering shadow depths using information about the light ** Any user-created vertex factory that implements GetStaticBatchElementVisibility will need to set bRequiresPerElementVisibility on their FMeshBatch. #1279 Change 3044665 on 2016/07/11 by Gareth.Martin Renamed Engine/FixedSizeArrayView to Core/Containers/ArrayView Note: The new and improved TArrayView (as agreed with core team) is *not* const-propogating. const TArrayView<T> does not imply "const T" and will not bind to a const TArray! You want TArrayView<const T> Change 3045936 on 2016/07/12 by Gareth.Martin Worked around Visual Studio 2013 bug with the new TArrayView #jira UE-33037 Change 3045964 on 2016/07/12 by Gareth.Martin Fix "cannot find shader" crash when using landscape with XY offsets #jira UE-33042 Change 3046311 on 2016/07/12 by Gareth.Martin Landscape data plugin API - part 3: Tiled landscapes Change 3047701 on 2016/07/13 by Gareth.Martin Landscape data plugin API - cleanup Change 3047894 on 2016/07/13 by Gareth.Martin Landscape data plugin API - part 4: Support inherent scale in landscape heightmap formats Change 3049656 on 2016/07/14 by Gareth.Martin Landscape data plugin API - Fix right-click layer import option to show plugin filetypes in the file selector Change 3050073 on 2016/07/14 by Gareth.Martin Update sequence recorder to new TArrayView following merge from main Change 3050096 on 2016/07/14 by Gareth.Martin Landscape data plugin API - part 5: Export! Change 3051521 on 2016/07/15 by Gareth.Martin Landscape data plugin API - part 6: Finishing up Change 3051783 on 2016/07/15 by Gareth.Martin Fixed the landscape info map not being transacted correctly, resulting in a crash if you undo the deletion of a landscape #jira UE-33291 Change 3053322 on 2016/07/18 by Gareth.Martin Fix landscapes not being registered correctly with their landscape info when hiding/showing them in world composition #jira UE-33346 Change 3053513 on 2016/07/18 by Jack.Porter Added LANDSCAPE_API to Landscape MaterialExpression classes #jira UE-25145 #1927 Change 3053591 on 2016/07/18 by Gareth.Martin Attempt to fix VS 2013 ICE #jira UE-33382 [CL 3053789 by Gareth Martin in Main branch]
2016-07-18 11:58:33 -04:00
//#define LOCTEXT_NAMESPACE "LandscapeEditor"
ULandscapeEditorObject::ULandscapeEditorObject(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
// Tool Settings:
, ToolStrength(0.3f)
, bUseWeightTargetValue(false)
, WeightTargetValue(1.0f)
, MaximumValueRadius(10000.0f)
, bCombinedLayersOperation(true)
, FlattenMode(ELandscapeToolFlattenMode::Both)
, bUseSlopeFlatten(false)
, bPickValuePerApply(false)
, bUseFlattenTarget(false)
, FlattenTarget(0)
, bShowFlattenTargetPreview(true)
, TerraceInterval(1.0f)
, TerraceSmooth(0.0001f)
, RampWidth(2000)
, RampSideFalloff(0.4f)
, SmoothFilterKernelSize(4)
, 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)
, RainDistScale(60.0f)
, 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)
, bApplyToAllTargets(true)
, bSnapGizmo(false)
, bSmoothGizmoBrush(true)
, MirrorPoint(FVector::ZeroVector)
, MirrorOp(ELandscapeMirrorOperation::MinusXToPlusX)
, 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)
, ImportLandscape_AlphamapType(ELandscapeImportAlphamapType::Additive)
// Brush Settings:
, BrushRadius(2048.0f)
, BrushFalloff(0.5f)
, bUseClayBrush(false)
, AlphaBrushScale(0.5f)
, bAlphaBrushAutoRotate(true)
, AlphaBrushRotation(0.0f)
, AlphaBrushPanU(0.5f)
, AlphaBrushPanV(0.5f)
, bUseWorldSpacePatternBrush(false)
, WorldSpacePatternBrushSettings(FVector2D::ZeroVector, 0.0f, false, 3200)
, 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)
, CurrentLayerIndex(INDEX_NONE)
{
// 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);
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (PropertyChangedEvent.MemberProperty == nullptr ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, AlphaTexture) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, AlphaTextureChannel))
{
SetAlphaTexture(AlphaTexture, AlphaTextureChannel);
}
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (PropertyChangedEvent.MemberProperty == nullptr ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, NewLandscape_QuadsPerSection) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, NewLandscape_SectionsPerComponent) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, NewLandscape_ComponentCount))
{
NewLandscape_ClampSize();
}
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (PropertyChangedEvent.MemberProperty == nullptr ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, ResizeLandscape_QuadsPerSection) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, ResizeLandscape_SectionsPerComponent) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, ResizeLandscape_ConvertMode))
{
UpdateComponentCount();
}
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (PropertyChangedEvent.MemberProperty == nullptr ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, NewLandscape_Material) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, ImportLandscape_HeightmapFilename) ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, ImportLandscape_Layers))
{
// 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);
}
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (PropertyChangedEvent.MemberProperty == nullptr ||
PropertyChangedEvent.MemberProperty->GetFName() == GET_MEMBER_NAME_CHECKED(ULandscapeEditorObject, PaintingRestriction))
{
UpdateComponentLayerAllowList();
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
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();
}
}
/** Load UI settings from ini file */
void ULandscapeEditorObject::Load()
{
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("ToolStrength"), ToolStrength, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("WeightTargetValue"), WeightTargetValue, GEditorPerProjectIni);
bool InbUseWeightTargetValue = bUseWeightTargetValue;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseWeightTargetValue"), InbUseWeightTargetValue, GEditorPerProjectIni);
bUseWeightTargetValue = InbUseWeightTargetValue;
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("BrushRadius"), BrushRadius, GEditorPerProjectIni);
GConfig->GetInt(TEXT("LandscapeEdit"), TEXT("BrushComponentSize"), BrushComponentSize, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("BrushFalloff"), BrushFalloff, GEditorPerProjectIni);
bool InbUseClayBrush = bUseClayBrush;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseClayBrush"), InbUseClayBrush, GEditorPerProjectIni);
bUseClayBrush = InbUseClayBrush;
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);
FString AlphaTextureName = (AlphaTexture != NULL) ? AlphaTexture->GetPathName() : FString();
int32 InAlphaTextureChannel = AlphaTextureChannel;
GConfig->GetString(TEXT("LandscapeEdit"), TEXT("AlphaTextureName"), AlphaTextureName, GEditorPerProjectIni);
GConfig->GetInt(TEXT("LandscapeEdit"), TEXT("AlphaTextureChannel"), InAlphaTextureChannel, GEditorPerProjectIni);
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;
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;
bool InbUseSlopeFlatten = bUseSlopeFlatten;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseSlopeFlatten"), InbUseSlopeFlatten, GEditorPerProjectIni);
bUseSlopeFlatten = InbUseSlopeFlatten;
bool InbPickValuePerApply = bPickValuePerApply;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bPickValuePerApply"), InbPickValuePerApply, GEditorPerProjectIni);
bPickValuePerApply = InbPickValuePerApply;
bool InbUseFlattenTarget = bUseFlattenTarget;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseFlattenTarget"), InbUseFlattenTarget, GEditorPerProjectIni);
bUseFlattenTarget = InbUseFlattenTarget;
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("FlattenTarget"), FlattenTarget, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("TerraceSmooth"), TerraceSmooth, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("TerraceInterval"), TerraceInterval, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("RampWidth"), RampWidth, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("RampSideFalloff"), RampSideFalloff, GEditorPerProjectIni);
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bCombinedLayersOperation"), bCombinedLayersOperation, GEditorPerProjectIni);
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;
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;
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("ErosionNoiseScale"), ErosionNoiseScale, GEditorPerProjectIni);
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;
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;
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("RainDistScale"), RainDistScale, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("HErosionDetailScale"), HErosionDetailScale, GEditorPerProjectIni);
bool InbHErosionDetailSmooth = bHErosionDetailSmooth;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bHErosionDetailSmooth"), InbHErosionDetailSmooth, GEditorPerProjectIni);
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;
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;
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("NoiseScale"), NoiseScale, GEditorPerProjectIni);
GConfig->GetInt(TEXT("LandscapeEdit"), TEXT("SmoothFilterKernelSize"), SmoothFilterKernelSize, GEditorPerProjectIni);
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("DetailScale"), DetailScale, GEditorPerProjectIni);
bool InbDetailSmooth = bDetailSmooth;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bDetailSmooth"), InbDetailSmooth, GEditorPerProjectIni);
bDetailSmooth = InbDetailSmooth;
GConfig->GetFloat(TEXT("LandscapeEdit"), TEXT("MaximumValueRadius"), MaximumValueRadius, GEditorPerProjectIni);
bool InbSmoothGizmoBrush = bSmoothGizmoBrush;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bSmoothGizmoBrush"), InbSmoothGizmoBrush, GEditorPerProjectIni);
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;
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);
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;
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;
// Region
//GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseSelectedRegion"), bUseSelectedRegion, GEditorPerProjectIni);
//GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bUseNegativeMask"), bUseNegativeMask, GEditorPerProjectIni);
bool InbApplyToAllTargets = bApplyToAllTargets;
GConfig->GetBool(TEXT("LandscapeEdit"), TEXT("bApplyToAllTargets"), InbApplyToAllTargets, GEditorPerProjectIni);
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);
// Set EditRenderMode
SetbUseSelectedRegion(bUseSelectedRegion);
SetbUseNegativeMask(bUseNegativeMask);
// Gizmo History (not saved!)
GizmoHistories.Empty();
for (TActorIterator<ALandscapeGizmoActor> It(ParentMode->GetWorld()); It; ++It)
{
ALandscapeGizmoActor* Gizmo = *It;
if (!Gizmo->IsEditable())
{
new(GizmoHistories) FGizmoHistory(Gizmo);
}
}
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);
}
int32 AlphamapType = (uint8)ImportLandscape_AlphamapType;
GConfig->GetInt(TEXT("LandscapeEdit"), TEXT("ImportLandscape_AlphamapType"), AlphamapType, GEditorPerProjectIni);
ImportLandscape_AlphamapType = (ELandscapeImportAlphamapType)AlphamapType;
RefreshImportLayersList();
}
/** Save UI settings to ini file */
void ULandscapeEditorObject::Save()
{
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("ToolStrength"), ToolStrength, GEditorPerProjectIni);
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("WeightTargetValue"), WeightTargetValue, GEditorPerProjectIni);
GConfig->SetBool(TEXT("LandscapeEdit"), TEXT("bUseWeightTargetValue"), bUseWeightTargetValue, GEditorPerProjectIni);
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);
const FString AlphaTextureName = (AlphaTexture != NULL) ? AlphaTexture->GetPathName() : FString();
GConfig->SetString(TEXT("LandscapeEdit"), TEXT("AlphaTextureName"), *AlphaTextureName, GEditorPerProjectIni);
GConfig->SetInt(TEXT("LandscapeEdit"), TEXT("AlphaTextureChannel"), (int32)AlphaTextureChannel, 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
GConfig->SetInt(TEXT("LandscapeEdit"), TEXT("FlattenMode"), (int32)FlattenMode, GEditorPerProjectIni);
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);
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("TerraceSmooth"), TerraceSmooth, GEditorPerProjectIni);
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("TerraceInterval"), TerraceInterval, GEditorPerProjectIni);
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("RampWidth"), RampWidth, GEditorPerProjectIni);
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("RampSideFalloff"), RampSideFalloff, GEditorPerProjectIni);
GConfig->SetBool(TEXT("LandscapeEdit"), TEXT("bCombinedLayersOperation"), bCombinedLayersOperation, GEditorPerProjectIni);
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);
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);
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);
GConfig->SetFloat(TEXT("LandscapeEdit"), TEXT("MaximumValueRadius"), MaximumValueRadius, GEditorPerProjectIni);
GConfig->SetBool(TEXT("LandscapeEdit"), TEXT("bSmoothGizmoBrush"), bSmoothGizmoBrush, GEditorPerProjectIni);
GConfig->SetInt(TEXT("LandscapeEdit"), TEXT("PasteMode"), (int32)PasteMode, GEditorPerProjectIni);
GConfig->SetInt(TEXT("LandscapeEdit"), TEXT("MirrorOp"), (int32)MirrorOp, GEditorPerProjectIni);
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);
const FString NewLandscapeMaterialName = (NewLandscape_Material != NULL) ? NewLandscape_Material->GetPathName() : FString();
GConfig->SetString(TEXT("LandscapeEdit"), TEXT("NewLandscapeMaterialName"), *NewLandscapeMaterialName, GEditorPerProjectIni);
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);
}
// 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)
{
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;
}
void ULandscapeEditorObject::SetbSnapGizmo(bool InbSnapGizmo)
{
bSnapGizmo = InbSnapGizmo;
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (ParentMode->CurrentGizmoActor.IsValid())
{
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
ParentMode->CurrentGizmoActor->bSnapToLandscapeGrid = bSnapGizmo;
}
if (bSnapGizmo)
{
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
if (ParentMode->CurrentGizmoActor.IsValid())
{
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
check(ParentMode->CurrentGizmoActor->TargetLandscapeInfo);
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
const FVector WidgetLocation = ParentMode->CurrentGizmoActor->GetActorLocation();
const FRotator WidgetRotation = ParentMode->CurrentGizmoActor->GetActorRotation();
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
const FVector SnappedWidgetLocation = ParentMode->CurrentGizmoActor->SnapToLandscapeGrid(WidgetLocation);
const FRotator SnappedWidgetRotation = ParentMode->CurrentGizmoActor->SnapToLandscapeGrid(WidgetRotation);
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
ParentMode->CurrentGizmoActor->SetActorLocation(SnappedWidgetLocation, false);
ParentMode->CurrentGizmoActor->SetActorRotation(SnappedWidgetRotation);
}
}
}
bool ULandscapeEditorObject::SetAlphaTexture(UTexture2D* InTexture, EColorChannel::Type InTextureChannel)
{
bool Result = true;
TArray64<uint8> NewTextureData;
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);
}
const bool bSourceDataIsG8 = NewAlphaTexture != NULL && NewAlphaTexture->Source.IsValid() && NewAlphaTexture->Source.GetFormat() == TSF_G8;
const int32 NumChannels = bSourceDataIsG8 ? 1 : 4;
// Load fallback if there's no texture or data
if (NewAlphaTexture == NULL || (NewTextureData.Num() != NumChannels * NewAlphaTexture->Source.GetSizeX() * NewAlphaTexture->Source.GetSizeY()))
{
NewAlphaTexture = GetClass()->GetDefaultObject<ULandscapeEditorObject>()->AlphaTexture;
if (NewAlphaTexture)
{
NewAlphaTexture->Source.GetMipData(NewTextureData, 0);
}
Result = false;
}
if (NewAlphaTexture)
{
AlphaTexture = NewAlphaTexture;
AlphaTextureSizeX = NewAlphaTexture->Source.GetSizeX();
AlphaTextureSizeY = NewAlphaTexture->Source.GetSizeY();
AlphaTextureChannel = NumChannels == 1 ? EColorChannel::Red : InTextureChannel;
AlphaTextureData.Empty(AlphaTextureSizeX * AlphaTextureSizeY);
if (NewTextureData.Num() != NumChannels * AlphaTextureSizeX * AlphaTextureSizeY)
{
// Don't crash if for some reason we couldn't load any source art
AlphaTextureData.AddZeroed(AlphaTextureSizeX * AlphaTextureSizeY);
}
else
{
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;
}
}
}
return Result;
}
void ULandscapeEditorObject::ChooseBestComponentSizeForImport()
{
FLandscapeImportHelper::ChooseBestComponentSizeForImport(ImportLandscape_Width, ImportLandscape_Height, NewLandscape_QuadsPerSection, NewLandscape_SectionsPerComponent, NewLandscape_ComponentCount);
}
bool ULandscapeEditorObject::UseSingleFileImport() const
{
if (ParentMode)
{
return ParentMode->UseSingleFileImport();
Copying //UE4/Dev-Landscape to //UE4/Dev-Main (Source: //UE4/Dev-Landscape @ 3053591) #lockdown nick.penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3016060 on 2016/06/16 by Gareth.Martin Fixed check being hit in AActor::InvalidateLightingCacheDetailed when building lighting with grass (cloned from 4.12) #jira UE-31766 Change 3016346 on 2016/06/16 by Gareth.Martin Fixed crash when editing landscape component properties and then clicking in the editor viewport (cloned from 4.12) #jira UE-32060 Change 3016366 on 2016/06/16 by Gareth.Martin Refactor Landscape Select / Mask tools so that they don't share a common brush stroke class - they had no common code, there was just a massive if statement in there selecting between the two behaviours Change 3017787 on 2016/06/17 by Gareth.Martin Added Copy/Transform Algos Change 3019479 on 2016/06/20 by Gareth.Martin Fix for user-reported crash in landscape circle brush (https://udn.unrealengine.com/questions/298966/crash-in-flandscapebrushcircletick.html) Change 3020927 on 2016/06/21 by Gareth.Martin Fixed "Obj in another map" error when packaging a project containing Landscape for Android #jira UE-32194 Change 3021318 on 2016/06/21 by Gareth.Martin Fixed crash in PIE while using Landscape Splines with bPlaceSplineMeshesInStreamingLevels #jira UE-32034 Change 3024769 on 2016/06/23 by Gareth.Martin Allow creation of transient objects during saving, as they wouldn't be saved anyway (and the slate font system did during autosave and hit this check) #jira UE-32194 Change 3026457 on 2016/06/24 by Gareth.Martin Fixed crash when setting landscape component collision mip to an invalid value while in collision viewmode (cloned from 4.12) #jira UE-32415 Change 3032336 on 2016/06/29 by Gareth.Martin Fixed a long-standing issue with undo/redo nulling lazy pointers - Two objects are created which reference each other with lazy object pointers (e.g. ULandscapeComponent and ULandscapeHeightfieldCollisionComponent) - Undo - During undo, the first object saves its state and restores itself to a deleted (pendingkill) state - the second object then tries to save its state, but as the other object is marked pending kill it fails to resolve its lazy ptr and saves null instead - Redo - Lazy ptr is restored to the saved null instead of the actual original value Change 3032818 on 2016/06/29 by Gareth.Martin Removed all use of deferred exec commands from the landscape code This solves numerous crashes during commandlets etc with landscape infos not being initialized because they don't tick the engine #jira UE-31654 #jira UE-29568 Notes: Split CreateLandscapeInfo from GetLandscapeInfo (removing the default-true bool param from GetLandscapeInfo in the process), so it only gets created where intended Removed some unused properties/functions, e.g. ULandscapeInfo::bIsValid, bCurrentlyEditing Removed legacy landscape world composition code General cleanup Change 3032820 on 2016/06/29 by Gareth.Martin File missing from CL 3032818 (P4! Grr) Change 3037033 on 2016/07/04 by Gareth.Martin Capitalised variable names in Algo::Accumulate at Core's request Change 3037035 on 2016/07/04 by Gareth.Martin Improved Algo::Accumulate when used with movable types (e.g. FString) Change 3037373 on 2016/07/05 by Gareth.Martin Added FText property handle type Change 3039183 on 2016/07/06 by Gareth.Martin Landscape data plugin API - part 1: Import Change 3042473 on 2016/07/08 by Gareth.Martin Landscape data plugin API - part 2: Re-Import Change 3042484 on 2016/07/08 by Jack.Porter Pull request from AndrewScheidecker https://github.com/EpicGames/UnrealEngine/pull/1279 and updated to 4.13. Adapted GetStaticBatchElementVisibility to support changing visibility of batches with a single element (for view-dependent culling of static mesh elements) Added GetStaticBatchElementShadowVisibility that allows culling static mesh elements when rendering shadow depths using information about the light ** Any user-created vertex factory that implements GetStaticBatchElementVisibility will need to set bRequiresPerElementVisibility on their FMeshBatch. #1279 Change 3044665 on 2016/07/11 by Gareth.Martin Renamed Engine/FixedSizeArrayView to Core/Containers/ArrayView Note: The new and improved TArrayView (as agreed with core team) is *not* const-propogating. const TArrayView<T> does not imply "const T" and will not bind to a const TArray! You want TArrayView<const T> Change 3045936 on 2016/07/12 by Gareth.Martin Worked around Visual Studio 2013 bug with the new TArrayView #jira UE-33037 Change 3045964 on 2016/07/12 by Gareth.Martin Fix "cannot find shader" crash when using landscape with XY offsets #jira UE-33042 Change 3046311 on 2016/07/12 by Gareth.Martin Landscape data plugin API - part 3: Tiled landscapes Change 3047701 on 2016/07/13 by Gareth.Martin Landscape data plugin API - cleanup Change 3047894 on 2016/07/13 by Gareth.Martin Landscape data plugin API - part 4: Support inherent scale in landscape heightmap formats Change 3049656 on 2016/07/14 by Gareth.Martin Landscape data plugin API - Fix right-click layer import option to show plugin filetypes in the file selector Change 3050073 on 2016/07/14 by Gareth.Martin Update sequence recorder to new TArrayView following merge from main Change 3050096 on 2016/07/14 by Gareth.Martin Landscape data plugin API - part 5: Export! Change 3051521 on 2016/07/15 by Gareth.Martin Landscape data plugin API - part 6: Finishing up Change 3051783 on 2016/07/15 by Gareth.Martin Fixed the landscape info map not being transacted correctly, resulting in a crash if you undo the deletion of a landscape #jira UE-33291 Change 3053322 on 2016/07/18 by Gareth.Martin Fix landscapes not being registered correctly with their landscape info when hiding/showing them in world composition #jira UE-33346 Change 3053513 on 2016/07/18 by Jack.Porter Added LANDSCAPE_API to Landscape MaterialExpression classes #jira UE-25145 #1927 Change 3053591 on 2016/07/18 by Gareth.Martin Attempt to fix VS 2013 ICE #jira UE-33382 [CL 3053789 by Gareth Martin in Main branch]
2016-07-18 11:58:33 -04:00
}
return true;
}
void ULandscapeEditorObject::RefreshImports()
{
ClearImportLandscapeData();
HeightmapImportDescriptorIndex = 0;
HeightmapImportDescriptor.Reset();
ImportLandscape_Width = 0;
ImportLandscape_Height = 0;
ImportLandscape_HeightmapImportResult = ELandscapeImportResult::Success;
ImportLandscape_HeightmapErrorMessage = FText();
if (!ImportLandscape_HeightmapFilename.IsEmpty())
{
ImportLandscape_HeightmapImportResult =
FLandscapeImportHelper::GetHeightmapImportDescriptor(ImportLandscape_HeightmapFilename, UseSingleFileImport(), bFlipYAxis, HeightmapImportDescriptor, ImportLandscape_HeightmapErrorMessage);
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)
{
RefreshLayerImport(UIImportLayer);
}
}
void ULandscapeEditorObject::RefreshLayerImport(FLandscapeImportLayer& ImportLayer)
{
ImportLayer.ErrorMessage = FText();
ImportLayer.ImportResult = ELandscapeImportResult::Success;
if (!ImportLayer.SourceFilePath.IsEmpty())
{
if (!ImportLayer.LayerInfo)
{
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)
{
if (ImportLandscape_Height != 0 || ImportLandscape_Width != 0)
{
// Use same import index as Heightmap
int32 FoundIndex = INDEX_NONE;
for (int32 Index = 0; Index < ImportLayer.ImportDescriptor.FileResolutions.Num(); ++Index)
{
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.");
}
}
}
}
}
}
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();
ImportLandscapeData();
ChooseBestComponentSizeForImport();
}
void ULandscapeEditorObject::ImportLandscapeData()
{
ImportLandscape_HeightmapImportResult = FLandscapeImportHelper::GetHeightmapImportData(HeightmapImportDescriptor, HeightmapImportDescriptorIndex, ImportLandscape_Data, ImportLandscape_HeightmapErrorMessage);
Copying //UE4/Dev-Landscape to //UE4/Dev-Main (Source: //UE4/Dev-Landscape @ 3053591) #lockdown nick.penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3016060 on 2016/06/16 by Gareth.Martin Fixed check being hit in AActor::InvalidateLightingCacheDetailed when building lighting with grass (cloned from 4.12) #jira UE-31766 Change 3016346 on 2016/06/16 by Gareth.Martin Fixed crash when editing landscape component properties and then clicking in the editor viewport (cloned from 4.12) #jira UE-32060 Change 3016366 on 2016/06/16 by Gareth.Martin Refactor Landscape Select / Mask tools so that they don't share a common brush stroke class - they had no common code, there was just a massive if statement in there selecting between the two behaviours Change 3017787 on 2016/06/17 by Gareth.Martin Added Copy/Transform Algos Change 3019479 on 2016/06/20 by Gareth.Martin Fix for user-reported crash in landscape circle brush (https://udn.unrealengine.com/questions/298966/crash-in-flandscapebrushcircletick.html) Change 3020927 on 2016/06/21 by Gareth.Martin Fixed "Obj in another map" error when packaging a project containing Landscape for Android #jira UE-32194 Change 3021318 on 2016/06/21 by Gareth.Martin Fixed crash in PIE while using Landscape Splines with bPlaceSplineMeshesInStreamingLevels #jira UE-32034 Change 3024769 on 2016/06/23 by Gareth.Martin Allow creation of transient objects during saving, as they wouldn't be saved anyway (and the slate font system did during autosave and hit this check) #jira UE-32194 Change 3026457 on 2016/06/24 by Gareth.Martin Fixed crash when setting landscape component collision mip to an invalid value while in collision viewmode (cloned from 4.12) #jira UE-32415 Change 3032336 on 2016/06/29 by Gareth.Martin Fixed a long-standing issue with undo/redo nulling lazy pointers - Two objects are created which reference each other with lazy object pointers (e.g. ULandscapeComponent and ULandscapeHeightfieldCollisionComponent) - Undo - During undo, the first object saves its state and restores itself to a deleted (pendingkill) state - the second object then tries to save its state, but as the other object is marked pending kill it fails to resolve its lazy ptr and saves null instead - Redo - Lazy ptr is restored to the saved null instead of the actual original value Change 3032818 on 2016/06/29 by Gareth.Martin Removed all use of deferred exec commands from the landscape code This solves numerous crashes during commandlets etc with landscape infos not being initialized because they don't tick the engine #jira UE-31654 #jira UE-29568 Notes: Split CreateLandscapeInfo from GetLandscapeInfo (removing the default-true bool param from GetLandscapeInfo in the process), so it only gets created where intended Removed some unused properties/functions, e.g. ULandscapeInfo::bIsValid, bCurrentlyEditing Removed legacy landscape world composition code General cleanup Change 3032820 on 2016/06/29 by Gareth.Martin File missing from CL 3032818 (P4! Grr) Change 3037033 on 2016/07/04 by Gareth.Martin Capitalised variable names in Algo::Accumulate at Core's request Change 3037035 on 2016/07/04 by Gareth.Martin Improved Algo::Accumulate when used with movable types (e.g. FString) Change 3037373 on 2016/07/05 by Gareth.Martin Added FText property handle type Change 3039183 on 2016/07/06 by Gareth.Martin Landscape data plugin API - part 1: Import Change 3042473 on 2016/07/08 by Gareth.Martin Landscape data plugin API - part 2: Re-Import Change 3042484 on 2016/07/08 by Jack.Porter Pull request from AndrewScheidecker https://github.com/EpicGames/UnrealEngine/pull/1279 and updated to 4.13. Adapted GetStaticBatchElementVisibility to support changing visibility of batches with a single element (for view-dependent culling of static mesh elements) Added GetStaticBatchElementShadowVisibility that allows culling static mesh elements when rendering shadow depths using information about the light ** Any user-created vertex factory that implements GetStaticBatchElementVisibility will need to set bRequiresPerElementVisibility on their FMeshBatch. #1279 Change 3044665 on 2016/07/11 by Gareth.Martin Renamed Engine/FixedSizeArrayView to Core/Containers/ArrayView Note: The new and improved TArrayView (as agreed with core team) is *not* const-propogating. const TArrayView<T> does not imply "const T" and will not bind to a const TArray! You want TArrayView<const T> Change 3045936 on 2016/07/12 by Gareth.Martin Worked around Visual Studio 2013 bug with the new TArrayView #jira UE-33037 Change 3045964 on 2016/07/12 by Gareth.Martin Fix "cannot find shader" crash when using landscape with XY offsets #jira UE-33042 Change 3046311 on 2016/07/12 by Gareth.Martin Landscape data plugin API - part 3: Tiled landscapes Change 3047701 on 2016/07/13 by Gareth.Martin Landscape data plugin API - cleanup Change 3047894 on 2016/07/13 by Gareth.Martin Landscape data plugin API - part 4: Support inherent scale in landscape heightmap formats Change 3049656 on 2016/07/14 by Gareth.Martin Landscape data plugin API - Fix right-click layer import option to show plugin filetypes in the file selector Change 3050073 on 2016/07/14 by Gareth.Martin Update sequence recorder to new TArrayView following merge from main Change 3050096 on 2016/07/14 by Gareth.Martin Landscape data plugin API - part 5: Export! Change 3051521 on 2016/07/15 by Gareth.Martin Landscape data plugin API - part 6: Finishing up Change 3051783 on 2016/07/15 by Gareth.Martin Fixed the landscape info map not being transacted correctly, resulting in a crash if you undo the deletion of a landscape #jira UE-33291 Change 3053322 on 2016/07/18 by Gareth.Martin Fix landscapes not being registered correctly with their landscape info when hiding/showing them in world composition #jira UE-33346 Change 3053513 on 2016/07/18 by Jack.Porter Added LANDSCAPE_API to Landscape MaterialExpression classes #jira UE-25145 #1927 Change 3053591 on 2016/07/18 by Gareth.Martin Attempt to fix VS 2013 ICE #jira UE-33382 [CL 3053789 by Gareth Martin in Main branch]
2016-07-18 11:58:33 -04:00
if (ImportLandscape_HeightmapImportResult == ELandscapeImportResult::Error)
{
ImportLandscape_Data.Empty();
}
}
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();
if (ImportLayer.LayerInfo != nullptr && !ImportLayer.SourceFilePath.IsEmpty())
{
UIImportLayer.ImportResult = FLandscapeImportHelper::GetWeightmapImportDescriptor(ImportLayer.SourceFilePath, UseSingleFileImport(), bFlipYAxis, ImportLayer.LayerName, UIImportLayer.ImportDescriptor, UIImportLayer.ErrorMessage);
if (UIImportLayer.ImportResult == ELandscapeImportResult::Error)
{
FMessageDialog::Open(EAppMsgType::Ok, UIImportLayer.ErrorMessage);
return ELandscapeImportResult::Error;
}
// Use same import index as Heightmap
int32 FoundIndex = INDEX_NONE;
for (int32 Index = 0; Index < UIImportLayer.ImportDescriptor.FileResolutions.Num(); ++Index)
{
if (UIImportLayer.ImportDescriptor.ImportResolutions[Index] == HeightmapImportDescriptor.ImportResolutions[HeightmapImportDescriptorIndex])
{
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;
}
UIImportLayer.ImportResult = FLandscapeImportHelper::GetWeightmapImportData(UIImportLayer.ImportDescriptor, FoundIndex, ImportLayer.LayerName, ImportLayer.LayerData, UIImportLayer.ErrorMessage);
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);
FLandscapeImportHelper::TransformHeightmapImportData(ImportData, OutHeightData, ImportResolution, RequiredResolution, ELandscapeImportTransformType::ExpandCentered);
for (int32 LayerIdx = 0; LayerIdx < OutImportLayerInfos.Num(); ++LayerIdx)
{
TArray<uint8>& OutImportLayerData = OutImportLayerInfos[LayerIdx].LayerData;
TArray<uint8> OutLayerData;
if (OutImportLayerData.Num())
{
FLandscapeImportHelper::TransformWeightmapImportData(OutImportLayerData, OutLayerData, ImportResolution, RequiredResolution, ELandscapeImportTransformType::ExpandCentered);
OutImportLayerData = MoveTemp(OutLayerData);
}
}
}
}
void ULandscapeEditorObject::RefreshImportLayersList(bool bRefreshFromTarget)
{
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;
}
LayerNames.Add(TargetListInfo->LayerName);
LayerInfoObjs.Add(TargetListInfo->LayerInfoObj.Get());
}
}
else
{
Material = NewLandscape_Material.Get();
LayerNames = ALandscapeProxy::GetLayersFromMaterial(Material);
}
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;
NewImportLayer.ImportResult = ELandscapeImportResult::Success;
NewImportLayer.ErrorMessage = FText();
for (int32 j = 0; j < OldLayersList.Num(); j++)
{
if (OldLayersList[j].LayerName == LayerName)
{
NewImportLayer = OldLayersList[j];
bFound = true;
break;
}
}
if (bFound)
{
if (NewImportLayer.ThumbnailMIC->Parent != Material)
{
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;
NewImportLayer.ThumbnailMIC->SetParentEditorOnly(Material);
Context.AddMaterialInterface(NewImportLayer.ThumbnailMIC);
}
}
else
{
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);
}
NewImportLayer.LayerName = LayerName;
NewImportLayer.ThumbnailMIC = ALandscapeProxy::GetLayerThumbnailMIC(Material, LayerName, ThumbnailWeightmap, ThumbnailHeightmap, nullptr);
}
if (bRefreshFromTarget)
{
NewImportLayer.LayerInfo = LayerInfoObjs[i];
}
RefreshLayerImport(NewImportLayer);
ImportLandscape_Layers.Add(MoveTemp(NewImportLayer));
}
}
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
void ULandscapeEditorObject::UpdateComponentLayerAllowList()
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
{
if (ParentMode->CurrentToolTarget.LandscapeInfo.IsValid())
{
ParentMode->CurrentToolTarget.LandscapeInfo->UpdateComponentLayerAllowList();
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh Change 2718980 on 2015/10/07 by Dmitriy.Dyomin UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus) Change 2719155 on 2015/10/07 by Allan.Bentham HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction). Change 2724572 on 2015/10/12 by Jack.Porter Fix for landscape disappearing when using r.forcelod Change 2726062 on 2015/10/13 by Jack.Porter Merged CL2726057 from 4.10 Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line Fixed problem where landscape grass was not invalidated after using the mirror tool Change 2726133 on 2015/10/13 by Jack.Porter Fix for Device Profiles editor missing specific Android device profiles Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms" Change 2736210 on 2015/10/21 by Dmitriy.Dyomin Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes) Change 2736463 on 2015/10/21 by Jack.Porter Merge of 4.10 CL 2736461 Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode Change 2742855 on 2015/10/27 by Dmitriy.Dyomin Fixed: World origin offset handling for UInterpToMovementComponent https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html Change 2745055 on 2015/10/28 by Allan.Bentham Update reflection captures (via update captures button) now works when mobile preview is active. Change 2755668 on 2015/11/05 by Allan.Bentham Use distance from shadow view to object instead of view space Z. Change 2762186 on 2015/11/11 by Jack.Porter The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target Change 2765902 on 2015/11/13 by Gareth.Martin Landscape per-component layer whitelisting basic functionality Change 2769487 on 2015/11/17 by Jack.Porter Support reflection viewmode on ES2 Preview Change 2769576 on 2015/11/17 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool - automatically added components' painted layers to the component whitelists when enabling whitelist restriction Change 2771223 on 2015/11/18 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - Removing a layer from the whitelist will now delete its data from the component Change 2777862 on 2015/11/23 by Gareth.Martin Improved landscape per-component layer whitelisting functionality - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable. - todo: erasing can still cause disconnects on shared edge verts Change 2780470 on 2015/11/25 by Dmitriy.Dyomin Use hardware instancing when device supports it Change 2780679 on 2015/11/25 by Jack.Porter Landscape layer usage viewmode Change 2781878 on 2015/11/26 by Gareth.Martin Better handling of erasing 100%-painted areas of blended landscape weightmap - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core Change 2782214 on 2015/11/27 by Allan.Bentham Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures. Merging using Ronin-To-UE4-Dev-Mobile Change 2782536 on 2015/11/30 by Jack.Porter When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete Change 2792617 on 2015/12/07 by Jack.Porter Added a Project Setting to edit the r.DiscardUnusedQuality console variable Change 2792618 on 2015/12/07 by Gareth.Martin Baking landscape material world-position-offset into collision Change 2794270 on 2015/12/08 by Dmitriy.Dyomin DynamicMeshBuilder uses 16bit index buffer on ES2 platforms Change 2794556 on 2015/12/08 by Allan.Bentham Fix incorrect mip/roughness selection for HQ reflections. Fixed couple of merge issues. Change 2794568 on 2015/12/08 by Gareth.Martin Fix black spot / hole if all layers on a component use height blending and add to <= 0 [CL 2796640 by Nick Penwarden in Main branch]
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();
}
}