Commit Graph

79 Commits

Author SHA1 Message Date
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* 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]
2015-01-08 09:29:27 -05:00
Matt Kuhlenschmidt
8bd2b65b16 Fix visual logger command conflict with level save commands causing tooltips to appear incorrectly.
[CL 2399992 by Matt Kuhlenschmidt in Main branch]
2015-01-07 13:24:58 -05:00
sebastian kowalczyk
395f210254 Feature request for LogVisualizer:
- data reset for new PIE sessions (or for each new data loaded from file). This feature is disabled by default.
- fixes for  "stick to new data" feature, to work better with zoomed data, etc.
- tweaks and fixes for movement on timeline with keyboard
- fixed time range issues on timellines

[CL 2399729 by sebastian kowalczyk in Main branch]
2015-01-07 08:06:36 -05:00
Dan Hertzka
27c2559898 Updated editor viewports & editor viewport clients to allow for inertial movement and animated/lerped transitions when Slate is asleep
- SEditorViewportClient now has an additional optional parameter in its constructor for the SEditorViewport that the client is attached to
- SBasePoseViewport, SDestructibleMeshEditorViewport, and SPhATPreviewViewport were all updated to inherit from SEditorViewport (previously just inherited from SCompoundWidget)

[CL 2398765 by Dan Hertzka in Main branch]
2015-01-06 11:09:55 -05:00
sebastian kowalczyk
17d03c8bcb Implemented option to stay always on the last frame in LogVisualizer. It can be enabled in LogVisuallizer settings.
[CL 2393785 by sebastian kowalczyk in Main branch]
2014-12-19 10:46:17 -05:00
sebastian kowalczyk
cab916949c We can have nest multiple levels of collapsible status information in LogVisualizer.
[CL 2392705 by sebastian kowalczyk in Main branch]
2014-12-18 12:12:43 -05:00
Ben Marsh
78735a771a Fix some 2014 copyright notices that have crept in.
[CL 2392643 by Ben Marsh in Main branch]
2014-12-18 11:47:29 -05:00
sebastian kowalczyk
66816b0ffb Bunch of fixes for LogVisualizer and added two new features to this tool:
- Filters can be presistent even between editor sessions (option for this in settings)
- Option to filter logs by owner class

[CL 2392383 by sebastian kowalczyk in Main branch]
2014-12-18 08:37:06 -05:00
Dan Hertzka
c042ddcb94 ---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.

While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
    1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
        - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
    2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.

- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
    - Examples include animation, async operations that update periodically, progress updates, loading bars, etc.

- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.

- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
    - There are THREE ways to unregister an active tick:
        1. Return EActiveTickReturnType::StopTicking from the active tick function
        2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
        3. Destroy the widget responsible for the active tick

- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
    - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)

- The FCurveSequence API has been updated to work with the active tick system
    - Playing a curve sequence now requires that you pass the widget being animated by the sequence
    - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
    - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.

[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
sebastian kowalczyk
28f21c1714 Moved left scrollbar outside timelines in LogVisualizer. Sometimes it was hard to select correct item on timeline because of this scroll bar.
[CL 2385456 by sebastian kowalczyk in Main branch]
2014-12-11 09:34:00 -05:00
sebastian kowalczyk
7c0f5c00dd Minor cleanups for GameplayDebugger's and LogVisualizer's settings.
[CL 2385431 by sebastian kowalczyk in Main branch]
2014-12-11 09:03:56 -05:00
sebastian kowalczyk
4a1b929643 Changed NewLogVisualizer module name to LogVisualizer module.
[CL 2385367 by sebastian kowalczyk in Main branch]
2014-12-11 07:19:14 -05:00
sebastian kowalczyk
8a3bafd8e3 Removed old LogVisualizer module (and old tool that way)
Fixed issue with visible 2d graphs after closing LogVisualizer
Removed LogVisualizer tool from experimentals so it's a regular tool inside Develoment Tools sub-menu now
Few other minor issue fixes in LogVisualizer tool

[CL 2385317 by sebastian kowalczyk in Main branch]
2014-12-11 06:23:59 -05:00
Nick Darnell
90e793745c Slate - ESlateCheckBoxState has been renamed to ECheckBoxState.
[CL 2384008 by Nick Darnell in Main branch]
2014-12-10 14:24:09 -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
Ben Marsh
959cfa782d Add missing copyright notices to source files.
[CL 2379212 by Ben Marsh in Main branch]
2014-12-06 19:14:20 -05:00
Jamie Dale
6b008d0722 Fixed code relying on the version of SWidget::SetToolTipText that took an FString
Made sure everything was using FText rather than FString, and also updated the property editor API to return tooltips as FText rather than FString.

[CL 2373917 by Jamie Dale in Main branch]
2014-12-02 13:48:53 -05:00
sebastian kowalczyk
faffb37e5d New LogVisualizer tool with major features implemented. It'll replace old one during next couple of days. #ue4
[CL 2364795 by sebastian kowalczyk in Main branch]
2014-11-19 07:43:07 -05:00
Eric Newman
65fa5864ff Fortnite Dev > Main Integration
Merged CL# 2352617 using UE4-Fortnite-To-UE4

[CL 2355906 by Eric Newman in Main branch]
2014-11-11 10:35:51 -05:00
Ben Zeigler
02a9e1dd4e Merging Dev -> Main using UE4-Fortnite-To-UE4 from CL 2340802
Includes following engine changes:

Getting display metrics only once at construct time when using SSafeZone. GetDisplayMetrics is expensive in Windows so it is impractical to call it every frame.
- Some AI API improvements, mostly switchig pointer function parameters to references.
- minor refactor of UCrowdFollowingComponent's queryinf functions:
    - IsCrowd*Enabled functions refactored to  IsCrowd*Active
    - implemented IsCrowd*Enabled that return acrual values of relevant properties
- Added a function to CrowdManager to query for location of agents neighbouring given agent
Added support for PS4 touchpad-based cursor
You can now choose to skip synchronously scanning for asset data in object libraries and just use the data that is currently in the asset registry. The data will be refereshed automatically later once the global scan completes. The only applies to non-commandlet editor instances.
Crash fixes for trying to access NULL Metal surfaces on IOS
Slate: Cleaned up some atlas code related to padding and corrected some comments

[CL 2347323 by Ben Zeigler in Main branch]
2014-11-03 15:47:28 -05:00
Chris Gagnon
0e6d657c3d Refactor to unify keyboard and controller input and focus.
Native controller navigation support.

[CL 2345039 by Chris Gagnon in Main branch]
2014-10-30 12:29:36 -04:00
sebastian kowalczyk
f85dffb1d0 LogVisualizer - fixed toolbar icons #ue4
[CL 2342361 by sebastian kowalczyk in Main branch]
2014-10-28 11:23:11 -04:00
Dmitry Rekman
a5c6500f8f Fix case-sensitive error.
[CL 2341883 by Dmitry Rekman in Main branch]
2014-10-27 22:29:20 -04:00
sebastian kowalczyk
5805456393 Binary file format for Visual Logger (Log Visualizer can still load old file format)
Removed old Visual Logger class and files. Minor cleanups in code.

[CL 2341032 by sebastian kowalczyk in Main branch]
2014-10-27 08:35:45 -04:00
sebastian kowalczyk
64c75fc0bc Bunch of fixes for Visual Logger (ttps: #349696, 349692, 349679, 349636, 349624) #ue4
[CL 2333012 by sebastian kowalczyk in Main branch]
2014-10-17 10:07:57 -04:00