I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
* Made nullptr checks consistent (the plurality of the changes are of this type)
* Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
* Removed unused variables
* Removed redundant initializations
* WidgetNavigationCustomization.cpp was fixed by the owner
* integers converted to floats where result was stored in a float
* Removed redundent null checks (e.g. before delete statements)
* Renamed variables to prevent non-obvious shadowing
* Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
* Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)
[CL 2498053 by Dan Oconnor in Main branch]
- FQuatRotationMatrix(GetActorQuat()) is ~4x faster than FRotationMatrix(GetActorRotation()), due to latter form's FQuat->FRotator conversion and different matrix construction using Sin/Cos.
[CL 2497964 by Zak Middleton in Main branch]
These are mostly fixes to redundant comparisons and initialization code, but there's also a fix for serious looking scope issue in FontCache.cpp
[CL 2483865 by Dan Oconnor in Main branch]
#jira UE-1143 - LIVE: Include option to view Orthographic views from both angles Front Back Left Right Top Bottom
#reviewedby Matt.Kuhlenschmidt
[CL 2480276 by Richard TalbotWatkin in Main branch]
Old functionality still works, but deprecated. Note that for the object type the object params have been moved to the same argument position as ByChannel and byProfile
[CL 2460970 by Ori Cohen in Main branch]
Fix Landscape copy/paste gizmo not being selected automatically when entering the copy/paste tool, or importing data into the gizmo, or switching to the gizmo brush, or opening the landscape editor when the copy/paste tool or the gizmo brush was the active tool/brush. This was causing it to unexpectedly not be movable/rotatable/resizable in those situations.
Fix Landscape copy/paste gizmo not being selectable with a single click. Coupled with the previous bug, this was causing a lot of confusion!
A bit of cleanup of the gizmo code:
- the landscape edmode is no-longer responsible for rendering a (0% opacity) box around the gizmo to make it selectable, instead the gizmo itself is now selectable.
- the gizmo frustrum transform is now calculated significantly more sanely!
[CL 2412231 by Gareth Martin in Main branch]
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.
#codereview robert.manuszewski
[CL 2400883 by Steve Robb in Main branch]
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]