Commit Graph

23 Commits

Author SHA1 Message Date
Ben Marsh
61b3c655aa Add an additional check to determine valid engine directories, so running UnrealVersionSelector directly from the launcher installation folder won't register one there.
[CL 2239952 by Ben Marsh in Main branch]
2014-08-01 11:32:55 -04:00
Dmitry Rekman
435196963c Support for Linux in DesktopPlatform module.
- Part of PR #306 by amigo and #ue4linux folks.
- LinuxNativeDialogs on hold until clarified with the author (their Build.cs needs to be modified to add WITH_LINUX_NATIVE_DIALOGS=1).

[CL 2237890 by Dmitry Rekman in Main branch]
2014-07-30 23:26:47 -04:00
Ben Marsh
3bac51e396 Provide a proper error message if a file cannot be deleted during project upgrade, and fix offering to checkout the project file if necessary.
[CL 2227462 by Ben Marsh in Main branch]
2014-07-22 15:58:02 -04:00
Ben Marsh
1182bdb411 Remove the 'editor' suffix when recompiling a game project; we already specify -editorrecompile.
[CL 2187702 by Ben Marsh in Main branch]
2014-07-10 13:00:35 -04:00
Jamie Dale
0da4c45a14 The editor now sends a Machine ID and the last used Epic Account ID when started
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]
2014-06-23 05:11:34 -04:00
Ben Marsh
dbe3af585d Add a function to open a project file using the shell. Always opens as an Unreal.ProjectFile, preventing the user's default program selection from overriding it.
#codereview Nicholas.Davies

[CL 2109482 by Ben Marsh in Main branch]
2014-06-18 13:42:01 -04:00
Ben Marsh
bbb50ed66f Prevent log spam when scanning for projects from the project browser, and .uproject files have missing or empty EngineAssociation entries.
[CL 2100376 by Ben Marsh in Main branch]
2014-06-10 10:27:47 -04:00
Ben Marsh
980c593f55 Fix paths search for projects. FindFiles does not return names including the search path stem.
#codereview Nicholas.Davies

[CL 2095994 by Ben Marsh in Main branch]
2014-06-05 16:39:57 -04:00
Ben Marsh
2778867d5c Add a utility function for getting an engine's description from its identifier.
[CL 2095104 by Ben Marsh in Main branch]
2014-06-04 19:07:11 -04:00
Ben Marsh
034f01c732 Add a single codepath to enumerate projects for an engine installation, which can be shared with the launcher.
#codereview Nicholas.Davies

[CL 2095028 by Ben Marsh in Main branch]
2014-06-04 18:06:57 -04:00
Ben Marsh
89668b5397 [INTEGRATE] Everything from 4.2 branch back into main.
[CL 2088526 by Ben Marsh in Main branch]
2014-05-29 17:45:17 -04:00
Ben Marsh
bf6db427fe Fix generating project files for non-foreign projects.
[CL 2077834 by Ben Marsh in Main branch]
2014-05-19 13:08:08 -04:00
Ben Marsh
4cc9c102b6 Change detection of default engine for projects; just look for any valid engine directory up the hierarchy.
[CL 2074365 by Ben Marsh in Main branch]
2014-05-15 13:07:56 -04:00
Ben Marsh
39ddb49221 Clean binaries and intermediates before upgrading projects. Prevents stale build products, and allows detecting missing binaries on startup.
[CL 2073589 by Ben Marsh in Main branch]
2014-05-14 19:11:30 -04:00
Ben Marsh
661056258e Don't re-read launcher installation list if the timestamp hasn't changed.
[CL 2073301 by Ben Marsh in Main branch]
2014-05-14 15:20:39 -04:00
Ben Marsh
45ebc11eb9 Add native feedback context for Windows, and use it to display project file generation progress in UnrealVersionSelector. Also generate project files when switching versions.
[CL 2073201 by Ben Marsh in Main branch]
2014-05-14 14:53:19 -04:00
Ben Marsh
5b0771bf78 Improve project discovery in the project browser.
- All projects referenced by .uprojectdirs are included, rather than using a separate hard-coded list of paths.
- Samples installed by the launcher are included.

[CL 2072300 by Ben Marsh in Main branch]
2014-05-13 19:34:00 -04:00
Ben Marsh
6251d1c57e Change project 'upgrades' to be based on the format of the project file and nothing to do with engine version or association, and allow the UpdateGameProject commandlet to always write latest version information to the file.
[CL 2072245 by Ben Marsh in Main branch]
2014-05-13 18:23:53 -04:00
Ben Marsh
7c98d27edb Add engine support for the launcher installation list rather than manually parsing manifests.
#codereview Leigh.Swift, Michael.Trepka

[CL 2066876 by Ben Marsh in Main branch]
2014-05-08 08:20:34 -04:00
Ben Marsh
4b37f14c76 Incorporate support for non-foreign project handling into scheme used by UnrealVersionSelector et al, and automatically register engine installations whenever necessary.
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]
2014-05-06 10:27:35 -04:00
Michael Trepka
5b646dd288 New version of UE4EditorServices (Mac tool for opening uproject files etc.)
[CL 2046760 by Michael Trepka in Main branch]
2014-04-23 18:59:02 -04:00
Ben Marsh
ec684822c3 Updates to version selector.
* Lots of code moved into IDesktopPlatform for sharing with Launcher and Mac (including setting up file associations, querying project versions, etc...)
* Hack to enumerate all the known launcher engine installations. Does not use registry keys any more. Will probably change to use a list of installations generated by the launcher at some point soon.
* List of registered GitHub builds is stored in HKEY_CURRENT_USER
* Switching engine versions is now done through a dialog rather than through the context menu.
* VersionSelector includes a version number for shell integration, allowing it to defer to an existing installation of the same version if necessary.

#codereview Michael.Trepka

[CL 2045845 by Ben Marsh in Main branch]
2014-04-23 18:46:48 -04:00
Ben Marsh
8835780db3 Move functions for querying engine installations from Core to DesktopPlatform.
[CL 2044626 by Ben Marsh in Main branch]
2014-04-23 18:32:52 -04:00