This addresses a crash when trying to draw text from the render thread.
The extra font cache is managed by FEngineFontServices, and its creation is delayed until it is first needed. In Canvas you now use FEngineFontServices (rather than FSlateApplication directly) which will automatically return the correct cache for the current thread.
#codereview Matt.Kuhlenschmidt
[CL 2350206 by Jamie Dale in Main branch]
The auto-startup module list is now compiled to:
1. Exe if the target is a program.
2. Game module binary if the target is game, editor etc.
#codereview Robert.Manuszewski
[CL 2344885 by Jaroslaw Palczynski in Main branch]
* This is achieved by using shared samplers on TextureSample nodes. The property SamplerSource must be set to 'Shared: Wrap' or 'Shared: Clamp' to not consume a sampler slot. Materials can use up to 128 unique textures with this setup.
[CL 2341439 by Daniel Wright in Main branch]
Turnes out that Pre/PostWorldInitialization events are not fired every time after creation and cooking initialization is completely different than normal editor run. Added a new event called in UWorld constructors and registered Landscape event to it and added auto-startup module loading to the commandlet path.
[CL 2337078 by Jaroslaw Palczynski in Main branch]
Moved AutoStartup initialization to FEngineLoop::Init() function (ELoadingPhase::PostEngineInit phase) - after talk with Jaroslaw Palczynski about it. #ue4
[CL 2334529 by sebastian kowalczyk in Main branch]
Addresses TTP#349213 MouseX and MouseY are a frame behind all other input
#codereview Matt.Kuhlenschmidt,Peter.Knepley
[CL 2330315 by Nick Atamas in Main branch]
Statically-initialized (ie. CDO) assets that attempted to load BTs coudl fail if the flag was still set to false in ini files.
[CL 2329921 by Thomas Sarkanen in Main branch]
#change Removed GGameName usage from code and replaced it with FApp::*GameName API
#change Added FApp::SetGameName(), FApp::IsGameNameEmpty()
#change Added IFileManager::GetFilenameOnDisk to get the correct case of a filename on disk
#change Renamed GGameName to GInternalGameName
[CL 2328446 by Robert Manuszewski in Main branch]
- fixed crash in visual logger while using EnableAILoggind command line
- LogVisualizer flushes data from visual logger to be updated with all logs
- added visual log events
- first version of reports generated from visual log events as part LogVisualizer
[CL 2328392 by sebastian kowalczyk in Main branch]
FScopedSlowTask has been refactored to better allow for nesting of slow operations. This allows us to cascade nested scopes and provide accurate feedback on slow tasks. FScopedSlowTasks now work together when nested inside sub functions. Break up long functions that contain calls to multiple nested FScopedSlowTasks with FScopedSlowTask::EnterProgressFrame().
Example Usage:
void DoSlowWork()
{
FScopedSlowTask Progress(2.f, LOCTEXT("DoingSlowWork", "Doing Slow Work..."));
// Optionally make this show a dialog if not already shown
Progress.MakeDialog();
// Indicate that we are entering a frame representing 1 unit of work
Progress.EnterProgressFrame(1.f);
// DoFirstThing() can follow a similar pattern of creating a scope divided into frames. These contribute to their parent's progress frame proportionately.
DoFirstThing();
Progress.EnterProgressFrame(1.f);
DoSecondThing();
}
This addresses TTP#338602 - NEEDS REVIEW: Editor progress bars nearly always just show 100%, don't offer useful indication of progress
[CL 2322391 by Andrew Rodham in Main branch]
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr
[CL 2305058 by Max Preussner in Main branch]