Commit Graph

36 Commits

Author SHA1 Message Date
Nick Darnell
ac05f885af Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

[CL 2754371 by Nick Darnell in Main branch]
2015-11-04 16:14:13 -05:00
Robert Manuszewski
f9c3143c7e Merging CL #2686175
Changing GetUObjectArray() -> GUObjectArray to avoid redundant function calls in places like weak pointers/GC/object iterators

[CL 2686461 by Robert Manuszewski in Main branch]
2015-09-10 11:58:41 -04:00
Matthew Griffin
12677cb830 Fixed various issues that were only showing up during the process of packaging a project from the editor
I think MainFrame can normally assume that generic commands have been registered by slate application but not in the case of a cook

#jira UE-17346

[CL 2621812 by Matthew Griffin in Main branch]
2015-07-15 11:16:31 -04:00
Michael Noland
fcab28a765 Editor: Added an ensure to the main frame to indicate when it is being incorrectly loaded in a -game build
If this ensure is hit in your game, you need to guard code that is editor-only via either the Editor module type, or checking IsRunningGame()

[CL 2612784 by Michael Noland in Main branch]
2015-07-07 15:48:07 -04:00
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
Richard TalbotWatkin
e0585d6a98 Added new constructor to FRootWindowLocation taking just a window size, and added new public method to determine the best screen location based on the window size and the current display metrics.
Made the Project Browser window a bit higher so it's clear that there's description text below the template image.
#jira UE-9085 - new project browser window clipping

[CL 2511581 by Richard TalbotWatkin in Main branch]
2015-04-14 09:07:48 -04:00
Robert Manuszewski
8fe5db30e3 Merging UE4-Streaming to UE4
- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.

Change 2410813 by Mikolaj Sieluzycki:
	Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
	Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
	Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
	Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
	Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
	Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
	AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
	Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
	Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
	Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
	Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
	Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
	Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
	Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
	Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
	Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
	Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
	Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
	Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
	Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
	Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
	Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
	Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
	Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
	Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
	Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable

[CL 2498249 by Robert Manuszewski in Main branch]
2015-04-01 03:03:18 -04:00
Todd Eckert
79e183780f Merging Dev->Main up to CL#2479653 using UE4-Fortnite-To-UE4.
*because of tons of changes, I will supply the changelists in the email because it was too large for this checkin*

[CL 2483008 by Todd Eckert in Main branch]
2015-03-18 10:12:32 -04:00
Matthew Griffin
a11dd1c9a9 [INTEGRATE] Change 2430066 by Jamie.Dale@Pitbull_JDaleReleases on 2015/02/03 11:54:22
Stopped the "Compiling C++ Code" message in the editor MainFrame always having a cancel button

	FModuleCompilerStartedEvent now passes a bool to say whether the hot-reload/compile operation is being run async, or whether it's blocking. We now only show the cancel button for async compiles, as the UI is otherwise blocked waiting for the compile to finish.

	Added a bWaitForCompletion input parameter to DoHotReloadFromEditor. This mirrors the RebindPackages API that DoHotReloadFromEditor internally calls, and prevents UPackFactory needing to perform a manual tick.

[CL 2437789 by Matthew Griffin in Main branch]
2015-02-09 06:44:30 -05:00
Richard TalbotWatkin
b047ebfd79 Removed source control icon from top-right of MainFrame.
#codereview Matt.Kuhlenschmidt

[CL 2411057 by Richard TalbotWatkin in Main branch]
2015-01-19 12:52:01 -05:00
Jamie Dale
a569f6b356 Fixed code relying on SLATE_TEXT_ATTRIBUTE for STextBlock.
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)

This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.

[CL 2399803 by Jamie Dale in Main branch]
2015-01-07 09:52:40 -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
Michael Trepka
3a68c44033 Fixed a problem with notification windows not accepting input on Mac if focus was changed to other notification window, causing Slate to think the previous one is no longer on top of the main window.
#codereview Mark.Satterthwaite

[CL 2347161 by Michael Trepka in Main branch]
2014-11-03 11:31:09 -05: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
Robert Manuszewski
96071afb2d Hot-reload: performing hot-reload when there's been no code changes will no longer result in producing new DLLs.
#ttp 345522: HotReload: Should not try to link DLLs when target is up to date

#change Added code to handle up-to-date state of modules in hot-reload code.
#change Added ECompilationResult::UpToDate and ECompilationResult::Canceled, ECompilationResult::Failed()
#change UBT: added -canskiplink command line param and support for skipping link actions when there was nothing to compile
#change extended the duration of re-compile notifications (TTP# 346604 NUXF-246 Hot compile fail message fades)
#change Added 'Compile Canceled' notification (instead of 'Compile Failed')

[CL 2302307 by Robert Manuszewski in Main branch]
2014-09-18 08:10:17 -04:00
Max Preussner
1dad4bfdb1 Editor: Grouped Editor Preferences, Project Settings and Plugin Editor into same tab window
[CL 2301420 by Max Preussner in Main branch]
2014-09-17 15:22:14 -04:00
Ori Cohen
250f4c537d visual polish on super search
[CL 2298778 by Ori Cohen in Main branch]
2014-09-15 17:27:50 -04:00
Ben Marsh
d591804587 Move hot reload functionality from Core into the HotReload module. Precursor to removing assumptions about IS_MONOLITHIC and supporting hybrid monolithic configurations.
[CL 2286426 by Ben Marsh in Main branch]
2014-09-05 12:46:22 -04:00
Matt Kuhlenschmidt
508e862ad5 Enable search for help by default
[CL 2284538 by Matt Kuhlenschmidt in Main branch]
2014-09-04 10:50:07 -04:00
Dan Oconnor
81fe6cf774 Files are now backed up when merge begins, merge window correctly docks with blueprint editor by default
[CL 2281474 by Dan Oconnor in Main branch]
2014-09-02 10:15:49 -04:00
Dmitry Rekman
11fc16e5ce Use SSpacer instead of NullWidget.
Advised by crackpots (NickA).

#codereview Nick.Atamas

[CL 2267005 by Dmitry Rekman in Main branch]
2014-08-22 01:22:01 -04:00
Mike Fricker
b678b51efd Added editor notification when automatic hot reload completes
[CL 2264535 by Mike Fricker in Main branch]
2014-08-20 13:58:31 -04:00
Andrew Rodham
1a1cc8ee53 Reworked the new project dialog
* Categorized templates into Blueprint/C++ templates and organized them into tabs
 * New categories can be specified in the templatedefs.ini file of a template project using a Category tag:
         Category=NewCategory
 * New category types can be registered with a proper description and icon in code through FGameProjectGenerationModule::RegisterTemplateCategory.
 * Added preview images to templates
 * Generally tidied the UI

This addresses TTP#321302 - EDITOR: Project Browser: Reduce Thumbnail size of Templates
Reviewed by Matt.Kuhlenschmidt

[CL 2260660 by Andrew Rodham in Main branch]
2014-08-18 06:48:04 -04:00
Dmitry Rekman
da83b33c64 Allow lack of UI support in SourceControl module.
This is currently needed for Linux where SourceControl is expected to work headless and thus does not normally depend on Slate. Should be solved differently.

#codereview Matt.Kuhlenschmidt, Nick.Atamas

[CL 2256415 by Dmitry Rekman in Main branch]
2014-08-14 15:46:44 -04:00
Andrew Brown
3e36a9b69e Added RecordEvent that takes a single FAnalyticsEventAttribute
Removed StartSession/RecordEvent that took multiple params (should use the array overloads instead), fixedup usage

[CL 2228325 by Andrew Brown in Main branch]
2014-07-23 08:25:14 -04:00