I did the first part, lock some showflags to be 0 or 1 in SHIPPING
If this causes problems for some applications (e.g. using showflag as scalability which they shouldn't) the user needs to update the code.
or we remove the lock from that showflag.
For editor or non shipping features it's fine to use the SetSHOWFLAGNAME() calls, they become NOPS in SHIPPING.
This is a performance optimization (when used in inner loop) and prepares for removing more
[CL 2673126 by Martin Mittring in Main branch]
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]
[UE-18355] - Clicking on show viewport controls on mac comes up with missing page error on mac
#fix Prefixed URLs correctly with file:// in SLevelViewportControlsPopup
[CL 2644736 by Chris Wood in Main branch]
#jira UE-18728 - There is no way to center the pivot on a BSP brush
#jira UE-18932 - After updating an actor transform via the details panel, the transform widget in the scene doesn't move
[CL 2634053 by Richard TalbotWatkin in Main branch]
#jira UE-18353 - SaveBrushAsCollison keybind makes no sense because the builder brush is no longer a user-facing concept
[CL 2619945 by Richard TalbotWatkin in Main branch]
ADDED UE-14356 HLOD: Print user friendly message if you try build and meshes don't have have LODs
ADDED MergeStaticMeshComponets to MeshUtilities needed for next CHANGE
ADDED HLOD preview build step for maps, this only builds the clusters for previewing the settings
ADDED SphereComponent now takes into account min and max drawing distances
ADDED Global forward declares and removed local ones from HierarchicalLOD.h
ADDED Visualization to LODActor class, uses USphereComponent to render its bounds
ADDED IsPreviewActor flag to LODActor class, if true during cluster generation DrawSphereComponents bounds will be used instead of LODActor's
ADDED vertex duplication removal on import
ADDED vertex/index buffer cache optimization on import
CHANGED World.h now forward declares HierarchicalLODBuilder to minimize (re)compile time
CHANGED While building/merging actors HLOD system now takes the orginal staticmesh from previously merged LODActors, this to enable retrieving the correct LOD per mesh (related to UE-15398)
CHANGED HLOD Cluster generation process, now takes into account HierarchicalLODVolumes to exclude actors from cluster generation
CHANGED Renamed CalculateRawMeshTangents to ExtractMeshDataForGeometryCache
FIXED Crash where a nullptr actor was added to actors list for > LOD0 clusters
FIXED Bound creation for actor within a cluster used FVector.Size(), now used FVector.AbsMax()
MOVED FLODCLuster structure into seperate header and cpp file
[CL 2617884 by Jurre DeBaare in Main branch]
#jira UE-16413 - Applying materials to BSP takes a long time once shells reach a basic level of complexity
Previously, setting a material or its texture transform on a BSP surface triggered CommitModelSurfaces, which iterated all the ModelComponents in the level and caused (among other things) the physics state to be recreated, a very expensive operation. This is clearly unnecessary when only the surface material or texture transform has changed, so introduced a new path in which only the Material Index Buffers are updated for the level's UModel.
[CL 2613582 by Richard TalbotWatkin in Main branch]