* Only try to build UBT if it's not present in the *target* engine directory (as opposed to the running engine directory). Fixes problems with running from launcher installation.
* Fix building UBT from paths that contain spaces.
* Better logging of what's going on when trying to build UBT (and possible failure points)
* Remove duplicate entries in installation list, and make sure that every path is stored in the same way. Was allowing a number of paths to contain relative portions.
#codereview Carlos.Cuello
[CL 2424385 by Ben Marsh in Main branch]
- Moved Windows code from DesktopPlatform module to Core.
- All other platforms aren't implemented yet, but should compile (fixes CIS).
#codereview Dan.Hertzka, Matt.Kuhlenschmidt, Michael.Trepka, Josh.Adams
[CL 2409470 by Dmitry Rekman in Main branch]
- Added IDesktopPlatform::GetUserTempPath() and implemented it for windows
- Created SGetSuggestedIDEWidget class that handles whether to show a "Download X" hyperlink vs. an "Install X" button (depending on whether the platform supports on-demand installation)
- Analytics event added ("Editor.Usage.InstalledIDE") that fires whenever the "Install X" button is clicked
- Changed SourceCodeIDEURL_Windows in BaseEditor.ini from the VSC 2013 web page link to the installer download link (need to replace with perma-link once we have it)
[CL 2409158 by Dan Hertzka in Main branch]
#change Added (desktop) platform abstraction for checking if UBT is running. Fully functional for Windows, WIP for Mac and Linux (should work, but can give false positives)
[CL 2302894 by Robert Manuszewski in Main branch]
Fixed CONSTEXPR definitions.
Converted EFontImportFlags to an enum class in order to test this feature.
#codereview robert.manuszewski,john.barrett
[CL 2254804 by Steve Robb 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]
FDesktopPlatformWindows::RegisterEngineInstallation was checking that creating the registry key had failed (rather than succeeded) before trying to add the value to the key.
ReviewedBy Ben.Marsh
[CL 2070177 by Jamie Dale in Main branch]
Whenever a blank engine association is read from a .uproject via GetEngineIdentifierForProject(), it checks up the directory hierarchy for an engine capable of loading it via its .uprojectdirs search directories. If found, it will use that engine's local identifier from the registry, or register it if it doesn't exist.
Setting a project's engine association to an engine which is capable of loading it via it's .uprojectdirs will cause it to write a blank engine association string into the .uproject (and triggering the behaviour above on open).
#codereview Michael.Trepka
[CL 2064463 by Ben Marsh in Main branch]