Commit Graph

43 Commits

Author SHA1 Message Date
Matt Kuhlenschmidt
b7723933a6 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
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
6748a24fb1 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none

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

Change 3121996 on 2016/09/12 by Ben.Marsh

	Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).

	* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
	* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
	* Visual Studio source code accessor can talk to VS 2017 instances.
	* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
	* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
	* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.

	Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3210598 on 2016/11/27 by Ben.Marsh

	UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.

Change 3210601 on 2016/11/27 by Ben.Marsh

	PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)

Change 3210602 on 2016/11/27 by Ben.Marsh

	PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)

Change 3210605 on 2016/11/27 by Ben.Marsh

	UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.

Change 3211656 on 2016/11/28 by Ben.Marsh

	UBT: Move ModuleRules and TargetRules into their own file.

Change 3211797 on 2016/11/28 by Ben.Marsh

	UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.

Change 3211833 on 2016/11/28 by Ben.Marsh

	UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.

Change 3211859 on 2016/11/28 by Ben.Marsh

	UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.

Change 3211942 on 2016/11/28 by Ben.Marsh

	UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.

Change 3215333 on 2016/11/30 by Ben.Marsh

	UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.

Change 3215482 on 2016/11/30 by Ben.Marsh

	UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.

Change 3215743 on 2016/11/30 by Ben.Marsh

	UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.

	Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.

Change 3215778 on 2016/11/30 by Ben.Marsh

	UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.

Change 3217681 on 2016/12/01 by Ben.Marsh

	UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.

Change 3217723 on 2016/12/01 by Ben.Marsh

	UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.

Change 3217930 on 2016/12/01 by Ben.Marsh

	UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.

Change 3218762 on 2016/12/02 by Ben.Marsh

	Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.

Change 3219161 on 2016/12/02 by Ben.Marsh

	Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.

Change 3219197 on 2016/12/02 by Ben.Marsh

	Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.

Change 3219209 on 2016/12/02 by Ben.Marsh

	Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.

Change 3219610 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

Change 3219731 on 2016/12/02 by Ben.Marsh

	UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.

Change 3220796 on 2016/12/04 by Ben.Marsh

	Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.

Change 3220825 on 2016/12/04 by Ben.Marsh

	UBT: Change all executors to derive from a common base class (ActionExecutor).

Change 3220834 on 2016/12/04 by Ben.Marsh

	UBT: Remove the global CommandLineContains() function.

Change 3222706 on 2016/12/05 by Ben.Marsh

	Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.

Change 3222712 on 2016/12/05 by Ben.Marsh

	Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat

Change 3223628 on 2016/12/06 by Ben.Marsh

	Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe

Change 3223817 on 2016/12/06 by Ben.Marsh

	Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.

Change 3224046 on 2016/12/06 by Ben.Marsh

	Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.

Change 3224792 on 2016/12/07 by Ben.Marsh

	UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.

Change 3225212 on 2016/12/07 by Ben.Marsh

	UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.

	Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.

	The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.

Change 3226310 on 2016/12/07 by Ben.Marsh

	PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)

Change 3228273 on 2016/12/08 by Ben.Marsh

	Update copyright notices for QAGame.

Change 3229166 on 2016/12/09 by Ben.Marsh

	UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.

Change 3230601 on 2016/12/12 by Ben.Marsh

	Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.

Change 3230737 on 2016/12/12 by Ben.Marsh

	UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.

Change 3230751 on 2016/12/12 by Ben.Marsh

	UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.

Change 3230804 on 2016/12/12 by Ben.Marsh

	UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.

Change 3230831 on 2016/12/12 by Ben.Marsh

	UGS: Warn when trying to switch streams if files are checked out.

Change 3231281 on 2016/12/12 by Chad.Garyet

	Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one

Change 3231496 on 2016/12/12 by Ben.Marsh

	Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.

Change 3231979 on 2016/12/12 by Ben.Marsh

	UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.

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

	Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.

[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -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
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Ben Marsh
5e75112469 Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2828332 on 2016/01/14 by Matthew.Griffin

	Ensure that warnings from Dynamic Compilation of build.cs files are propagated up to user when compiling in Visual Studio etc.

Change 2828335 on 2016/01/14 by Matthew.Griffin

	Renaming AddThirdParty... functions to AddEngineThirdParty... so it's clear we're talking about third party libraries within the engine directory. This removes another couple of RunningRocket checks and uses the IsMonolithic property now.

Change 2831365 on 2016/01/16 by Ben.Marsh

	Add a UAT command to remove any temp storage directories older than a specified length of time, and disable the GUBP node to do so when running with -NewEC. Better to set this up as a separate scheduled task for each temp storage folder we have, rather than run it as part of GUBP builds above a certain size.

Change 2832166 on 2016/01/18 by Ben.Marsh

	Make INI file parsing much more tolerant to errors, because it prevents the build system from starting up. Now outputs warnings rather than throwing exceptions.

Change 2835725 on 2016/01/20 by Matthew.Griffin

	Removed more uses of RunningRocket functions

	Switch Linux staging check to see if required files exist until switched to using receipts
	Always stage CrashReporter for Linux
	Mac and Linux will not use Compile Lean And Mean when generating project files
	Allow normal DynamicCompilation check to occur in binary builds
	Allow XMPP dependency on WebRTC now that it's publically distributed

Change 2835864 on 2016/01/20 by Matthew.Griffin

	Made sure -rocket is passed when generating project files as this has to work from UnrealVersionSelector with every version of the Engine we've released.
	Also tidied up some arguments that are set in UVS and never used.

Change 2839932 on 2016/01/22 by Matthew.Griffin

	Removed last uses of RunningRocket from UnrealBuildTool

	Changed Mac Build.sh so that it doesn't try to build UBT so that it can be used in installed builds the same way as windows.
	Combined code doing very similar things for single games and rocket projects.
	Removed check on whether to add client and server targets in Rocket as we don't distribute the .target.cs files.
	Removed RunningRocket function and the code checking for -rocket on the command line

Change 2846971 on 2016/01/28 by Matthew.Griffin

	Replaced RunningRocket with IsEngineInstalled for all Engine programs that won't need to be built.

Change 2853879 on 2016/02/03 by Matthew.Griffin

	Added UnrealLightmass to list of programs to build when Build Solution is used and Editor configuration is selected

	#jira UE-25666

#lockdown Nick.Penwarden

[CL 2854567 by Ben Marsh in Main branch]
2016-02-03 15:40:40 -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
Josh Adams
660ab7f0c9 Copying //UE4/Dev-Platform to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2719147 on 2015/10/07 by Mark.Satterthwaite

	Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track.

Change 2719182 on 2015/10/07 by Mark.Satterthwaite

	Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient.

Change 2719185 on 2015/10/07 by Mark.Satterthwaite

	Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw.

Change 2719434 on 2015/10/07 by Mark.Satterthwaite

	Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server.

Change 2724764 on 2015/10/12 by Josh.Adams

	[Initial AppleTV support]
	Merging	//depot/YakBranch/... to //UE4/Dev-Platform/...

Change 2726266 on 2015/10/13 by Lee.Clark

	PS4 - Calc reserve size required for DMA copy when using unsafe command buffers

Change 2726401 on 2015/10/13 by Mark.Satterthwaite

	Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected.
	#jira UE-15228

Change 2726421 on 2015/10/13 by Lee.Clark

	PS4 - Don't try to clear invalid targets

Change 2727040 on 2015/10/13 by Michael.Trepka

	Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72

Change 2729783 on 2015/10/15 by Keith.Judge

	Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty.

Change 2729847 on 2015/10/15 by Mark.Satterthwaite

	Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff.
	#jira UE-21992

Change 2729865 on 2015/10/15 by Keith.Judge

	Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition.

Change 2729897 on 2015/10/15 by Keith.Judge

	Fast Semantics - Make sure all GetData() calls are made safe with GPU fences.

Change 2729972 on 2015/10/15 by Keith.Judge

	Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly.

	This should be marginally quicker as it stops a double call to ClearState().

Change 2731503 on 2015/10/16 by Keith.Judge

	Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict).

Change 2731596 on 2015/10/16 by Keith.Judge

	Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.

Change 2731928 on 2015/10/16 by Michael.Trepka

	PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl)

Change 2731934 on 2015/10/16 by Michael.Trepka

	PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura)

Change 2732018 on 2015/10/16 by Mark.Satterthwaite

	Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached.
	- The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders.
	- Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this.
	- Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL.

Change 2732365 on 2015/10/16 by Josh.Adams

	- Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On)

Change 2733170 on 2015/10/18 by Terence.Burns

	Fix for Android IAP query not returning entire inventory.

Change 2733174 on 2015/10/18 by Terence.Burns

	Fix Movie player issue where wait for movie to finish isnt being respected.

	Seems a stray bUserCanceled event flag was causing this not to be observed.

	Added some verbose logging to apple movie player.

Change 2733488 on 2015/10/19 by Mark.Satterthwaite

	Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information.
	- Fixed a bug that would cause invalid shader membership and draw state information to be logged.
	- Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too.

Change 2735226 on 2015/10/20 by Mark.Satterthwaite

	Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently.
	#jira UE-21214
	#jira UE-19913

Change 2736722 on 2015/10/21 by Daniel.Lamb

	Improved performance of cooking stats system.

Change 2737172 on 2015/10/21 by Daniel.Lamb

	Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
Nick Darnell
ac05f885af Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

[CL 2754371 by Nick Darnell in Main branch]
2015-11-04 16:14:13 -05:00
Dmitry Rekman
7962cac622 Linux: moved common startup code to a separate module.
- The code that handles initial setup (command line processing, rlimits and debugger) is now shared between engine, UFE and SlateViewer.

[CL 2679796 by Dmitry Rekman in Main branch]
2015-09-03 20:46:02 -04:00
Keli Hlodversson
ad9e875ce2 SlateViewer: Unload modules at shutdown.
Ensures that CEF is uninitialized and has no threads hanging around, so the process will exit.
#codereview Jamie.Dale

[CL 2664648 by Keli Hlodversson in Main branch]
2015-08-21 13:33:28 -04:00
Jamie Dale
543e06757e Ensured that Engine/Runtime modules don't depend on SlateReflector in a shipping build
Changed everything using SlateReflector to list it as a dynamic dependency. Nothing should ever need to link directly to SlateReflector as it just provides an interface for spawning the various debug UIs, such as the WidgetReflector.

Went through and made sure that the Engine/Runtime modules that use SlateReflector aren't using it in a shipping build. Also removed the testing code from AppFramework, and made sure that you can't try and spawn the test suite in a shipping build.

[CL 2660803 by Jamie Dale in Main branch]
2015-08-19 07:53:45 -04:00
Keli Hlodversson
a5a6a586f8 Enable opening new windows from SlateViewer SWebBrowser tab.
[CL 2618442 by Keli Hlodversson in Main branch]
2015-07-13 13:24:44 -04:00
Keli Hlodversson
e3a9403422 [INTEGRATE] Merging CL#2586385 using UE4-To-UE4-LauncherDev
Don't require NSApp boiler plate code in order to use SWebBrowser on Mac
Jira OPP-3500

[CL 2586448 by Keli Hlodversson in Main branch]
2015-06-12 17:23:08 -04:00
Ben Marsh
0de65e95bd Deprecate bBuildAdditionalConsoleApplication from LinkEnvironment, and move it to UEBuildBinaryConfiguration instead - it's not actually used by anything that does linking; it's a higher level behavior. The default is now false, which mirrors the only use case we had for it (and removes a hack for checking UEBuildConfiguration.bBuildEditor).
[CL 2499917 by Ben Marsh in Main branch]
2015-04-02 11:09:01 -04:00
Wes Hunt
5e497c92d4 Added custom slate stats, removed all but top level UE4 slate stats. #BUN
* See SlateStats.h for details on the new system, which allows for full hierarchical profiling with limited overhead.
* Moved SWidget::GetVisibility() out of line so we can instrument it without a full recompile.
* Widget debug info now uses FName to store the line number of the file. Keeps it in one place and the new stats system can utilize it as an FName.
* Exposed SWidget CreatedInFile debug info as an FName so new stats system can use it.
* FSlateVertex no longer uses FVector4, which is an aligned struct. Switched to float[4] instead. Goes from 48 to 36 bytes.
#codereview:nick.atamas,matt.kuhlenschmidt

[CL 2417281 by Wes Hunt in Main branch]
2015-01-23 16:49:16 -05:00
Josh Adams
c522506e1a SlateViewer compiling for iOS (not running yet); had to make some ICU.Build.cs changes for Programs
#codereview saul.abreu,justin.sargent

[CL 2391153 by Josh Adams in Main branch]
2014-12-17 10:25:23 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Michael Trepka
e1ba23a275 Removed debug printf from SlateViewerMainMac.cpp
[CL 2377996 by Michael Trepka in Main branch]
2014-12-05 14:43:07 -05:00
Michael Trepka
cc71376314 CEF3 integration for Mac in SlateViewer. Still WIP - there's no keyboard support yet and horizontal scrolling with mouse wheel/gestures doesn't work.
#codereview Matthew.Griffin, Mark.Satterthwaite, Dmitry.Rekman

[CL 2367740 by Michael Trepka in Main branch]
2014-11-21 13:41:17 -05:00
Matthew Griffin
4764afd436 Moving SWebBrowser into the WebBrowser module to reduce the amount of modules/projects that will include it automatically.
To remove its use in AppFramework and keep using it in the SlateViewer app, I needed to define its tab in AppFramework and spawn it as a nomad tab in SlateViewer.

[CL 2358266 by Matthew Griffin in Main branch]
2014-11-13 04:46:55 -05:00
Nick Atamas
5984aebe9c Slate : Added -perftest option to SlateViewer. Added button in WidgetReflector that copies Slate Perf Stats to clipboard.
#codereview Wes.Hunt

[CL 2353749 by Nick Atamas in Main branch]
2014-11-07 18:01:32 -05:00
Jaroslaw Surowiec
3b28acd41c SlateViewer - Added UEBuildConfiguration.bCompileWithStatsWithoutEngine = true, it's safer to enable it per-app
#codereview nick.atamas

[CL 2351494 by Jaroslaw Surowiec in Main branch]
2014-11-06 15:15:49 -05:00
Nick Atamas
fe50b7005c Slate : Added stat visualization to the widget reflector. Slate can now be easily profiled in SlateViewer. Requires adding <bCompileWithStatsWithoutEngine>true</bCompileWithStatsWithoutEngine> to a local BuildConfiguration.xml.
[CL 2350283 by Nick Atamas in Main branch]
2014-11-05 13:13:07 -05:00
Max Preussner
93754920a6 SlateReflector: Made headers compilable individually; code & documentation clenaup
[CL 2344965 by Max Preussner in Main branch]
2014-10-30 11:03:30 -04:00