Commit Graph

62 Commits

Author SHA1 Message Date
Matt Kuhlenschmidt
83b7904d16 Prevent spamming of checkout notifications when cooking in the editor.
[CL 2596087 by Matt Kuhlenschmidt in Main branch]
2015-06-22 16:29:03 -04:00
Daniel Lamb
c7ab70a799 Added initial support for multiprocess cooking.
[CL 2588827 by Daniel Lamb in Main branch]
2015-06-16 12:43:26 -04:00
Andrew Rodham
93e71b9e6a Unified asset import data across all asset types.
The majority of asset reimport machinery is now held within UAssetImportData and FAssetImportInfo. This change allows us to remove the CachedAssetsBySourceFileName map from FAssetRegistry that was previously added to support auto reimport for 4.7.

The functionality of CachedAssetsBySourceFileName has been wrapped up in FAssetSourceFilenameCache, which sits on top of the asset registry in the editor.

This unification allows us to also consistently store the file timestamps and MD5 hashes of imported files. This subsequently allows auto-reimports to be ignored where a source content file has not actually changed (its MD5 is the same).

This addresses UETOOL-365 - Rework AssetRegistry changes to support auto-reimport

[CL 2567286 by Andrew Rodham in Main branch]
2015-05-27 16:16:21 -04:00
Daniel Lamb
b630f05e37 Promoted cook on the side out of experimental
[CL 2540123 by Daniel Lamb in Main branch]
2015-05-06 18:04:18 -04:00
Daniel Wright
f3f3065257 Fix compile error
[CL 2529606 by Daniel Wright in Main branch]
2015-04-28 21:04:50 -04:00
Daniel Wright
5df55103fb Workaround NULL PackageAutoSaver
#codereview Matt.Kuhlenschmidt

[CL 2529387 by Daniel Wright in Main branch]
2015-04-28 18:50:01 -04:00
Matt Kuhlenschmidt
430fca64f8 Avoid compressing textures when autosaving
[CL 2527129 by Matt Kuhlenschmidt in Main branch]
2015-04-27 12:57:02 -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
Daniel Lamb
c4d19e0047 Enabled compression for cooked packages in launch on.
[CL 2514399 by Daniel Lamb in Main branch]
2015-04-16 11:56:06 -04:00
Mikolaj Sieluzycki
a96989f147 Add includes to files to remove the need of including Engine.h.
[CL 2508000 by Mikolaj Sieluzycki in Main branch]
2015-04-10 03:30:54 -04:00
Andrew Rodham
e22b15ad9a Detecting content changes for auto-reimport on restart now defaults to 'on'.
We also now pop up a warning explaining that this behaviour might be undesirable when running source control, giving the user the option to disable it.

[CL 2499711 by Andrew Rodham in Main branch]
2015-04-02 07:42:21 -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
Daniel Lamb
31c0c8f28b Launch on was being very conservitive when selecting not to use cook in editor.
Also switched over to using correct platform ini file for checking mobilehdr setting.
#codereview Josh.Adams, Peter.Sauerbrei

[CL 2478664 by Daniel Lamb in Main branch]
2015-03-13 12:27:30 -04:00
Ben Marsh
0dd7eaebff Add a specific "compatible with engine version" field to the package file summary, to make it possible to share packages between Rocket and Perforce builds in hotfixes.
[CL 2475326 by Ben Marsh in Main branch]
2015-03-11 13:18:45 -04:00
Gil Gribb
35cf42566a UE4 - merge GDC branch, code @2465640 to main
[CL 2468685 by Gil Gribb in Main branch]
2015-03-04 08:31:40 -05:00
Matthew Griffin
3b2617e3f0 [INTEGRATE] Change 2432851 by Michael.Noland@mnoland-T2784-Reference on 2015/02/04 21:02:59
Editor: Add UActorComponent and USceneComponent to the class picker list of parents for Blueprints [UE-8915]
	- Removed junk code for localizing the existing ini entries, switching to GetDisplayNameText and short tooltips instead
	- Add UActorComponent and USceneComponent to the list (gated by the experimental Blueprintable components flag)
	- Optimized the vertical screen usage of SClassPickerDialog for the BP parent picker case, keeping it visible in minspec monitors

[CL 2438275 by Matthew Griffin in Main branch]
2015-02-09 12:00:06 -05:00
Mikolaj Sieluzycki
fa01cacb6c Trim down the amount of UObject constructors.
#codereview Robert.Manuszewski

[CL 2429641 by Mikolaj Sieluzycki in Main branch]
2015-02-03 05:40:57 -05:00
Andrew Rodham
dcab7c4f87 Auto reimport manager no longer operates when there is no project path set
[CL 2427972 by Andrew Rodham in Main branch]
2015-02-02 06:39:48 -05:00
Daniel Lamb
d7d6a4c9bc Cook in editor checks to see if cvars have changed (mobilehdr) before allowing cook in editor to be active.
[CL 2424553 by Daniel Lamb in Main branch]
2015-01-29 17:25:52 -05:00
Ben Marsh
bffeb80a9a [INTEGRATE] Change 2412028 by Andrew.Rodham@AndrewRodham_4.7 on 2015/01/20 07:02:45
Added automatic content monitoring for all mounted content directories

	Modifications to source content files that reside inside these folders will now automatically be reimported, if they relate to an asset.
	New files will also be automatically imported, and deleted files will prompt the user to delete associated assets.
	The feature is currently disabled by default, and enabled in Editor Preferences / Loading and Saving.

	Notable features still todo/refine:
	 * Source files rename currently process as a delete/add
	 * Slow task dialogs need work. We can hopefully get it running in the background / asynchronously over multiple frames
	 * Batch operations need work
	 * Profiling/optimisation
	 * Various message boxes/dialogs need some refinement
	 * Asset import factories that are dynamically loaded/unloaded will not be picked up by the import manager. Need to figure out a good way of fixing this.

[CL 2419400 by Ben Marsh in Main branch]
2015-01-26 18:20:53 -05:00
Daniel Lamb
e5a5d6f4dd Added support for launch on to use cook on the fly when experimental option is enabled.
#codereview Peter.Sauerbrei

[CL 2410942 by Daniel Lamb in Main branch]
2015-01-19 10:58:46 -05:00
Richard TalbotWatkin
a751094533 Introduced an "auto checkout" mode to the editor preferences. Warns when assets which cannot be checked out are edited. Changes to the SPackagesDialog to make it more verbose and include tooltips.
#jira UE-6384 - Source Control: Optional check-out on edit can cause work to be lost

[CL 2403502 by Richard TalbotWatkin in Main branch]
2015-01-12 11:19:17 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -05:00
Zak Middleton
e95939ba24 #ue4 - Convert all engine uses of GetComponents() to use TInlineComponentArray.
[CL 2393060 by Zak Middleton in Main branch]
2014-12-18 17:02:31 -05:00
Daniel Lamb
2976055870 Added support for creating releases which can be used to base dlc off.
Added support for basing dlc cooks of releases.
Stopped auto save while cooking in editor.
Removed unneeded package file stamp checks from SaveCookedPackage.
Rewrote Ini version settings checking so that it works from cook in editor.
Fixed up cleaning sandboxes so that it runs each time you start cook by the book (a little slower but more correct).
#codereview Peter.Knepley, Marcus.Wassmer

[CL 2383470 by Daniel Lamb in Main branch]
2014-12-10 10:12:47 -05:00