Commit Graph

27 Commits

Author SHA1 Message Date
Michael Trepka
d9b0436e33 Don't activate the Launcher on Mac when the editor starts if it's already running, but hidden
[CL 2318464 by Michael Trepka in Main branch]
2014-10-03 08:54:52 -04:00
Mark Satterthwaite
1e247fa0f9 Fix OS X system modal dialog input by setting a flag in MacApplication to indicate that a system modal dialog is active. We don't want to try handling any keyboard input in a system modal loop (the IME run-loop mode won't ever fire) and we need to allow blocks dispatched to the main thread to be executed in the NSModalPanelRunLoopMode.
#codereview michael.trepka

[CL 2311347 by Mark Satterthwaite in Main branch]
2014-09-26 14:32:24 -04:00
Robert Manuszewski
694e7ca807 Hot-Reload: Make sure hot-reload is waiting for new modules only when UBT from the current branch is running
#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]
2014-09-18 15:12:13 -04:00
Michael Trepka
da0d7fb3d2 Changed FDesktopPlatformBase::IsStockEngineRelease() to use FGuid::Parse() and updated Mac engine id generator to use EGuidFormats::DigitsWithHyphensInBraces
[CL 2274942 by Michael Trepka in Main branch]
2014-08-27 15:29:01 -04:00
Mark Satterthwaite
fa8c5a70fb Stop calling some game-thread code on the main-thread when opening the native open/save/font dialogs on OS X post thread separation.
#codereview michael.trepka

[CL 2262586 by Mark Satterthwaite in Main branch]
2014-08-19 11:21:24 -04:00
Mark Satterthwaite
8f351ac383 On OS X detach the game thread from the 'blessed' Cocoa main thread.
Cocoa isn't an event-polling API as UE4 expects, so previously we were subverting the NSApplication's event handling to pretend that it was. When the engine wasn't running the event loop fast enough, such as when loading where it isn't processed at all, this resulted in unresponsive windows and Spinning-Beachball-Of-Death. That isn't very satisfactory & to some users appears as if the application has crashed. To address these deficiencies without further attempts to subvert Cocoa, the game is now punted onto a separate thread where it can run its own tight-loop, leaving the main thread to handle the Cocoa event run-loop. Events are captured by delegate objects, as Cocoa requires, but dispatched and handled on the game thread which makes Cocoa appear more like other platform APIs to the higher-level UE4 code.
This can all be disabled using the MAC_SEPARATE_GAME_THREAD define in CocoaThread.cpp.
#codereview michael.trepka

[CL 2262543 by Mark Satterthwaite in Main branch]
2014-08-19 10:46:30 -04:00
Ben Marsh
f059fa0542 Always show the marketplace button if the launcher is installed (or can be installed from the installers in Engine\\Extras\\UnrealEngineLauncher).
#codereview Mike.Fricker, Michael.Trepka

[CL 2262476 by Ben Marsh in Main branch]
2014-08-19 09:54:22 -04:00
Steve Robb
57dd5d7493 New ENUM_CLASS_FLAGS macro for declaring all of the bitwise operators needed for a bitflags enum.
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]
2014-08-13 12:53:47 -04:00
Carlos Cuello
3d1660ea6d [INTEGRATE] UE4-LauncherRelease->UE4 integrate integrate latest from LauncherReleases, including fixes for various issues that we've released the past month, and the new engine slot and notification systems
[CL 2248562 by Carlos Cuello in Main branch]
2014-08-08 11:33:23 -04:00
Michael Trepka
5bd6255fde More Clang compile warning fixes
[CL 2237347 by Michael Trepka in Main branch]
2014-07-30 14:51:27 -04:00
Carlos Cuello
d2f797b853 [INTEGRATE] Merging using UE4-LauncherReleasesTo-UE4 all up to cl 2111815
[CL 2111984 by Carlos Cuello in Main branch]
2014-06-20 13:37:52 -04:00
Matt Kuhlenschmidt
cb140c07dc Merged GitHub pull request #202 to main.
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]
2014-06-17 16:16:40 -04:00
Mark Satterthwaite
3ef0bac6a7 Track and reset the key window when using the OS X open/save dialog otherwise it will steal focus and not return it.
#codereview michael.trepka

[CL 2104618 by Mark Satterthwaite in Main branch]
2014-06-13 11:09:48 -04:00
Ben Marsh
b4d4fe3f07 Add a Mac FFeedbackContext which shows the log window during slow tasks. Windows version displays a nice status message and progress bar, but this will do for now. Will be used to recompile out-of-date binaries on startup.
#codereview Michael.Trepka

[CL 2073573 by Ben Marsh in Main branch]
2014-05-14 18:56:27 -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
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
Michael Trepka
13d3f5bac7 Implemented FDesktopPlatformMac::RegisterEngineInstallation()
#codereview Ben.Marsh

[CL 2071541 by Michael Trepka in Main branch]
2014-05-13 10:10:18 -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
5d88ab6122 Updated UE4EditorServices binaries and compile fix
[CL 2054391 by Michael Trepka in Main branch]
2014-04-23 20:16:56 -04:00
Michael Trepka
df037b2070 Changed the path for temp project created by UE4EditorServices
[CL 2054390 by Michael Trepka in Main branch]
2014-04-23 20:16:45 -04:00
Max Preussner
c0a2d304b4 fixed UnrealEngineLauncher overwriting local P4 workspace files with files downloaded from the internet if launched through an Editor that was started with -Dev
[CL 2046896 by Max Preussner in Main branch]
2014-04-23 19:02:27 -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
5fd0385b6d CIS fix for mac.
[CL 2045899 by Ben Marsh in Main branch]
2014-04-23 18:48:24 -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