Commit Graph

21 Commits

Author SHA1 Message Date
aurel cordonnier
e3f7878676 Merge from Release-Engine-Test @ 17462327 to UE5/Main
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17463546 by aurel cordonnier in ue5-main branch]
2021-09-08 16:42:26 -04:00
jamie dale
e5fda022c1 Fixed the actor details panel not refreshing correctly when objects were re-instanced (eg, from a Blueprint compile)
#rb Brooke.Hubert

#ROBOMERGE-SOURCE: CL 15452840 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15464566 by jamie dale in ue5-main branch]
2021-02-18 18:54:03 -04:00
Jamie Dale
3f3e0e7a67 Updated actor property editing to be typed element based
SActorDetails now operates on a given UTypedElementSelectionSet (removing its dependence on the global selection), and also operates based on the list of selected top-level elements rather than the selected actors.

UTypedElementDetailsInterface provides the interface needed for an element to be used with the details panel, with ITypedElementDetailsObject being the underlying glue object.
The ITypedElementDetailsObject instance will exist as long as the details panel is using it, so gives a lifetime to potentially synthesized UObject instances that are created purely for editing (eg, on instances).

This change removes almost all direct use of UpdateFloatingPropertyWindowsFromActorList, with only a single use-case in the reference viewer remaining.
Most code was already using UpdateFloatingPropertyWindows anyway, which now emits an extra OnElementSelectionChanged event in addition to its previous OnActorSelectionChanged event.
UpdateFloatingPropertyWindowsFromActorList now only emits an OnOverridePropertyEditorSelection event and no longer emits an OnActorSelectionChanged event.
SActorDetails is updated from both OnElementSelectionChanged and OnOverridePropertyEditorSelection, with the OnActorSelectionChanged event remaining for backwards compatability with existing code.

#jira
#rb Chris.Gagnon, Brooke.Hubert

[CL 15037524 by Jamie Dale in ue5-main branch]
2021-01-11 11:14:52 -04:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04: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
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
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
Gareth Martin
34f14e4722 Copying //UE4/Dev-Landscape to //UE4/Dev-Main (Source: //UE4/Dev-Landscape @ 3053591)
#lockdown nick.penwarden
#rb none

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

Change 3016060 on 2016/06/16 by Gareth.Martin

	Fixed check being hit in AActor::InvalidateLightingCacheDetailed when building lighting with grass (cloned from 4.12)
	#jira UE-31766

Change 3016346 on 2016/06/16 by Gareth.Martin

	Fixed crash when editing landscape component properties and then clicking in the editor viewport (cloned from 4.12)
	#jira UE-32060

Change 3016366 on 2016/06/16 by Gareth.Martin

	Refactor Landscape Select / Mask tools so that they don't share a common brush stroke class
	- they had no common code, there was just a massive if statement in there selecting between the two behaviours

Change 3017787 on 2016/06/17 by Gareth.Martin

	Added Copy/Transform Algos

Change 3019479 on 2016/06/20 by Gareth.Martin

	Fix for user-reported crash in landscape circle brush
	(https://udn.unrealengine.com/questions/298966/crash-in-flandscapebrushcircletick.html)

Change 3020927 on 2016/06/21 by Gareth.Martin

	Fixed "Obj in another map" error when packaging a project containing Landscape for Android
	#jira UE-32194

Change 3021318 on 2016/06/21 by Gareth.Martin

	Fixed crash in PIE while using Landscape Splines with bPlaceSplineMeshesInStreamingLevels
	#jira UE-32034

Change 3024769 on 2016/06/23 by Gareth.Martin

	Allow creation of transient objects during saving, as they wouldn't be saved anyway
	(and the slate font system did during autosave and hit this check)
	#jira UE-32194

Change 3026457 on 2016/06/24 by Gareth.Martin

	Fixed crash when setting landscape component collision mip to an invalid value while in collision viewmode (cloned from 4.12)
	#jira UE-32415

Change 3032336 on 2016/06/29 by Gareth.Martin

	Fixed a long-standing issue with undo/redo nulling lazy pointers
	- Two objects are created which reference each other with lazy object pointers (e.g. ULandscapeComponent and ULandscapeHeightfieldCollisionComponent)
	- Undo
	- During undo, the first object saves its state and restores itself to a deleted (pendingkill) state
	- the second object then tries to save its state, but as the other object is marked pending kill it fails to resolve its lazy ptr and saves null instead
	- Redo
	- Lazy ptr is restored to the saved null instead of the actual original value

Change 3032818 on 2016/06/29 by Gareth.Martin

	Removed all use of deferred exec commands from the landscape code
	This solves numerous crashes during commandlets etc with landscape infos not being initialized because they don't tick the engine
	#jira UE-31654
	#jira UE-29568

	Notes:
	Split CreateLandscapeInfo from GetLandscapeInfo (removing the default-true bool param from GetLandscapeInfo in the process), so it only gets created where intended
	Removed some unused properties/functions, e.g. ULandscapeInfo::bIsValid, bCurrentlyEditing
	Removed legacy landscape world composition code
	General cleanup

Change 3032820 on 2016/06/29 by Gareth.Martin

	File missing from CL 3032818 (P4! Grr)

Change 3037033 on 2016/07/04 by Gareth.Martin

	Capitalised variable names in Algo::Accumulate at Core's request

Change 3037035 on 2016/07/04 by Gareth.Martin

	Improved Algo::Accumulate when used with movable types (e.g. FString)

Change 3037373 on 2016/07/05 by Gareth.Martin

	Added FText property handle type

Change 3039183 on 2016/07/06 by Gareth.Martin

	Landscape data plugin API - part 1: Import

Change 3042473 on 2016/07/08 by Gareth.Martin

	Landscape data plugin API - part 2: Re-Import

Change 3042484 on 2016/07/08 by Jack.Porter

	Pull request from AndrewScheidecker https://github.com/EpicGames/UnrealEngine/pull/1279 and updated to 4.13.

	Adapted GetStaticBatchElementVisibility to support changing visibility of batches with a single element (for view-dependent culling of static mesh elements)
	Added GetStaticBatchElementShadowVisibility that allows culling static mesh elements when rendering shadow depths using information about the light

	** Any user-created vertex factory that implements GetStaticBatchElementVisibility will need to set bRequiresPerElementVisibility on their FMeshBatch.

	#1279

Change 3044665 on 2016/07/11 by Gareth.Martin

	Renamed Engine/FixedSizeArrayView to Core/Containers/ArrayView
	Note: The new and improved TArrayView (as agreed with core team) is *not* const-propogating. const TArrayView<T> does not imply "const T" and will not bind to a const TArray! You want TArrayView<const T>

Change 3045936 on 2016/07/12 by Gareth.Martin

	Worked around Visual Studio 2013 bug with the new TArrayView
	#jira UE-33037

Change 3045964 on 2016/07/12 by Gareth.Martin

	Fix "cannot find shader" crash when using landscape with XY offsets
	#jira UE-33042

Change 3046311 on 2016/07/12 by Gareth.Martin

	Landscape data plugin API - part 3: Tiled landscapes

Change 3047701 on 2016/07/13 by Gareth.Martin

	Landscape data plugin API - cleanup

Change 3047894 on 2016/07/13 by Gareth.Martin

	Landscape data plugin API - part 4: Support inherent scale in landscape heightmap formats

Change 3049656 on 2016/07/14 by Gareth.Martin

	Landscape data plugin API - Fix right-click layer import option to show plugin filetypes in the file selector

Change 3050073 on 2016/07/14 by Gareth.Martin

	Update sequence recorder to new TArrayView following merge from main

Change 3050096 on 2016/07/14 by Gareth.Martin

	Landscape data plugin API - part 5: Export!

Change 3051521 on 2016/07/15 by Gareth.Martin

	Landscape data plugin API - part 6: Finishing up

Change 3051783 on 2016/07/15 by Gareth.Martin

	Fixed the landscape info map not being transacted correctly, resulting in a crash if you undo the deletion of a landscape
	#jira UE-33291

Change 3053322 on 2016/07/18 by Gareth.Martin

	Fix landscapes not being registered correctly with their landscape info when hiding/showing them in world composition
	#jira UE-33346

Change 3053513 on 2016/07/18 by Jack.Porter

	Added LANDSCAPE_API to Landscape MaterialExpression classes

	#jira UE-25145
	#1927

Change 3053591 on 2016/07/18 by Gareth.Martin

	Attempt to fix VS 2013 ICE
	#jira UE-33382

[CL 3053789 by Gareth Martin in Main branch]
2016-07-18 11:58:33 -04:00
Gareth Martin
b39c846f9b Copying //UE4/Dev-Landscape to //UE4/Dev-Main (Source: //UE4/Dev-Landscape @3014396)
#rb none
#lockdown nick.penwarden

[CL 3014400 by Gareth Martin in Main branch]
2016-06-15 10:31:22 -04: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
Maciej Mroz
721fd3ff9c UE-10298 Creating an exposed variable does not always update correctly to the bp's Details panel
When a selected actor is reinstanced, a details view (displaying details of the actor) needs to be refreshed.

An alternative solution: don't check SDetailsView::ShouldSetNewObjects (refresh always )
OR store an object's hash in SDetailsView (and compare it in the ShouldSetNewObjects)

#codereview Matt.Kuhlenschmidt, Nick.Whiting

[CL 2455053 by Maciej Mroz in Main branch]
2015-02-21 17:44:56 -05:00
Ben Marsh
bfb7c40f8b [INTEGRATE] Change 2413355 by Ben.Marsh@Ben.Marsh_T3245_Clean on 2015/01/20 22:22:34
Another non-unity build fix.

[CL 2419484 by Ben Marsh in Main branch]
2015-01-26 18:54:51 -05:00
Marc Audy
bdf72b14fb Fix non-unity compile errors
[CL 2400240 by Marc Audy in Main branch]
2015-01-07 16:28:07 -05:00
Matt Kuhlenschmidt
cf7ffd818b Added a method to add a blank actor from the placement browser
Integrated MarcA's changes to display and edit per actor instance components.

Must set bInWorldBPEditing to true in experimental settings to enable.

#codereview dan.hertzka

[CL 2398903 by Matt Kuhlenschmidt in Main branch]
2015-01-06 13:49:19 -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
Mikolaj Sieluzycki
d43e69c4b9 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356854 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:43:54 -05:00
Andrew Rodham
ba3528c9d4 Made it possible for asset editors to maintain their own FEditorModeTools lists
Breaking changes include:
    * Rename of GEditorModeTools -> GLevelEditorModeTools to signify that it applies only to the level editor modes
    * Addition of FEditorModeRegistry, responsible for managing and creating new editor modes. Modes are no longer registered with an instance of the mode, instead with a mode factory that is able to create a new mode of that type.
    * Editor modes now operate on FEditorViewportClients rather than FLevelEditorViewportClients
    * Added ability to specify an FEditorModeTools when creating an FEditorViewport

Moved component vizualiser manager handling outside of individual editor modes, and into FLevelEditorViewportClient. This should make it easier to transplant in future.

This work addresses TTP#334640 - EDITOR: Investigate making editor modes a per-'editor' concept

Reviewed by Michael Noland, Matt Kuhlenschmidt

[CL 2109245 by Andrew Rodham in Main branch]
2014-06-18 10:16:16 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00