Commit Graph

13 Commits

Author SHA1 Message Date
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
brooke hubert
48113fc77e Adding EditorFramework to build.cs files
#rnx
#Jira UE-96448
#rb chris.gagnon

[CL 14114839 by brooke hubert in ue5-main branch]
2020-08-14 13:24:16 -04:00
Ryan Durand
28d3d740dd (Integrating from Dev-EngineMerge to Main)
Second batch of remaining Engine copyright updates.

#rnx
#rb none
#jira none

[CL 10871196 by Ryan Durand in Main branch]
2019-12-27 07:44:07 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Lauren Ridge
b46b1ce9ed Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3808185 by Cody.Albert

	Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides

Change 3809824 by Michael.Trepka

	Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated.

Change 3810089 by Jamie.Dale

	Fixed PO files failing to import translations containing only whitespace

Change 3811281 by Matt.Kuhlenschmidt

	PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist)


Change 3813031 by Matt.Kuhlenschmidt

	Fix undocked tabs not dropping at users mouse location

	#jira UE-53427

Change 3813361 by Brandon.Schaefer

	Print what SDL video driver we are using

Change 3818430 by Matt.Kuhlenschmidt

	PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist)


Change 3818432 by Matt.Kuhlenschmidt

	PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist)


Change 3818436 by Matt.Kuhlenschmidt

	PR #4367: Improved logging (Contributed by projectgheist)


Change 3819886 by Matt.Kuhlenschmidt

	Add a way to optionally disable the warning about referenced actors being moved to other levels.  Useful for bulk actor moves via script

Change 3819888 by Matt.Kuhlenschmidt

	Avoid crashing when a window size becomes too large to render.  Instead just ensure and clamp to the maximum allowed size.  Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons

Change 3821773 by Brandon.Schaefer

	Fix crash when importing to level

	#jira UE-31573

Change 3821892 by Jamie.Dale

	Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked

	#jira UE-53010

Change 3823714 by Christina.TempelaarL

	#jira UE-52179 added support for grayscale PSD files

Change 3826805 by Christina.TempelaarL

	#jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints
	#jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout

Change 3828444 by Anthony.Bills

	Add LXC container script for building third party libraries.

	The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT.

	This script has been tested running on CentOS 7 and Ubuntu 17.10.

	Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete.

Change 3828754 by Brandon.Schaefer

	Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller)

	#jira UE-45722

	#review-3828733 Arciel.Rekman

Change 3830414 by Brandon.Schaefer

	Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows.
	Looks like this should fix  UE-28322 as well which I've removed the work around placed in for that.

	#jira UE-53918

	#review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman

Change 3830916 by Brandon.Schaefer

	More verbose message about missing VK extensions (from Marcin Undak)

	#review-3830710 marcin.undak, arciel.rekman

Change 3831339 by Brandon.Schaefer

	Default to as-needed for debug mode

	#jira none

	#review-3830658 Arciel.Rekman

Change 3833102 by Jamie.Dale

	Re-added warning for duplicate package localization IDs when gathering asset localization

Change 3834600 by Jamie.Dale

	Optimized asset registry filter intersection

Change 3838024 by Brandon.Schaefer

	Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!)

	#jira UE-53551

	#review-3835803 arciel.rekman

Change 3839969 by Michael.Dupuis

	#jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date
	Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing

Change 3840049 by Michael.Dupuis

	#jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate

Change 3840071 by Matt.Kuhlenschmidt

	- Combine some shader params for slate in order to reduce overhead setting uniform buffers
	- Added better stats for slate draw call rendering
	- cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again

Change 3840291 by Michael.Dupuis

	#jira UE-53053: Was having a mismatch between the remove reorder and the actual remove

Change 3840840 by Michael.Dupuis

	#jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash

Change 3842072 by Michael.Dupuis

	#jira UE-50299: Include NumSubsection in calculation of component quad factor

Change 3842487 by Christina.TempelaarL

	#jira UE-50573 HighResShot has wrong res in immersive mode

Change 3845702 by Matt.Kuhlenschmidt

	PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen)


Change 3845706 by Matt.Kuhlenschmidt

	PR #4388: Only restore window if minimized (Contributed by projectgheist)


Change 3845993 by Christina.TempelaarL

	#jira UE-41558 crash when selecting PostProcessingVolumes in separate levels

Change 3856395 by Brandon.Schaefer

	No longer using ALAudio on Linux

	#jira UE-53717

Change 3858324 by Michael.Trepka

	Preserve command line arguments in Xcode project when regenerating it

Change 3858365 by Michael.Dupuis

	#jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances.

Change 3858492 by Michael.Trepka

	Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules.

Change 3859470 by Michael.Trepka

	CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project.

Change 3859900 by Joe.Conley

	Fix for "Check Out Assets" window not properly receiving focus.

Change 3865218 by Michael.Dupuis

	#jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance

Change 3866957 by Michael.Dupuis

	#jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint
	Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance

Change 3867220 by Cody.Albert

	Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area.

Change 3869117 by Michael.Dupuis

	#jira UE-42509:Fixed compile error when not having editor data

Change 3872478 by Arciel.Rekman

	Linux: disable PIE if compiler enables it by default.

Change 3874786 by Michael.Dupuis

	#jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button.
	Improved usability of the UI by disabling size field when no file was specified

Change 3875859 by Jamie.Dale

	Implemented our own canonization for culture codes

Change 3877604 by Cody.Albert

	We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels

Change 3877777 by Nick.Shin

	PhysX build fix - this came from CL: 3809757

	#jira UE-54924  Cannot rebuild Apex/PhysX/NvCloth .emscripten missing

Change 3881693 by Alexis.Matte

	Fix local path search to not search in memory only

	#jira UE-55018

Change 3882512 by Michael.Dupuis

	#jira none : Fixed screen size calculation to take aspect ratio into account correctly

Change 3886926 by Arciel.Rekman

	Linux: fixed checking clang settings during the cross-build (UE-55132).

	#jira UE-55132

Change 3887080 by Anthony.Bills

	Updated SDL2 build script.

	- Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh.
	- Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script.

Change 3887260 by Arciel.Rekman

	Linux: fix leaking process handles in the cross-toolchain.

Change 3889072 by Brandon.Schaefer

	Fix RPath workaround, to better handle both cases

	#jira UE-55150

	#review-3888119 @Arciel.Rekman, @Ben.Marsh

Change 3892546 by Alexis.Matte

	Remove fbx exporter welded vertices options

	#jira UE-51575

Change 3893516 by Michael.Dupuis

	Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable

	Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0

Change 3894365 by Brandon.Schaefer

	Pass FileReference over a raw string to the LinkEnvironment

	#jira none

	#review-3894241 @Ben.Marsh, @Arciel.Rekman

Change 3895251 by Brandon.Schaefer

	Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz

	#jira UE-25615
	#jira UE-30714

	#review-3894886 @Arciel.Rekman

Change 3897541 by Michael.Dupuis

	#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material

Change 3904143 by Rex.Hill

	#jira UE-55366: Fix crash when overwriting existing level during level save as
	#jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map

	- Map '_BuiltData' package is now garbage collected when switching maps in the editor

Change 3906373 by Brandon.Schaefer

	Fix splash image. Use alias format for big/little endian machines.

	#jira none

Change 3906711 by Rex.Hill

	#jira UE-42426: BuiltData now deleted with maps

Change 3907221 by Cody.Albert

	Add support for relative asset source paths in content plugins

Change 3911670 by Alexis.Matte

	Fix assetimportdata creation owner

	#jira UE-55567

Change 3912382 by Anthony.Bills

	Linux: Add binaries for GoogleTest and add to BuildThirdParty script.

Change 3914634 by Cody.Albert

	Added missing include that could cause compile errors if IWYU was disabled.

Change 3916227 by Cody.Albert

	Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR

Change 3917245 by Michael.Dupuis

	#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning

Change 3918331 by Anthony.Bills

	Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly.

Change 3920191 by Rex.Hill

	#jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted

	Improved MapBuildData rename, move, duplicate, copy

Change 3920333 by Matt.Kuhlenschmidt

	Render target clear color property now settable in editor

	#jira UE-55347

Change 3926094 by Michael.Dupuis

	#jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash

	#coderevew jack.porter

Change 3926243 by Michael.Dupuis

	#jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list

Change 3926760 by Jamie.Dale

	Added support for TTC/OTC fonts

	These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset.

Change 3927793 by Anthony.Bills

	Mono: Remove SharpZipLib and references from bundled Mono.

	#review-3887212 @ben.marsh, @michael.trepka

Change 3928029 by Anthony.Bills

	Linux: Add support for UnrealVersionSelector.

	- Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard.
	- Linux UVS uses Slate for the version selection and error log dialogs.
	- Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds.
	- Icons added for Linux.

	#review-3882197 @arciel.rekman, @brandon.schaefer

Change 3931293 by Alexis.Matte

	Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes.
	Add also plenty of automation tests for it.

	#jira none

Change 3931436 by Arciel.Rekman

	Stop RHI thread before shutting down RHI.

	- Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown.

Change 3934287 by Alexis.Matte

	Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing.

	#jira none

Change 3937585 by Lauren.Ridge

	Added labels to the colors stored in the theme bar.

Change 3937738 by Alexis.Matte

	Make sure content browser do not show a preview asset created when we cancel an export animation preview

	#jira UE-49743

Change 3941345 by Michael.Dupuis

	#jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node

Change 3941453 by Michael.Dupuis

	#jira UE-47492: Added a guard to validate LayerIndex

Change 3942065 by Jamie.Dale

	Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet)

Change 3942573 by Alexis.Matte

	Fix static analysis

Change 3942623 by Michael.Dupuis

	#jira 0
	Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative

Change 3942993 by Matt.Kuhlenschmidt

	PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt)


Change 3942998 by Matt.Kuhlenschmidt

	PR #4554: Cleanup log printing (Contributed by projectgheist)


Change 3943003 by Matt.Kuhlenschmidt

	PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist)


Change 3943011 by Matt.Kuhlenschmidt

	PR #4518: edit (Contributed by pdlogingithub)


Change 3943027 by Matt.Kuhlenschmidt

	PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist)


Change 3943074 by Matt.Kuhlenschmidt

	PR #4484: Add group actor to folder (Contributed by ggsharkmob)


Change 3943079 by Matt.Kuhlenschmidt

	PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts)


Change 3943092 by Matt.Kuhlenschmidt

	PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts)


Change 3943132 by Matt.Kuhlenschmidt

	PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena)


Change 3943141 by Matt.Kuhlenschmidt

	PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster)


Change 3943349 by Jamie.Dale

	Cleaned up PR #4547

	Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font.
	Fixed some code that was deleted during the merge.

Change 3943976 by Michael.Trepka

	Copy of CL 3940687

	Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs.

	#jira none

Change 3944882 by Matt.Kuhlenschmidt

	Fix a few regressions with scene viewport activation locking can capturing the cursor in editor

	#jira UE-56080, UE-56081

Change 3947339 by Michael.Dupuis

	#jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation.
	Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation
	Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update.

Change 3948179 by Jamie.Dale

	Fixed monochromatic font rendering

	- All non-8bpp images are now converted to 8bpp images for processing in Slate.
	- We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays).
	- Fixed a case where the temporary bitmap wasn't being deleted.
	- Fixed a case where the bitmap could be used after it was deleted.
	- Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering.

Change 3949922 by Alexis.Matte

	Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya

	#jira UE-56079

Change 3950202 by Rex.Hill

	Fix crash during editor asset automation tests.

	Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open.

	#jira UE-56112

Change 3950484 by Michael.Dupuis

	#jira UE-52176: delete the Cluster tree when the builder is no longer needed

Change 3954628 by Michael.Dupuis

	Bring back 4.19/4.19.1 Landscape changes

Change 3957037 by Michael.Dupuis

	#jira UE-53343: Add foliage instances back when changing component size
	Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen
	Added SlowTask stuff to manage big landscape change

Change 3959020 by Rex.Hill

	Rename/move file MallocLeakDetection.h

Change 3960325 by Michael.Dupuis

	Fixed static analysis

Change 3961416 by Michael.Dupuis

	#jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically
	#jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up
	Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit

Change 3962372 by Michael.Trepka

	Copy of CL 3884121

	Fix for SProgressBar rendering incorreclty on Mac

	#jira UE-56241

Change 3964931 by Anthony.Bills

	Linux: Add cross-compiled binary of UVS Shipping.

Change 3966719 by Matt.Kuhlenschmidt

	Fix parameters out of order here

	#jira UE-56399

Change 3966724 by Matt.Kuhlenschmidt

	PR #4585: Export symbols for the FDragTool (Contributed by Begounet)


Change 3966734 by Matt.Kuhlenschmidt

	PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem)


Change 3966739 by Matt.Kuhlenschmidt

	Removed duplicated code

	#jira UE-56369

Change 3966744 by Matt.Kuhlenschmidt

	PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax)


Change 3966758 by Matt.Kuhlenschmidt

	PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples)


Change 3966780 by Matt.Kuhlenschmidt

	Fix crash accessing graph node title widgets when objects have become stale.

	#jira UE-56442

Change 3966884 by Alexis.Matte

	Fix speedtree uninitialized values

	#jira none

Change 3967568 by Alexis.Matte

	Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function

	#jira UE-56493

Change 3968333 by Brandon.Schaefer

	Fix order of operation

	#jira UE-56400

Change 3969070 by Anthony.Bills

	Linux: Make sure to set the UE_ENGINE_DIRECTORY

	#jira UE-56503

	#review-3966609 @arciel.rekman, @brandon.schaefer

Change 3971431 by Michael.Dupuis

	#jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD.
	#jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack
	Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us.

Change 3971467 by Matt.Kuhlenschmidt

	Fixed crash deleting a texture with texture painting on it

	#jira UE-56994

Change 3971557 by Matt.Kuhlenschmidt

	Fix temporary exporter objects being potentially GC'd and causing crashes during export

	#jira UE-56981

Change 3971713 by Cody.Albert

	PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez)


Change 3971846 by Michael.Dupuis

	#jira UE-56517: Properly "round" the count so we have the right amount of memory reserved
	#jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range

Change 3973035 by Nick.Atamas

	Line and Spline rendering changes:
	 * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing)
	 * Anti-aliasing filter now adjusted based on resolution
	 * Modified Line/Spline topology to accomodate new UV requirements
	 * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged)
	 * Splines now adaptively subdivided to avoid certain edge-cases

Change 3973345 by Nick.Atamas

	- Number tweaks to maintain previously perceived wire thickness in various editors.

Change 3977764 by Rex.Hill

	MallocTBB no longer debug fills bytes in development configuration

Change 3978713 by Arciel.Rekman

	UVS: Fix stale dependency.

Change 3980520 by Matt.Kuhlenschmidt

	Fix typo

	#jira UE-57059

Change 3980557 by Matt.Kuhlenschmidt

	Fixed negative pie window sizes causing crashes

	#jira UE-57100

Change 3980565 by Matt.Kuhlenschmidt

	PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix)


Change 3980568 by Matt.Kuhlenschmidt

	PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist)


Change 3980580 by Matt.Kuhlenschmidt

	PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts)


Change 3980581 by Matt.Kuhlenschmidt

	PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts)


Change 3981341 by Jamie.Dale

	Re-added GIsEditor condition around package namespace access

	#jira UE-55816

Change 3981808 by Ryan.Brucks

	Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps

Change 3983344 by Jack.Porter

	#include fixes for CL 3981808

	#jira 0

Change 3983391 by Jack.Porter

	One for #include fix for CL 3981808

	#jira 0

Change 3983562 by Michael.Dupuis

	#jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element
	#jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it

Change 3983600 by Matt.Kuhlenschmidt

	PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist)


Change 3983637 by Matt.Kuhlenschmidt

	PR #4408: Add a template pregeneration hook (Contributed by mhutch)


Change 3984392 by Michael.Dupuis

	#jira UE-56314: Correctly apply LODBias on calculated LOD
	Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size

Change 3984950 by Rex.Hill

	Optimized texture import speed 2-3x depending on number of cpu cores and image size

Change 3985033 by Rex.Hill

	File drag and drop is more quick to respond when editor is in background

	#jira UE-57192

Change 3986218 by Jack.Porter

	Missing template parameter fix for CL 3981808

	#jira 0

Change 3986376 by Michael.Dupuis

	#jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly.

Change 3989391 by Matt.Kuhlenschmidt

	Fix constant FName lookup in level editor when checking various states of level editor tabs

Change 3990182 by Rex.Hill

	Optimize editor startup time: GetCurrentProjectModules

Change 3990365 by Alexis.Matte

	Fix crash with spline mesh when the attach SM get a new imported LOD
	#jira UE-57119

Change 3991151 by Rex.Hill

	VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time.

Change 3991164 by Rex.Hill

	Optimize editor startup time: FindModulePaths()
	- Invalidates cache when search paths added
	- Use cache during wildcard searches containing * and ?

Change 3995366 by Anthony.Bills

	Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7).

	#review-3848487 @arciel.rekman, @brandon.schaefer

Change 3996109 by Jamie.Dale

	Reworked BP error messages to be more localization friendly

	#jira UETOOL-1356

Change 3996123 by Michael.Dupuis

	#jira UE-57427: Update random color on load of the component
	#jira UE-56272:

Change 3996279 by Merritt.Cely

	Removed hardware survey from editor
	#jira an-2243

	#tests launched the editor

Change 3996626 by Alexis.Matte

	Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array.

	#jira UE-57227

Change 3996663 by Max.Chen

	Sequencer: Fix fbx animation export - rotation and scale channels were flipped.

	#jira UE-57509
	#jira UE-57512
	#jira UE-57514

Change 4000331 by Brandon.Schaefer

	Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module

	#review-3999426 @Arciel.Rekman

	#jira UE-55298

Change 4000450 by Matt.Kuhlenschmidt

	Another guard against a factory being destroyed during import

	#jira UE-57674

Change 4000459 by Matt.Kuhlenschmidt

	Added check for valid game viewport to see if this is the problem in UE-57677

	#jira UE-57677

Change 4000493 by Matt.Kuhlenschmidt

	Remove stale GC'd components when refreshing paint mode to prevent crashes

	#jira UE-52618

Change 4000683 by Jamie.Dale

	Fixed target being incorrect when added via the Localization Dashboard

	#jira UE-57588

Change 4000738 by Alexis.Matte

	Add a section settings to ignore the section when reducing

	#jira UE-52580

Change 4000920 by Alexis.Matte

	PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist)
	author projectgheist projectgheist@gmail.com

Change 4001432 by Alexis.Matte

	Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match.

Change 4001447 by Jamie.Dale

	Fixed property table not working with multi-line editable text

Change 4001449 by Jamie.Dale

	PR #4531: Localization multiline fix (Contributed by Lallapallooza)


Change 4001557 by Alexis.Matte

	Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it

	#jira UE-57676

Change 4002539 by Alexis.Matte

	Make the fbx importer global transform options persist in the config file
	#jira UE-50897

Change 4002562 by Anthony.Bills

	Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code.

Change 4003241 by Alexis.Matte

	Fix the staticmesh import socket logic, it was duplicating socket when re-importing

	#jira UE-53635

Change 4003368 by Michael.Dupuis

	#jira UE-57276:
	#jira UE-56239:
	#jira UE-54547:
	Make sure we can't go above MaxLOD even for texture streaming

Change 4003534 by Alexis.Matte

	Fix re-import mesh name match

	#jira UE-56485

Change 4005069 by Michael.Dupuis

	#jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example)

Change 4005468 by Lauren.Ridge

	Widgets should not be removed from parent when they are pending GC

	#jira UE-52260

Change 4006075 by Michael.Dupuis

	Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode.

Change 4006332 by Arciel.Rekman

	UBT: Adding support for bundled toolchains on Linux.

	- Authored by Anthony Bills, with modifications.

Change 4007528 by Matt.Kuhlenschmidt

	PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts)


Change 4007531 by Matt.Kuhlenschmidt

	PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist)


Change 4007548 by Matt.Kuhlenschmidt

	PR #4664: Set Password on EditableText (Contributed by projectgheist)


Change 4007730 by Brandon.Schaefer

	Add a new way to symbolicate symbols for a crash at runtime

	Two new tools are used for this.
	1) dump_syms Will generate a symbol file, which is to large to read from at runtime
	2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do
	    a binary search at runtime to find a Program Counter to a symbol we are looking for

	#review @Arciel.Rekman, @Anthony.Bills

	#jira UETOOL-1206

Change 4008429 by Lauren.Ridge

	Fixing undo bug when deleting user widgets from the widget tree

	#jira UE-56394

Change 4008581 by Cody.Albert

	Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost

Change 4009605 by Lauren.Ridge

	Added Recently Opened assets filter under Other Filters in the Content  Browser

Change 4009797 by Anthony.Bills

	Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system.

Change 4010266 by Michael.Trepka

	Copy of CL 4010052

	Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements

	#jira UE-54623

Change 4010838 by Arciel.Rekman

	Linux: limit allowed clang versions to 3.8-6.0.

Change 4012160 by Matt.Kuhlenschmidt

	Changed the messagiing on the crash reporter dialog to reflect new bug submission process

	#jira UE-56475

Change 4013432 by Lauren.Ridge

	Fix for non-assets attempting to add to the Content Browser's recent filter

	#jira none

Change 4016353 by Cody.Albert

	Improved copy/paste behavior for UMG editor:

	-Pasting in the designer while a canvas is selected will place the new widget under the cursor
	-Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0
	-Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings)
	-Newly pasted widgets will now be selected automatically
	-Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel

Change 4017274 by Matt.Kuhlenschmidt

	Added some guards against invalid property handle access

	#jira UE-58026

Change 4017295 by Matt.Kuhlenschmidt

	Fix trying to apply delta to a mix of scene components and non scene components.  Its acceptable to not have scene components in the selected component list

	#jira  UE-57980

Change 4022021 by Rex.Hill

	Fix for audio desync and video fast-forwarding behavior.
	There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent.
	After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems.

	#jira UE-54592

Change 4023608 by Brandon.Schaefer

	Downscale memory if we dont have enough

	#jira UE-58073

	#review-4023609 @Arciel.Rekman

Change 4025618 by Michael.Dupuis

	#jira UE-58036: Apply world position offset correctly

Change 4025661 by Michael.Dupuis

	#jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid

Change 4025675 by Michael.Dupuis

	#jira UE-52919: if no actor was found in the level skip moving the instances

Change 4026336 by Brandon.Schaefer

	Manually generate *.sym files for Physx3

	This should be done in the BuildPhysx file

Change 4026627 by Rex.Hill

	Fix memory leak fix when playing video and main thread blocks
	#jira UE-57873

Change 4029635 by Yannick.Lange

	Fix VRMode loading assets only when VRMode starts.
	#jira UE-57797

Change 4030288 by Jamie.Dale

	Null FreeType face on load error to prevent potential crashes

Change 4030782 by Rex.Hill

	Fix save BuildData after changing reflection capture in a new level
	#jira UE-57949

Change 4033560 by Michael.Dupuis

	#jira UE-57710: Added some guard to prevent crash/assert

Change 4034244 by Michael.Trepka

	Copy of CL 4034116

	Fixed arrow keys handling on Mac

Change 4034708 by Lauren.Ridge

	PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist)


	#jira UE-58251

Change 4034746 by Lauren.Ridge

	PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh)

	#jira UE-58277

Change 4034873 by Lauren.Ridge

	Fix for not being able to enter simulate more than once in a row.

	#jira UE-58261

Change 4034922 by Lauren.Ridge

	PR #4387: Commands mapped in incorrect location (Contributed by projectgheist)

	#jira UE-53752

Change 4035484 by Lauren.Ridge

	Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first
	#jira UE-57979

Change 4037111 by Brandon.Schaefer

	Try to use absolute path from dladdr if we can to find the sym files

	#jira UE-57858

	#review-4013964 @Arciel.Rekman

Change 4037366 by Brandon.Schaefer

	Dont check the command line before its inited

	#review-4037183 @Arciel.Rekman
	#jira UE-57947

Change 4037418 by Alexis.Matte

	Remove the checkSlow when adding polygon

Change 4037745 by Brandon.Schaefer

	Use as much info as we can during ensure

	Just as fast as the old way but with more information

	#review-4037495 @Arciel.Rekman
	#jira UE-47770

Change 4037816 by Rex.Hill

	Import mesh optimization, BuildVertexBuffer

Change 4037957 by Arciel.Rekman

	UBT: make it easier to try XGE on Linux.

Change 4038401 by Lauren.Ridge

	Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree.

	#jira UE-58206

Change 4039612 by Anthony.Bills

	Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create.

Change 4039754 by Alexis.Matte

	Remove the Render meshdescription, no need to carry this temporary data in the staticmesh

Change 4039806 by Anthony.Bills

	Linux: UVS fixes

	- Update to use new Unix base platform.
	- Use bin/bash instead of usr/bin/bash (may need revisiting later).
	- Recompile Shipping version with changes.
	- Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling).

Change 4039883 by Lauren.Ridge

	PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist)

	#jira UE-56249

Change 4040117 by Lauren.Ridge

	Replacing widgets should now also clear out references to the widget

	#jira UE-57045

Change 4040790 by Lauren.Ridge

	Tentative fix for Project Launcher crash when platform info not found
	#jira UE-58371

Change 4042136 by Arciel.Rekman

	UBT: refactor of LinuxToolChain to make it leaner and more configurable.

	- Made it possible to override SDK passed to the toolchain.
	- Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few)
	- Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear)
	- Made changes to accomodate the new debug format.

Change 4042930 by Brandon.Schaefer

	GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part

Change 4043539 by Brandon.Schaefer

	Fix callsite address being used at times for the Program Counter
	Fix only reporting the actual callstack and not the crash handling callstacks

	#review-4041370 @Arciel.Rekman
	#jira UE-58477

Change 4043674 by Arciel.Rekman

	Added Linux ARM64 (AArch64) lib for MikkTSpace.

	- Now required for standalone games due to EditableMesh runtime plugin.

Change 4043677 by Arciel.Rekman

	Linux: updated ARM64 (AArch64) version of SDL2.

Change 4043690 by Arciel.Rekman

	Linux: allow compiling VulkanRHI for AArch64 (ARM64).

Change 4045467 by Brandon.Schaefer

	Add Anthony Bills SetupToolchain.sh script

	Used to download the latest toolchain

Change 4045940 by Michael.Trepka

	Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT

	#jira UE-58470

Change 4046542 by Alexis.Matte

	Fix skeletal re-import material assignation

	#jira UE-58551

Change 4048262 by Brandon.Schaefer

	Rebuild SDL with pulse audio libs

	#jira UE-58577

Change 3887093 by Anthony.Bills

	Add bundled mono binary for Linux.

	- Unify some of the script structure across Mac and Linux.
	- This currently uses the same mono C# assemblies as Mac to keep the additional source size down.
	- If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision.
	- The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1.

Change 4003226 by Michael.Dupuis

	Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy.
	Changed how the density scaling was applied to be more optimal
	Removed UseDynamicInstanceBuffer as the concept is now irrelevant

Change 3833097 by Jamie.Dale

	Localization Pipeline Optimization

	Manifest/Archives:
	Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API.
	This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work).

	Portable Object:
	Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster).

	Asset Gathering:
	Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does).

	Automation:
	The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead).

[CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
f461ea68e9 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
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
SRombauts
7a0a7f0e5c PR #1056: (Git plugin) Option to initialize new local repository for current project (Contributed by SRombauts)
[CL 2514888 by Matt Kuhlenschmidt in Main branch]
2015-04-16 16:13:48 -04:00
Thomas Sarkanen
9b4fc8c7d0 Git source control plugin is now experimental
Added setting and wrapped registration of modular feature in the flag.

[CL 2411975 by Thomas Sarkanen in Main branch]
2015-01-20 05:30:21 -05:00
UnrealBot
ea4dfacd88 Snapshot for changelist 2410693.
[CL 2410693 in Main branch]
2015-01-19 05:38:08 -05:00