In contrast to the previous system, this does not require special-casing for Rocket builds and will work correctly for nightlies and other out-of-band releases. It also removes the requirement for games to adhere to a strict format of version string on Windows for the editor to be able to load them, since the new data is injected indepdendently of the default resource by UBT.
#codereview Robert.Manuszewski, Michael.Trepka
[CL 2111949 by Ben Marsh in Main branch]
https://udn.unrealengine.com/questions/208357/use-logging-in-shipping1-not-enabling-logging-in-s.html
This was failing the IsDebuggerPresent() check used when adding FOutputDeviceDebug, because IsDebuggerPresent() is hard-coded to return 0 when UE_BUILD_SHIPPING is set.
This change always adds FOutputDeviceDebug for a Shipping build with logging explicitly enabled.
Also fixed a minor whitespace issue in Build.h.
ReviewedBy Thomas.Sarkanen
#codereview Max.Preussner
[CL 2109099 by Jamie Dale in Main branch]
There was a bug in setting affinity of a thread that assumed affinity from lookup table with key being a thread name. When names was appended with consecutive numbers (e.g. "RenderingThread 1") the mechanism failed. Refactored this to use special static consts describing affinity override'able by different platforms for different affinity types + possibility of setting affinity per thread.
#codereview Jaroslaw.Surowiec
[CL 2070197 by Jaroslaw Palczynski in Main branch]
TTP# 333731 - EDITOR: The editor region doesn't always seem to get set correctly on non-English systems
If you'd previously not set a language in the editor, the "Region & Language" settings would always show you the option for "en_US_POSIX" (and claim that you needed to restart the editor) because the saved culture name ("") didn't match the FInternationalization culture name (eg, "en_GB"), causing it to call GetCulture with an empty string (which seems to cause ICU to return "en_US_POSIX"). It now just uses the current FInternationalization culture name if the saved culture is empty.
Additionally, the editor/game now verifies that it has an available translation for the culture that FInternationalization is using (the one set during startup). If it doesn't (eg, your PC is using "fr_BR") then it will fallback to using generic English ("en") to ensure that the editor/game always has a valid translation to use.
ReviewedBy Saul.Abreu
[CL 2068467 by Jamie Dale in Main branch]