Commit Graph

22 Commits

Author SHA1 Message Date
Jaroslaw Palczynski
4d72feb452 [GitHub] 480 : FMath::GetReflectionVector(Dir,SurfaceNormal), For Reflecting Lasers off Mirrors and Projectile Bounces
Missing file for CL2323910 (GitHub 2c1bbfc11d).

TTP 348794

[CL 2323919 by Jaroslaw Palczynski in Main branch]
2014-10-09 06:31:15 -04:00
Michael Noland
cf61cf2c85 Core: Coding-standards fixes (TypeName [*|&] VariableName -> TypeName[*|&] VariableName)
[CL 2316335 by Michael Noland in Main branch]
2014-10-01 14:40:06 -04:00
Lina Halper
1eaa34f76f Back out revision 9 from //depot/UE4/Engine/Source/Runtime/Core/Private/Math/TransformVectorized.cpp
[CL 2301981 by Lina Halper in Main branch]
2014-09-17 22:23:50 -04:00
Maciej Mroz
041cabe823 Back out revision 22 from //depot/UE4/Engine/Source/Runtime/Core/Private/Math/Transform.cpp
[CL 2298011 by Maciej Mroz in Main branch]
2014-09-15 08:10:31 -04:00
Lina Halper
1ed6aaa87d - Animation Retargeting offline solution using rig
- Rig asset/Customization
- Retargeting Manager
- Support retargeting using the data

[CL 2295182 by Lina Halper in Main branch]
2014-09-12 11:37:36 -04:00
Wes Hunt
71db3f3bad Change 2122846 on 2014/07/01 00:51:24 by Wes.Hunt@WHUNT-UE4-MAIN
#BUN UnrealMath updates
	* added RotationAboutPointMatrix
	* Added static Make() methods for the various derived FMatrix types. Allows single expressions that return an FMatrix so we don't have to rely on implicit conversion (which will break some generic programming).
	* Simplified the implementation of FQuat::MakeFromEuler.

Change 2122848 on 2014/07/01 01:04:31 by Wes.Hunt@WHUNT-UE4-MAIN

	Added SlateLayoutTransform to store a 2D translation and uniform scale (for FGeometry).
	#BUN Added SlateTransformCalculus for handling arbitrary transform manipulation. See documentation in header.

Change 2123889 on 2014/07/01 17:12:40 by Wes.Hunt@WHUNT-UE4-MAIN

	Remove unncessary use of FGeometry.

Change 2221407 on 2014/07/16 17:58:20 by Wes.Hunt@WHUNT-UE4-MAIN

	TransformCalculus changes
	* Move 2D versions of functions into SlateLayoutTransform header to separate it from the base 3D stuff.
	* FSlateLayoutTransform is scale then translate now instead of translate then scale.
	* TransformPosition -> TransformPoint
	* Added a version of Concatenate taking 4 transforms.
	* Update docs.

Change 2221408 on 2014/07/16 17:58:39 by Wes.Hunt@WHUNT-UE4-MAIN

	Adjustments to Slate headers and PCH

Change 2221409 on 2014/07/16 17:59:07 by Wes.Hunt@WHUNT-UE4-MAIN

	Transform calculus support for SlateRects

Change 2221459 on 2014/07/16 18:41:13 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN SWindow changes
	* Added GetLocalToScreenTransform. (Screen space == Desktop space)
	** Basically contains the ApplicationScale and Window offset from the desktop.
	* Added GetLocalToWindowTransform (Window space == Desktop space without the window offset)
	* Added GetClientRectInScreen
	** Allows code to know exactly WHERE the client rect is in the window.
	* Refactored GetWindowGeometryInScreen and GetWindowGeometryInWindow to use the new methods above.
	* SPopupLayer::OnArrangChildren refactored to clarify transformational spaces and use transformation calculus to do the work.
	** This fixes PopupLayer to correctly account for the scale of the widget it is presenting a popup for.
	** MenuAnchors that that create new SWindows still do no correctly account for scale.

Change 2221464 on 2014/07/16 18:45:25 by Wes.Hunt@WHUNT-UE4-MAIN

	Render Transforms initial checkin. Lots of cleanup to do, but this is functionally working for all basic widgets and draw elements in slate. Main feature todos:
	* restore pixel snapping.
	* handle clipping in the presence of rotation.

Change 2226298 on 2014/07/21 21:22:46 by Wes.Hunt@WHUNT-UE4-MAIN

	Use a better method to get the window's rectangle.

Change 2227809 on 2014/07/22 20:41:57 by Wes.Hunt@WHUNT-UE4-MAIN

	Add 2D version of TransformVector to SlateTransform.

Change 2232085 on 2014/07/25 16:32:15 by Wes.Hunt@WHUNT-UE4-MAIN

	Implement CPU pixel snapping even under render transform. This is pretty CPU intensive, but a reasonable POC.

Change 2232090 on 2014/07/25 16:33:10 by Wes.Hunt@WHUNT-UE4-MAIN

	Font cache fixes for padding.
	* Add 1 pixel of padding around all fonts.
	* Fix font cache to properly handle padding
	* Fix font cache to handle texture elements of zero size with non-zero padding.

Change 2232350 on 2014/07/25 19:50:11 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Updated FSlateTextureAtlas padding logic.
	* Added ESlateTextureAtlasPaddingStyle which lets you choose from three atlasing padding styles:
	  * NoPadding - don't apply any padding (used to be Padding == 0).
	  * DilateBorder - copy border edges to apply 1-pixel padding (used to be Padding == 1).
	  * PadWithZero - expand 1-pixel border and fill it with zeros (new style).
	* removed notion of Padding > 1 pixel from atlasing. It wasn't useful as we don't support mips or aniso filtering.
	  * Also the existing code didn't actually handle Padding > 1.
	* FontCache now uses PadWithZero padding so upon zooming text, the edges get smoother.

Change 2237962 on 2014/07/31 02:17:28 by Wes.Hunt@WHUNT-UE4-MAIN

	TransformCalculus tweak.
	* Core Concatentate(T,T) no longer assumes the return type is T. Uses decltype(T.Concat(T)) instead.

Change 2237964 on 2014/07/31 02:21:31 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Added a full suite of transform types for 2D transformations that are transform calculus aware:
	* FSlateScale2D
	* FSlateShear2D
	* FSlateQuat2D
	* FSlateMatrix2x2

	Added appropriate overloads and ConcatenateRules for all combinations, making them compatible with FSlateTransform and FSlateLayoutTransform.

	FSlateTransform is now implemented in terms of a decomposed Matrix3x2.

Change 2237972 on 2014/07/31 02:30:45 by Wes.Hunt@WHUNT-UE4-MAIN

	Remove 4x4 matrix from FSlateTransform

Change 2238004 on 2014/07/31 03:11:42 by Wes.Hunt@WHUNT-UE4-MAIN

	FSlateTransform -> FSlateRenderTransform.

Change 2238714 on 2014/07/31 15:16:18 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Moved TransformCalculus into Core/Math.
	* Split into TransformCalculus, 2D, and 3D support.
	* FSlateRenderTransform is now just a typedef.
	* Renamed 2D transform types to remove "Slate" from their name.

Change 2240437 on 2014/08/01 19:08:59 by Wes.Hunt@WHUNT-UE4-MAIN

	Restore funky logic in deprecated FGeometry::MakeChild implementations.
	* legacy FGeometry::MakeChild functions took OffsetFromParent in the local space of the widget. This therefore CANNOT be the layout transform offset, because that needs to be in parent space for the transform of P * S + T to work correctly.
	* Therefore, the legacy functions now expect the ChildOffset to be in child space and re-apply the child scale to put them back into parent space.
	* This fixes the NodePanels to properly handle zooming around the mouse cursor point.

Change 2242769 on 2014/08/04 13:44:33 by Wes.Hunt@WHUNT-UE4-MAIN

	remove local layout transform storage from FGeometry.

Change 2242771 on 2014/08/04 13:45:59 by Wes.Hunt@WHUNT-UE4-MAIN

	Update Declarative syntax support to call it RenderTransform instead of Transform.

Change 2245872 on 2014/08/06 14:45:44 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Add GetBottomRight function to FSlateRect.

Change 2246129 on 2014/08/06 17:32:04 by Wes.Hunt@WHUNT-UE4-MAIN

	SThrobber now supports render transforms.
	Key is to not use deprecated members of FPaintGeometry, which should be treated as immutable (at least public members shouldn't be modified withotu modifying the new members as well).

Change 2247782 on 2014/08/07 19:12:57 by Wes.Hunt@WHUNT-UE4-MAIN

	Clipping widgets now works under render transforms, FPaintGeometry legacy fixes.
	* Expanded FSlateVertex by 2 bytes to pass in local position.
	* Change clipcoords to be passed in local space.
	* Remove WorldPosition interpolator. Replaced by LocalPosition interpolator.

	FPaintGeometry fixes
	* FPaintGeometry now takes Size in LocalSpace unless using a legacy ctor. Avoid transform-and-back that was occurring when creating from an FGeometry, which already had it in local space, and rendering, which now wants it in local space.
	* FPaintGeometry again supports mutability when using legacy members (like DrawPosition). This allows legacy code to mutate an FPaintGeometry, which is committed to a render transform right before rendering.Hacky, but allows legacy code that treated FPaintGeometry as a plain-old-struct to work.
	* Removed a legacy ctor of FPaintGeoemtry that was not being used.

	Misc:
	* Turned off pixel snapping code in ElementBatcher because the FSlateVertex is doing it during construction.
	  * Still texture filtering artifacts to figure out, so the last word has not been spoken on this yet!
	* Tweaked FGeometry::MakeRoot to use the non-render transform ctor since it doesn't need to use it.
	* Removed /*WindowSpace*/ Size member from SlateDrawElement.
	* SlateDrawElement::GetRotationPoint vastly simplified by using Local space.
	* Moved slate cycle counters back to the top of the function in ElementBatcher.
	* Uninlined FSlateVertex ctors so I can tweak their rounding rules without a full recompile.

Change 2247790 on 2014/08/07 19:20:01 by Wes.Hunt@WHUNT-UE4-MAIN

	SSlider no longer uses MakeRotatedBox, correctly handles render transforms.
	* Now uses a render transform to draw a vertical slider handle instead of MakeRotatedBox.
	* Since we don't support layout transforms, we also have to adjust the clip rect to account for the render-only transform, and make it act like a layout transform.

Change 2249106 on 2014/08/08 19:13:21 by Wes.Hunt@WHUNT-UE4-MAIN

	Slate clipping now done in window space again.
	* This addresses subpixel jittering that occured on otherwise stable clip rects because local space was moving underneath, and transforming the clip rect to local space created occasional rounding errors.
	* Implemented a vectorized point-in-parallelogram check in the pixel shaders to do this. Now pass clip rect in slightly differently, and moved to a float16 to allow better clip precision under rotation. But the vertex data remains the same size.
	* Moved some more common transform work into FSlateVertex constructor to save duplication.
	* Removed construction of local clip rect as it's no longer needed except for text rendering.
	* Hoisted construction of local clip rect out of the text drawing character loop (whoops).
	* Precompute InverseLayoutTransform in draw code as we use that a lot now.
	* Fixed OGL renderer to work.

Change 2249123 on 2014/08/08 19:45:19 by Wes.Hunt@WHUNT-UE4-MAIN

	SProgressBar no longer uses a temporary PaintGeometry to create the inner clipping rect for drawing, it directly inflates the clipping rect now. Also tried to adjust the coords to reduce jitter in the one-pixel padding.

Change 2251914 on 2014/08/11 16:26:12 by Wes.Hunt@WHUNT-UE4-MAIN

	Fixing HitTest 2.0 to work with latest code.
	* Added AppendTransform to FGeometry to preserve immutability of the struct.

Change 2253023 on 2014/08/12 10:30:23 by Wes.Hunt@WHUNT-UE4-MAIN

	Fixing Slate RHI Renderer to use new screenspace clipping with render transforms.

Change 2253090 on 2014/08/12 11:36:16 by Wes.Hunt@WHUNT-UE4-MAIN

	Fix SClippingHorizontalBox to use immutable FGeometry position. Also fix to properly support scale in when it needs to clip children.

Change 2253701 on 2014/08/12 17:48:06 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Round viewport rect instead of trunc to match how slate does it now (fixes 1:1 pixel error on SViewports). Need to abstract slate rounding internals so clients don't have to guess.

Change 2255403 on 2014/08/13 19:08:25 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Added LayoutGeometry class.

Change 2255404 on 2014/08/13 19:10:40 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Made FGeometry public members const to catch all mutating uses of them. Added some hacks in the implementation to make it backward compatible.

	Removed the AccumulatedLayoutTransform, since it was just a copy of AbsolutePosition and Scale. Now all code creates the layout transform on the fly from those members. Still functionally the same.

	Added support for MakeChild using FLayoutGeometry.

Change 2255405 on 2014/08/13 19:12:39 by Wes.Hunt@WHUNT-UE4-MAIN

	Changed SSplitter and Splitter2x2 to use FLayoutTransforms where possible. Now only calls ArrangeChildren() when rendering, avoiding accumulating the layout transforms and storing the render transforms altogether.

Change 2265162 on 2014/08/20 18:24:04 by Wes.Hunt@WHUNT-UE4-MAIN

	Implement MakeRotatedBox in terms of a render transform. Remove all shader code associated with rotating.

Change 2268034 on 2014/08/22 17:40:05 by Wes.Hunt@WHUNT-UE4-MAIN

	More 2D transform cleanup.
	* Removed a bunch of todo comments from the code, and converted them to more of a final form for main.
	* #BUN Removed FGeometry::CenteredPaintGeometryBelow as it was misleading, and users of the function were forced to mutate the resulting FPaintGeometry.
	* #BUN Removed FGeometry::GetRect() because it returned a rect in a weird space if the local scale != 1. Only one place in the code actually used it.

Change 2268096 on 2014/08/22 18:12:41 by Wes.Hunt@WHUNT-UE4-MAIN

	Clean up more stuff in FPaintGeometry.
	* #BUN Removed ToSlateRect and Identity().
	* Removed storage of accumulated layout transform, since DrawPosition and DrawScale implicitly stored it.
	* Removed a bunch of todo comments and converted them to a more final form.

Change 2270989 on 2014/08/25 15:48:46 by Wes.Hunt@WHUNT-UE4-MAIN

	Add support for Concatenate with 5 transforms.

Change 2271394 on 2014/08/25 19:12:53 by Wes.Hunt@WHUNT-UE4-MAIN

	#BUN Added an OffsetBy function to FSlateRect

Change 2271395 on 2014/08/25 19:13:56 by Wes.Hunt@WHUNT-UE4-MAIN

	Added a version of FSlateRotatedRect that uses regular floats, also added IsUnderLocation ToBoundingRect function for overlap testing.

Change 2271396 on 2014/08/25 19:14:38 by Wes.Hunt@WHUNT-UE4-MAIN

	HitTest 2.0 now works with render transforms.

#codereview:matt.kuhlenschmidt,nick.atamas

[CL 2276499 by Wes Hunt in Main branch]
2014-08-28 14:29:46 -04:00
James Golding
8ba7c91ea3 [GitHub] Add CInterpTo for linear colors, exposed in BP
https://github.com/EpicGames/UnrealEngine/pull/331 (EverNewJoy)

[CL 2272004 by James Golding in Main branch]
2014-08-26 07:15:54 -04:00
Lina Halper
7c3bdc3f4f Fix compile error.
[CL 2256323 by Lina Halper in Main branch]
2014-08-14 11:34:25 -04:00
Lina Halper
e513ea2300 Named FMatrix/FTransform unsafe Inverse to InverseFast, and InverseSafe,InverseSlow to Inverse as people often use Inverse as default function.
- Inverse was one of the main reasons of crashes via lots of functions. Seems making default Inverse to be safer version seems better.

[CL 2255081 by Lina Halper in Main branch]
2014-08-13 15:29:41 -04:00
Chris Gagnon
3444d084ab Removed "InterpreteAsLinear", Deprecated FColor DrawColor and added FLinearColor LevelColor to replace it. Changed the underlying FColor's to FLinearColor in the rendering classes, cleaned up a bunch of color conversions.
#codereview matt.kuhlenschmidt

[CL 2235025 by Chris Gagnon in Main branch]
2014-07-28 17:16:21 -04:00
Jaroslaw Palczynski
91512747b5 [GitHub] 279 : FMath::RInterpConstantTo, Essential Const Fix, Can't use FApp:GetDeltaTime() without it!
TTP# 341128

[CL 2222069 by Jaroslaw Palczynski in Main branch]
2014-07-17 08:49:24 -04:00
Mike Fricker
72a34e4ee9 Compile Times: Fixed Core module needing two separate PCH headers in monolithic compiles
- Changed Core module to use Core.h (removed CorePrivate.h)
- CorePrivate.h only included Core.h, so their PCHs were identical other than name
- Does not affect modular builds, as we need different defines for DLLExport/DLLImport for private and public PCH headers

[CL 2221011 by Mike Fricker in Main branch]
2014-07-16 13:44:46 -04:00
James Golding
3fbae42971 Add 'Random Point in Box' (C++ & BP)
https://github.com/EpicGames/UnrealEngine/pull/187 (https://github.com/EverNewJoy)

[CL 2092946 by James Golding in Main branch]
2014-06-03 05:50:43 -04:00
James Golding
ab72df799d Add PointsAreCoplanar (C++ and BP)
https://github.com/EpicGames/UnrealEngine/pull/193 (https://github.com/EverNewJoy)

[CL 2092920 by James Golding in Main branch]
2014-06-03 05:15:08 -04:00
James Golding
a61097baa3 Optimize FBox::TransformBy() by using the branchless vectorized implementation for matrices
https://github.com/EpicGames/UnrealEngine/pull/124 (pzurita)
#codereview lina.halper

[CL 2075257 by James Golding in Main branch]
2014-05-16 04:01:15 -04:00
James Golding
ba27853790 Add FBox2D type
https://github.com/EpicGames/UnrealEngine/pull/129 (EverNewJoy)

[CL 2075249 by James Golding in Main branch]
2014-05-16 03:46:11 -04:00
James Golding
44b2344a9a Add static ForwardVector to FVector
[CL 2072891 by James Golding in Main branch]
2014-05-14 09:48:15 -04:00
John Pollard
5db4131220 Send FRotator as compressed shorts rather than bytes
* The 8 bit precision is causing issues in certain places
* This is until we can specify how much precision we want more easily

[CL 2071590 by John Pollard in Main branch]
2014-05-13 10:45:39 -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
Andrew Brown
b145f1d79e Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly.
#ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle)

#branch UE4

#change
DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be.
Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future.
Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter...
GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these.
RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible).
Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them.
Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly.

Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to
ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set
IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not
SetSimpleStat û Sets the state of a specified Simple Stats
SetSimpleStats - Sets the state of the specified Simple Stats
RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned.
Each Exec function had the code it executes which itÆs toggled and rendered into functions

Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too.

FSceneViewport:
SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends.
SEditorViewport:
ToggleStatCommand û Called when a stat is enabled/disabled from the UI
IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI
SEditorViewportViewMenu:
GenerateViewMenuContent û Made protected and virtual so it could be called externally.
FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later
Destructor û Needed to reset delegates
HandleNewGroupStat û Creates the new group stat commands
HandleNewStat û Creates the new stat command
FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order
SLevelViewport:
Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS).
OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global
OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport.
ToggleStatCommand û Called when the user selects any other stat option from the viewport.
BindStatCommand û Used to bind the menu action to the command name (used by delegate)

Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize
Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call).

FViewportClient:
Moved global ESoundShowFlags enum list into this class.
FCommonViewportClient:
Destructor û Needed to reset GStatProcessingViewportClient
FLevelEditorViewportClient
SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func
SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func
UGameViewportClient:
Destructor û Needed to cleanup delegate usage.
FViewportClient & FLevelEditorViewportClient & UGameViewportClient*
GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec
GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec
GetEnabledStats û Gets a list of all the stats which are enabled for the viewport
SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport
IsStatEnabled û Checks to see if a specific stat is enabled for the viewport
SetStatEnabled û Sets a specifics stats state to enabled or disabled
GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec
SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec
HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport
HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport
HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport
HandleViewportStatDisableAll (delegate) û disables all stats for the viewport
*FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs.

FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS).
Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false).

Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur.
Added FillShowStatsSubMenus so that menus can be generated which have submenus
Added the Stats sub menu to the View menu

Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed
HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists.
SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame).

Stripped out all unneeded globals

[CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Ori Cohen
a81c8b5fa0 Fix RInterpTo doing wrong early out when given very small interpolation value #codereview Jeff.Farris
[CL 2050030 by Ori Cohen in Main branch]
2014-04-23 19:38:02 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00