Commit Graph

14 Commits

Author SHA1 Message Date
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.

#codereview Robert.Manuszewski

[CL 2481343 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:38:32 -04:00
Jaroslaw Palczynski
fa31560e2d Enabled UHT to digest GENERATED_BODY instead of GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY, GENERATED_UINTERFACE_BODY or GENERATED_IINTERFACE_BODY, changed every occurence to the new syntax and fixed every warning that have fallen out of this change.
#codereview Robert.Manuszewski

[CL 2481333 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:19:11 -04:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Jamie Dale
f440490671 Converted the property editor to use FText
The display name, filter string, and tooltips for the property editor (and associated detail customizations) are now stored as FText rather than FString. This allows us to remove SLATE_TEXT_ARGUMENT from the detail customization widgets.

[CL 2372595 by Jamie Dale in Main branch]
2014-12-01 11:19:41 -05:00
James Golding
0e24fd667a Add include to fix non-unity Mac
[CL 2359890 by James Golding in Main branch]
2014-11-14 07:05:33 -05:00
James Golding
48a3c9b7f2 UE-4195 Make more use of GET_MEMBER_NAME_CHECKED when getting/checking properties by name
- Remove disabled/legacy 'bake and prune' functions/vars
UE-2968 Make FBodyInstance::bUseAsyncScene protected (add SetUseAsyncScene)
#codereview ori.cohen

[CL 2358393 by James Golding in Main branch]
2014-11-13 09:59:06 -05:00
Max Preussner
f41be7ca18 SettingsEditor: API improvements
- made public headers compilable individually
- moved interfaces to public root
- removed module singleton getter
- code and documentation cleanup

#UpgradeNotes:
- instead of ISettingsEditorModule::GetRef() use FModuleManager::GetModuleChecked<ISettingsModule>("SettingsModule")
- instead of including SettingsEditor.h include the interface headers you actually use

[CL 2340730 by Max Preussner in Main branch]
2014-10-27 07:53:55 -04:00
Max Preussner
9884344213 Settings: Various improvements to the API
- made public headers compilable individually
- easier access to settings section delegates
- removed module singleton accessor
- moved non-trivial definitions into cpp files
- code & documentation cleanup

#UpgradeNotes:

- instead of ISettingsModule::Get() use FModuleManager::GetModulePtr<ISettingsModule>("Settings")
- instead of using FSettingsSectionDelegates assign delegates directly through the new ISettingsSection methods

[CL 2340711 by Max Preussner in Main branch]
2014-10-27 07:53:18 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Michael Trepka
3733cda81c Fixed a crash on MacGraphicsSwitching initialization in commandlet mode.
#codereview Mark.Satterthwaite

[CL 2301312 by Michael Trepka in Main branch]
2014-09-17 14:11:55 -04:00
Mark Satterthwaite
cd5592a0d8 Try including file containing definition MacGraphicsSwitchingWidget relies on to fix non-unity CIS error.
#codereview michael.trepka, Frank.Gigliotti

[CL 2301064 by Mark Satterthwaite in Main branch]
2014-09-17 11:31:19 -04:00
Mark Satterthwaite
3670846fc0 Implement optional & off-by-default support for automatic graphics switching on OS X, rather than just relying on the OS, with a GUI plugin for the editor.
- The very large OpenGLMac file has been broken up:
     - MacOpenGLContext provides the FPlatformOpenGLContext wrapper around NSOpenGLContext & various helpers.
     - MacOpenGLQuery provides the GL_TIMESTAMP emulation wrappers.
- The OpenGL/DisplayMask ini setting specifies an explicit display mask for all contexts just as before.
- The OpenGL/RendererID ini setting specifies an explicit rendering device to use for all contexts, but this is just the initial setting.
- The OpenGL/bUseMultipleRenderers ini setting allows contexts to contain multiple GPUs & render windows using the GPU for the appropriate display, only useful for desktops with multiple GPUs, in this mode the explicit rendering device is only used for offscreen rendering. To qualify all GPUs must provide the same OpenGL version.
- The OpenGL/bAllowAutomaticGraphicsSwitching ini setting turns on automatic graphics switching support which allows for switching between discrete & integrated GPUs which provide the same OpenGL version.
- The r.Mac.ExplicitRendererID cvar allows changing the explicit rendering device used when is OpenGL/bAllowAutomaticGraphicsSwitching enabled, rather than the default which updates the contexts to use the online device, whatever that may be.
- Renderer dependent variables are updated whenever the renderer changes to ensure rendering consistency.
- The plugin provides an editor preferences panel & for laptops using bAllowAutomaticGraphicsSwitching a live drop-down in the LevelEditor window to select the current GPU.
#codereview michael.trepka

[CL 2300768 by Mark Satterthwaite in Main branch]
2014-09-17 06:25:07 -04:00