Commit Graph

17 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
Gareth Martin
55653ea8ec Feature request: Landscape "pattern" brush now has world-space settings
Also added FVector2D::GetRotated(degrees) and GConfig->Get/SetVector2D(...) as they were missing.

[CL 2418501 by Gareth Martin in Main branch]
2015-01-26 06:47:34 -05:00
Gareth Martin
d9e53f7b12 Optimized landscape editing significantly by removing the TMap of brush points and replacing it with a 2D array of data (FLandscapeBrushData class)
Most code accessing brush/landscape data by calculating indexes (e.g. Data + (Y-Y1)*XSize + (X-X1)) replaced with scanline[X] style for speed
LandscapeInfo->SelectedRegion is now only queried if it contains anything, to avoid hashing the key unneccessarily (the hash function was showing on profiles :( )
Smoothing tool's SmoothFilterKernel*Scale* replaced by the more intuitive Size
Component brush fixed to be properly centered on the cursor at odd sizes and work correctly with the add component tool when cursor is over the landscape (but part of the brush is off the landscape) and size is >1
Copy tool fixed to copy the selected area and not a circle when using ctrl+c
Also a few style cleanups. for (auto it = xyz.CreateIterator...) replaced with ranged for, enums replaced with enum classes, 0.f -> 0.0f, NULL->nullptr, etc.

[CL 2392355 by Gareth Martin in Main branch]
2014-12-18 06:52:06 -05: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
Mikolaj Sieluzycki
51f5333986 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356864 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:58:53 -05:00
Jaroslaw Palczynski
1b50963ccd Landscape module from Engine split out.
[CL 2331341 by Jaroslaw Palczynski in Main branch]
2014-10-16 05:16:44 -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
Jaroslaw Palczynski
65ba5d456f TArray documentation and a coupld of methods deprecation.
Changes mostly in Array.h. The changes in other files are only renames for deprecated functions.

[CL 2312616 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:23:44 -04:00
Marc Audy
07043e64e0 Convert uses of FActorIterator to TActorIterator where appropriate
[CL 2300029 by Marc Audy in Main branch]
2014-09-16 16:22:01 -04:00
Gareth Martin
7a46d1ff81 Allow undoing changes to the Landscape "New Landscape" panel
Fix crash when replacing material in the "New Landscape" panel with one with fewer material layers (or null)
Fix undo transactions for "interactive" changes (e.g. sliding sliders) so they don't flood the undo buffer with one transaction for every sub-step of the change

[CL 2256153 by Gareth Martin in Main branch]
2014-08-14 10:04:06 -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
Gareth Martin
88b1adac4f Add manual rotation option to landscape editor alpha brush
Fix bug in alpha brush that could read off the +X/+Y edges of the supplied texture

[CL 2228303 by Gareth Martin in Main branch]
2014-07-23 08:25:02 -04:00
Andrew Rodham
ba3528c9d4 Made it possible for asset editors to maintain their own FEditorModeTools lists
Breaking changes include:
    * Rename of GEditorModeTools -> GLevelEditorModeTools to signify that it applies only to the level editor modes
    * Addition of FEditorModeRegistry, responsible for managing and creating new editor modes. Modes are no longer registered with an instance of the mode, instead with a mode factory that is able to create a new mode of that type.
    * Editor modes now operate on FEditorViewportClients rather than FLevelEditorViewportClients
    * Added ability to specify an FEditorModeTools when creating an FEditorViewport

Moved component vizualiser manager handling outside of individual editor modes, and into FLevelEditorViewportClient. This should make it easier to transplant in future.

This work addresses TTP#334640 - EDITOR: Investigate making editor modes a per-'editor' concept

Reviewed by Michael Noland, Matt Kuhlenschmidt

[CL 2109245 by Andrew Rodham in Main branch]
2014-06-18 10:16:16 -04:00
Gareth Martin
f25478865e Fixed "Flatten to Target" for landscapes with a non-zero Z coordinate.
Fixed the flatten preview grid getting stuck on. Added a checkbox to toggle the display of the grid on/off.

[CL 2095768 by Gareth Martin in Main branch]
2014-06-05 12:12:55 -04:00
Gareth Martin
cc096d560f Remove landscape/foliage headers from Engine.h and include only where needed
[CL 2081860 by Gareth Martin in Main branch]
2014-05-22 07:52:43 -04:00
Mikolaj Sieluzycki
45c031d576 #ttp 331438 UE4: PlatformMath refactor
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski

[CL 2064306 by Mikolaj Sieluzycki in Main branch]
2014-05-06 06:26:25 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00