Commit Graph

23 Commits

Author SHA1 Message Date
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
Mike Fricker
5c454d78e2 VR Editor: Landscape editing in VR (from Trung Le)
#codereview trung.le
#rb mike.fricker

[CL 3068328 by Mike Fricker in Dev-VREditor branch]
2016-07-28 10:41:43 -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
Nick Penwarden
828f57e397 Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main)
#lockdown Ben.Marsh

Change 2718980 on 2015/10/07 by Dmitriy.Dyomin
	UWorld::CreateWorld: remove commandlet-specific behavior (Contributed by slonopotamus)

Change 2719155 on 2015/10/07 by Allan.Bentham
	HQ ES2 Reflections, selects the nearest 3 reflection captures to the primitive and reflects around the captures themselves (parallax correction).

Change 2724572 on 2015/10/12 by Jack.Porter
	Fix for landscape disappearing when using  r.forcelod

Change 2726062 on 2015/10/13 by Jack.Porter

	Merged CL2726057 from 4.10
	Fixed issues with landscape mirror tool on landscapes substantially above and below the zero line
	Fixed problem where landscape grass was not invalidated after using the mirror tool

Change 2726133 on 2015/10/13 by Jack.Porter
	Fix for Device Profiles editor missing specific Android device profiles
	Fix for Device Profiles editor creating blank device profiles for Android cook variant "platforms"

Change 2736210 on 2015/10/21 by Dmitriy.Dyomin
	Mobile Rendering: ReceiveDecals flag support for all meshes (previously only for skeletal meshes)

Change 2736463 on 2015/10/21 by Jack.Porter
	Merge of 4.10 CL 2736461
	Fixed Landscape disappearing when Layer Debug visualization selected outside Landscape edit mode

Change 2742855 on 2015/10/27 by Dmitriy.Dyomin
	Fixed: World origin offset handling for UInterpToMovementComponent
	https://udn.unrealengine.com/questions/266512/uinterptomovementcomponent-doesnt-update-with-worl.html

Change 2745055 on 2015/10/28 by Allan.Bentham
	Update reflection captures (via update captures button) now works when mobile preview is active.

Change 2755668 on 2015/11/05 by Allan.Bentham
	Use distance from shadow view to object instead of view space Z.

Change 2762186 on 2015/11/11 by Jack.Porter
	The user can now specify the relative priority for each Android texture format in Project Settings. This will affect the format selected for Launch on Device and by the device for projects packaged using the Android_Multi target

Change 2765902 on 2015/11/13 by Gareth.Martin
	Landscape per-component layer whitelisting basic functionality

Change 2769487 on 2015/11/17 by Jack.Porter
	Support reflection viewmode on ES2 Preview

Change 2769576 on 2015/11/17 by Gareth.Martin
	Improved landscape per-component layer whitelisting functionality
	- added shortcut keys (plus/minus + click) to whitelist/un-whitelist a layer from the paint tool
	- automatically added components' painted layers to the component whitelists when enabling whitelist restriction

Change 2771223 on 2015/11/18 by Gareth.Martin
	Improved landscape per-component layer whitelisting functionality
	- Removing a layer from the whitelist will now delete its data from the component

Change 2777862 on 2015/11/23 by Gareth.Martin
	Improved landscape per-component layer whitelisting functionality
	 - on the shared verts on component edges/corners painting must now pass the whitelist of all components sharing the vert or it won't paint, rather than causing a disconnect
	Better handling of erasing 100%-painted areas of blended landscape weightmap
	 - It will now pick the first other painted layer on that component to fill the erased value with, so 100% areas of blended layers are now erasable.
	 - todo: erasing can still cause disconnects on shared edge verts

Change 2780470 on 2015/11/25 by Dmitriy.Dyomin
	Use hardware instancing when device supports it

Change 2780679 on 2015/11/25 by Jack.Porter
	Landscape layer usage viewmode

Change 2781878 on 2015/11/26 by Gareth.Martin
	Better handling of erasing 100%-painted areas of blended landscape weightmap
	 - It will now pick the *most painted* other painted layer on that component to fill the erased value with, and correctly takes shared edge/corner verts into account
	Various fixes to TMap/TSet/TFixedSizeArrayView - all reviewed by Core

Change 2782214 on 2015/11/27 by Allan.Bentham
	Prevent editor's ES2 emulation shaders degamma-ing the alpha channel when reading material textures.
	Merging using Ronin-To-UE4-Dev-Mobile

Change 2782536 on 2015/11/30 by Jack.Porter
	When updating reflection captures in ES2 mode, first wait for any shader compilation initiated by the feature level switch to complete

Change 2792617 on 2015/12/07 by Jack.Porter
	Added a Project Setting to edit the r.DiscardUnusedQuality console variable

Change 2792618 on 2015/12/07 by Gareth.Martin
	Baking landscape material world-position-offset into collision

Change 2794270 on 2015/12/08 by Dmitriy.Dyomin
	DynamicMeshBuilder uses 16bit index buffer on ES2 platforms

Change 2794556 on 2015/12/08 by Allan.Bentham
	Fix incorrect mip/roughness selection for HQ reflections.
	Fixed couple of merge issues.

Change 2794568 on 2015/12/08 by Gareth.Martin
	Fix black spot / hole if all layers on a component use height blending and add to <= 0

[CL 2796640 by Nick Penwarden in Main branch]
2015-12-09 15:04:15 -05:00
Marc Audy
d25958e352 Use SizeSquared comparisons instead of Size where trivially replaceable
[CL 2681970 by Marc Audy in Main branch]
2015-09-06 12:42:18 -04:00
Gareth Martin
ce53d4011b Fixed crash in the landscape flatten and ramp tools caused by not exposing a reference to an owned asset to the garbage collector and having it be GC'd
Moved the pointer to LandscapeInfo into the base tool stroke class because *every* tool stroke referenced it and it made it easier to expose to GC

[CL 2578298 by Gareth Martin in Main branch]
2015-06-05 06:20:49 -04:00
Gareth Martin
d9e53f7b12 Optimized landscape editing significantly by removing the TMap of brush points and replacing it with a 2D array of data (FLandscapeBrushData class)
Most code accessing brush/landscape data by calculating indexes (e.g. Data + (Y-Y1)*XSize + (X-X1)) replaced with scanline[X] style for speed
LandscapeInfo->SelectedRegion is now only queried if it contains anything, to avoid hashing the key unneccessarily (the hash function was showing on profiles :( )
Smoothing tool's SmoothFilterKernel*Scale* replaced by the more intuitive Size
Component brush fixed to be properly centered on the cursor at odd sizes and work correctly with the add component tool when cursor is over the landscape (but part of the brush is off the landscape) and size is >1
Copy tool fixed to copy the selected area and not a circle when using ctrl+c
Also a few style cleanups. for (auto it = xyz.CreateIterator...) replaced with ranged for, enums replaced with enum classes, 0.f -> 0.0f, NULL->nullptr, etc.

[CL 2392355 by Gareth Martin in Main branch]
2014-12-18 06:52:06 -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
Jaroslaw Palczynski
1b50963ccd Landscape module from Engine split out.
[CL 2331341 by Jaroslaw Palczynski in Main branch]
2014-10-16 05:16:44 -04:00
Gareth Martin
ecdd80244f Improve landscape sculpting tool, it's now continuous and framerate-independent
Refactored landscape tool strokes somewhat, removing unnecessary virtual functions (most of the stroke classes were single-level hierarchies, making virtuals pointless), empty functions and unnecessary dynamic allocation (using refactored TOptional)

[CL 2293878 by Gareth Martin in Main branch]
2014-09-11 12:44:16 -04:00
Michael Trepka
62e7793fa0 Another batch of fixes for Clang compile warnings
[CL 2237490 by Michael Trepka in Main branch]
2014-07-30 16:16:46 -04:00
Sangwoo Lee
5688a09997 Landscape : Fixed TTP #332780 : Fixed problem when you add component near component with XYOffset
[CL 2228241 by Sangwoo Lee in Main branch]
2014-07-23 08:24:09 -04:00
Gareth Martin
e20a958f1d Remove FLandscapeToolSet
Rename ALandscapeProxy::DataLayer to VisibilityLayer
Fix visibility tool not showing the visibility layer as its target

[CL 2222321 by Gareth Martin in Main branch]
2014-07-17 12:20:34 -04: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
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Gareth Martin
cc096d560f Remove landscape/foliage headers from Engine.h and include only where needed
[CL 2081860 by Gareth Martin in Main branch]
2014-05-22 07:52:43 -04:00
Mikolaj Sieluzycki
45c031d576 #ttp 331438 UE4: PlatformMath refactor
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski

[CL 2064306 by Mikolaj Sieluzycki in Main branch]
2014-05-06 06:26:25 -04:00
Mikolaj Sieluzycki
bbcea54981 #ttp 303393 UObject improvement: Remove header groups
#proj core
#branch UE4
#summary Removed header groups, removed some redundant includes and replaced with forward declarations. Fixed compilation errors.

[CL 2055361 by Mikolaj Sieluzycki in Main branch]
2014-04-24 08:49:31 -04:00
Robert Manuszewski
86174fbbdf Back out changelist 2054304
[CL 2054447 by Robert Manuszewski in Main branch]
2014-04-23 20:18:11 -04:00
Mikolaj Sieluzycki
e9351fe5de #ttp 303393 UObject improvement: Remove header groups
#proj core
#branch UE4
#summary Removed header groups, removed some redundant includes and replaced with forward declarations. Fixed compilation errors.

[CL 2054304 by Mikolaj Sieluzycki in Main branch]
2014-04-23 20:15:15 -04:00
TimSweeney
3a75fe0114 Engine source (Main branch up to CL 2027006) 2014-03-15 01:14:25 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00