Commit Graph

140 Commits

Author SHA1 Message Date
Jaroslaw Palczynski
9703d22f63 Major HotReload fix.
[CL 2710850 by Jaroslaw Palczynski in Main branch]
2015-09-30 05:26:51 -04:00
Jaroslaw Palczynski
2c16d2b417 FStringAssetReference fixes.
All changes regarding e-mail discussion titled "Asset registry shenanigans".

Changes:
1. Engine now actively is getting rid of short asset paths in FStringAssetReference during saving (for all packages) and loading (only for older packages).
2. Deprecated direct access to FStringAssetReference.AssetLongPathname and exposed it via ToString and SetPath -- SetPath is making sure the path is in correct format. If the path can't be found on disk, the path is cleared.
3. Also access to FStringAssetReference.AssetLongPathnam via Blueprints is guarded using custom Make node function that uses SetPath instead of simple assign.
4. StringAssetReferenceMap will now contain only paths to packages (not objects) and ini references
5. GetDependencies now has additional parameter that lets you chose if it should resolve ini references or not. It was left not as default to keep old behaviour.

[CL 2630589 by Jaroslaw Palczynski in Main branch]
2015-07-23 10:49:29 -04:00
Jaroslaw Palczynski
e1308526b3 CIS fix. PortalPrototype needs some special compilation handling for hot-reload (#if WITH_ENGINE). Fixed.
[CL 2627759 by Jaroslaw Palczynski in Main branch]
2015-07-21 14:03:24 -04:00
Jaroslaw Palczynski
c0ec175019 UE-5946: Cannot compile/save BP after hot reload
[CL 2627395 by Jaroslaw Palczynski in Main branch]
2015-07-21 10:33:15 -04:00
Michael Noland
1da5922f73 HotReload: Checking in a speculative fix for CIS issues
#codereview Jaroslaw.Palczynski

[CL 2619400 by Michael Noland in Main branch]
2015-07-13 22:52:30 -04:00
Jaroslaw Palczynski
029c933d47 UE-18307: Hot reloading with a plugin in the project prevents the project from being able to save.
#codereview Robert.Manuszewski

[CL 2618000 by Jaroslaw Palczynski in Main branch]
2015-07-13 07:30:06 -04:00
Robert Manuszewski
80e99b7b60 Improving editor startup times by a few (3-4) seconds (that's 20%-30% in tested cases).
[CL 2598787 by Robert Manuszewski in Main branch]
2015-06-24 09:40:50 -04:00
Justin Sargent
273cde1704 Merging using UE4-To-UE4-LauncherDev
#platformnotify Josh.Adams

[CL 2581810 by Justin Sargent in Main branch]
2015-06-09 16:41:53 -04:00
Steve Robb
87c0faf865 Makefile is invalidated by .uproject file changes.
Change to makefile timestamp checks to use FileInfo instead of FileItem to avoid some time offset issues.
Misc cleanups in some module reload code.

#codereview robert.manuszewski,ben.marsh

[CL 2557832 by Steve Robb in Main branch]
2015-05-19 18:19:46 -04:00
Jaroslaw Palczynski
f065239148 UE-15366: Hot-reload crashes if you try to change and reload a default subobject's class.
#codereview Robert.Manuszewski, Maciej.Mroz, Ben.Zeigler

[CL 2553253 by Jaroslaw Palczynski in Main branch]
2015-05-15 14:07:44 -04:00
Robert Manuszewski
5a2d29850d Hot-reload will now always call ShutdownModule even when abondoning DLLs
[CL 2540682 by Robert Manuszewski in Main branch]
2015-05-07 03:23:51 -04:00
Maciej Mroz
ee6d70dfa1 UE-13981 Input pins of BP node are not updated after a hot reload
#codereview Robert.Manuszewski

[CL 2525773 by Maciej Mroz in Main branch]
2015-04-25 16:18:36 -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
843693898d Fixed issue in which the root component of an actor can be lost after hot reload if its class has changed.
#jira UE-11645 - Changing UPROPERTY() settings causes detail components to vanish in editor
#reviewedby Phillip.Kavan

[CL 2514339 by Richard TalbotWatkin in Main branch]
2015-04-16 11:43:50 -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
Maciej Mroz
9f4d26d152 UE-4871 Live: Crash when opening a blueprint who's component was edited in VS
Hot Reload reinstancer replaces old uclass.

#codereview Robert.Manuszewski, Nick.Whiting

[CL 2483400 by Maciej Mroz in Main branch]
2015-03-18 14:55:09 -04:00
Maciej Mroz
4ad81049dd UE-10163 If a custom code class is modified and a Hot Reload performed, any existing unsaved Blueprints derived from that class can no longer be saved.
References to hot-reloaded class are updated in blueprints (before recompiling and reinstancing).
I guess it could be optimized if necessary.

#codereview Robert.Manuszewski

[CL 2478024 by Maciej Mroz in Main branch]
2015-03-12 22:05:56 -04:00
Robert Manuszewski
1edd525fa1 Fixing hot-reload crashing when FStringAssetReference changes during hot-reload
[CL 2476721 by Robert Manuszewski in Main branch]
2015-03-12 09:27:03 -04:00
Robert Manuszewski
005749d028 Fixing ensures when performing hot-reload
#codereview maciej.mroz

[CL 2476709 by Robert Manuszewski in Main branch]
2015-03-12 09:15:15 -04:00
Dmitry Rekman
e7d1e64ee3 Changed calls to FProcHandle.Close() to FPlatformProcess::CloseProc().
We already had FPlatformProcess::CreateProc/CloseProc pair (which is part of larger set with WaitForProc(), TerminateProc(), GetProcReturnCode(), etc). FProcHandle::Close() made the API more confusing (and actually introduced bugs, because it did not call CloseProc() until recently).

#codereview Josh.Adams, Robert.Manuszewski, Jaroslaw.Surowiec

[CL 2476322 by Dmitry Rekman in Main branch]
2015-03-12 00:06:15 -04:00
Maciej Mroz
2e71ac300c UE-8677 Adding a protected component to a class and performing a hot reload can crash the Editor if a Blueprint already exists that is derived from that class
Overriden Archetype for old CDO while hot reloading.

#codereview Robert.Manuszewski

[CL 2472887 by Maciej Mroz in Main branch]
2015-03-09 15:41:53 -04:00
Robert Manuszewski
19ede68e7b Fixing hot-reload crash
#codereview Maciej.Mroz

[CL 2458548 by Robert Manuszewski in Main branch]
2015-02-24 11:28:59 -05:00
Maciej Mroz
934d3ed529 UE-9030 Compiling a BP super class (with a child instance in the level) crashes with REINST class mismatch
All children classes are recompiled before any object is reinstanced.

#codereview Nick.Whiting, Robert.Manuszewski

[CL 2451921 by Maciej Mroz in Main branch]
2015-02-19 13:32:52 -05: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
Robert Manuszewski
7112ac1376 Fixing hot-reload from IDE working only the first time. Added code to strip module suffix when checking module filenames.
[CL 2436695 by Robert Manuszewski in Main branch]
2015-02-07 04:01:23 -05:00