- Code cleanup and minor rearrangement (e.g. variable name changes).
- Additions.
- Case issues fixed.
- Minor fixes (init ordering).
[CL 2172690 by Dmitry Rekman in Main branch]
TTP# 340470 - BINARY: EDITOR: Platform icons are missing
The distill script assumes that anything inside a folder named the same as a platform name (eg, PS4) is a platform specific thing (which these icons are not). I've renamed the folders from "Platform" (eg, PS4) to "PlatformTarget" (eg, PS4Target) and updated the PlatformInfo array to reference their new location.
#codereview Ben.Marsh
[CL 2131324 by Jamie Dale in Main branch]
TTP# 337511 - ANALYTICS: Store Epic Account ID and Machine Unique GUIDs on Users Machine. Send with Every Event.
This works differently to what the TTP originally asked for, but I've checked with MaxP/MattK/WesH and we're okay with the way this works, as it avoids an annoyingly tight dependency between the analytics and the editor.
On the request of MattK, I also changed FPlatformMisc::GetRegistryString to be FPlatformMisc::GetStoredValue and added a corresponding FPlatformMisc::SetStoredValue. These will store generic key->value pairs using a platform specific store (the registry on Windows, and an INI file on other platforms).
DesktopPlatform uses these to provide access to the Machine ID and Epic Account ID (the Epic Account ID is set when the user logs into the Launcher).
The Editor sends an "Editor.ProgramStarted" event containing this data. This can then be tied to the current analytics session via the analytics session ID.
Tested on Windows and OS X.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2113818 by Jamie Dale in Main branch]
refactored tga code to allows use outside of EditorFactories.cpp
added support for grayscale jpeg
fix memory leak in jpeg code
changes in AssetTools to allow to specify precise factory when multiple factories support the same filetype
changes in Plugin.cs to allow binary only plugins
exposed parts of engine API to other modules
[CL 2108453 by Matt Kuhlenschmidt 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]