This is currently needed for Linux where SourceControl is expected to work headless and thus does not normally depend on Slate. Should be solved differently.
#codereview Matt.Kuhlenschmidt, Nick.Atamas
[CL 2256415 by Dmitry Rekman in Main branch]
Removed StartSession/RecordEvent that took multiple params (should use the array overloads instead), fixedup usage
[CL 2228325 by Andrew Brown in Main branch]
TTP# 338363 - When I relaunch the editor it reopens the items in the wrong place.
IÆve added a "DockedToolkit" tab which resides next to the "LevelEditor" tab. This is used for two purposes; firstly, it can be used to identify asset editors that have been dragged into the MainFrame, and secondly, it's used as a marker (akin to the "StandaloneToolkit" tab) to restore the asset editor to the correct place.
When an asset editor is closed, an entry is added to the GEditorUserSettingsIni file so that FAssetEditorToolkit::InitAssetEditor can restore the asset editor to either the "DockedToolkit" or "StandaloneToolkit" area.
ReviewedBy Thomas.Sarkanen
#codereview Max.Preussner
[CL 2124274 by Jamie Dale in Main branch]
This commit adds the framework APIs, editor and rendering features needed to support live streaming. Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.)
- Game live streaming
- Allows general support for live internet streaming of game video and audio
- Web cam video feed can be overlaid onto game viewports automatically
- New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game
- New IGameLiveStreaming API that allows you to start broadcasting through C++
- Editor live streaming
- The editor UI now displays a "broadcast" button automatically when a live streaming service is available
- Broadcasting of all desktop editor windows is supported (configured in preferences)
- If you have a web cam, video will be displayed automatically while broadcasting in a new editor window
- New "Live Streaming" editor preference tab with many new settings for configuring broadcasting
- New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed
- Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands
- These allow you to easily test live streaming in games without writing UI code
- Built-in help is available for these new commands
- To implement a live streaming plugin:
- Inherit from the new ILiveStreamingService interface
- Register your "LiveStreaming" feature with the IModularFeatures system
- Other changes:
- Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle()
- Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore)
- Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented
[CL 2115377 by Mike Fricker in Main branch]
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.
Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks
[CL 2104067 by Max Preussner in Main branch]
I also added code to retain backwards compatibility. Existing settings from EditorUserSettings.ini will be migrated to EditorLayout.ini
#CodeReview: nick.atamas, matt.kuhlenschmidt
[CL 2074798 by Max Preussner in Main branch]
#ttp 330039 EDITOR: Platform-agnostic editor code depends on Windows-only VSAccessor headers
#detail Make sure we dont access modules that are not loaded in ShutdownModule().
[CL 2053203 by Thomas Sarkanen in Main branch]
#ttp 330039 EDITOR: Platform-agnostic editor code depends on Windows-only VSAccessor headers
#detail Source code access is now extensible via plugins, so any new editors can be easily added.
#add Added SourceCodeAccess module that routes access via plugins.
#change Moved much of the old VSAccessor code into a new VisualStudioSourceCodeAccess plugin.
#add Added a counterpart XCode plugin & migrated the code from FSourceCodeNavigation (Applescript etc.) into there.
#remove Removed applescript for XCode access (it is now done via code).
#remove Removed source code access functionality from platform layer.
#add Added details customization for source code access settings, so users can choose their own accessor.
#remove Removed dependencies on VSAccessor.
#change Changed API in SWidget to not require building a string to be parsed, instead this acesses and forwards filenames & line numbers.
#extra Tested on Mac by Mark S.
reviewed by Andrew.Brown
[CL 2048697 by Thomas Sarkanen in Main branch]
#proj UE4
#branch UE4
#summary Changed UBT and UHT exit codes to inform about compilation result. The editor is reading exit code of UBT process and changes output message informing if this is a failure due to header changes.
#codereview Robert.Manuszewski
[CL 2044928 by Jaroslaw Palczynski in Main branch]
- Platform memory
- Added LogMemory to log all memory related things
- Separated PlatformMemory stats from Allocator stats, added MemoryAllocator group for allocator stats, added MemoryPlatform for platform memory specific stats, stats for these groups are updated once per frame in FEngineLoop::Tick, stats are duplicated, so they can be accessed if STATS is not enabled
- Removed outdated code, references to unsupported platforms like PS3 or Xbox360
- Updated MallocProfiler to support these changed, increased malloc profiler file version to 4
- From now FGenericPlatformMemory.GetStats contains FPlatformMemoryConstants so there is no need to call the second method
- Improved memory reporting for Windows platform, other platforms need to be updated separately
- Misc tweak and fixes
#codereview Robert.Manuszewski
[CL 2038526 by Jaroslaw Surowiec in Main branch]