- Partially based on PR #306 submission, corrected for cross-compiling.
- Each platform is now able to set up output devices for logging according to its own needs.
#codereview Josh.Adams, Michael.Trepka
[CL 2249193 by Dmitry Rekman in Main branch]
- Mostly from PR #306, but sanitized/reworked.
- LinuxApplication now defers processing events (should make it differ less from Windows).
- Process spawning changes in #306 partially left out until explained by amigo/#ue4linux folks.
#codereview Josh.Adams
[CL 2245193 by Dmitry Rekman in Main branch]
- Linux splash (changed to match our coding style better). WARNING: currently cannot be cross-compiled.
- Platform (SDL) message box.
- Other minor additions elsewhere.
#codereview Josh.Adams
[CL 2243860 by Dmitry Rekman in Main branch]
- Minor fixes, Linux-specific additions (like preferred source code accessor setting or building ForsythTriOO) and tweaks (log level, etc).
#codereview Josh.Adams
[CL 2237893 by Dmitry Rekman in Main branch]
- part of GitHub pull request #242, with changes
- new platform define for conditionally using cpuid, other platforms may want to follow suit
- better detection of debugger, IsDebuggerPresent() is on again.
#codereview Josh.Adams, Michael.Trepka, Bob.Tellez
[CL 2229133 by Dmitry Rekman in Main branch]
This is less portable approach than pthread_self(), but the latter requires more intrusive changes throughout the engine (upping thread ids to 64 bit or even to an opaque type), which will break NetworkProfiler serialization and don't feel warranted in general.
Thanks to x414e54 for bringing this up on #ue4linux.
#codereview Josh.Adams, Daniel.Lamb, JJ.Hoesing
[CL 2122755 by Dmitry Rekman in Main branch]
TTP# 336464 - Editor: Finish the Multiline Editable Text Block
There are two versions of this, which are typedef'd to FICUTextCharacterIterator based on the current platform string traits.
FICUTextCharacterIterator_NativeUTF16 is used on platforms where TCHAR is already in a native UTF-16 format (as used by ICU), so performs no conversion and just passes the internal string data through to an icu::UCharCharacterIterator. Windows, Xbox One, and PS4 use this iterator.
FICUTextCharacterIterator_ConvertToUnicodeString is used on platforms where TCHAR is not in a native UTF-16 format, and performs a conversion to an icu::UnicodeString which is then passed into an icu::StringCharacterIterator - this has the same behaviour and cost as every platforms had prior to this change. OS X, iOS, Android, and Linux use this iterator.
Other changes:
- Renamed the Convert functions in ICUUtilities to either ConvertString or ConvertChar32 to make it clearer what they were doing.
- Removed the ConvertChar32 functions which were attempting to convert a UChar32 back to a TCHAR (as this is neither safe or sane).
- Added IsUnicodeEncoded to FGenericPlatformString. This is used along with the sizeof(TCHAR) at compile time to work out if the platform is using UTF-16.
ReviewedBy Justin.Sargent
[CL 2116572 by Jamie Dale in Main branch]
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]
TTP# 337136 - SETTINGS: Target Platform settings polish
TTP# 337652 - EDITOR: Limit Project supported Android icons down to 1
TTP# 337650 - EDITOR: There is only 1 icon for Apple for Project Supported Platforms
DesktopPlatform now contains a static array of FPlatformInfo. This can be used to query UE4 about its available platforms, even when they're not available as a target platform.
FPlatformInfo contains the information required by the editor (such as a localized display name and icon), as well as whether a platform is a variation ("flavor") of another, and if so, whether the flavor affects the build output (eg, Win32 or Win64), or the cook output (eg, Android_XYZ). This lets the editor build up nested menus for the "Package Project" and "Cook Project" options, rather than just showing everything as a flat list.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2095796 by Jamie Dale in Main branch]
Particularly, do not trigger this for arrow keys, since they do not generate WM_CHAR on Windows.
Otherwise console will be broken in subtle ways (TTP #331984).
#codereview Michael.Liebenow
[CL 2072376 by Dmitry Rekman 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]
- Patches to HACD, hlslcc,mcpp and nvtess (licenses updated where appropriate).
- Support for Linux target platform in a bunch of TPS modules.
- Automate update of dependencies to an extent.
- Misc. changes (accomodate perforce and git flows, minor code bug when dealing with TPS etc).
#codereview Mike.Fricker, Ben.Marsh
[CL 2069938 by Dmitry Rekman in Main branch]
- Result of pair debugging of NickA and MichaelL.
- Introduces some really scary platform-specific #ifdef's in SWindow I am not happy about... Reportedly going to be accounted for in Slate refactor and will cease to be platform-specific.
- Old junk nuked.
#codereview Josh.Adams, Michael.Liebenow, Nick.Atamas, Michael.Trepka
[CL 2067399 by Dmitry Rekman in Main branch]
- New target platforms (LinuxNoEditor for client+server, LinuxClient for client, Linux for editor, LinuxServer for dedicated server - mirroring other platforms).
- Preliminary support for gcc in the toolchain (and some safe fixes in code).
- No more lowercasing when accessing files on Linux, tread carefully.
- Changes needed for native compilation and other minor improvements.
#codereview Josh.Adams, Michael.Liebenow, Steve.Robbs
[CL 2067133 by Dmitry Rekman in Main branch]