Commit Graph

3326 Commits

Author SHA1 Message Date
Francis Hurteau
23fbb14332 Disable Save2 in editor temporarily until recent reported problems are confirmed fixed.
#rb trivial
#fyi Matt.Peters

[CL 16143597 by Francis Hurteau in ue5-main branch]
2021-04-28 10:31:18 -04:00
PJ Kack
6d27dd246d Clang compile fix for 15735615 to avoid deprecation warning for FPackageFileSummary::Guid in implicit constructors
#jira none
#rb none
#rnx

#ROBOMERGE-OWNER: pj.kack
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 16139414 in //UE4/Release-4.27/... via CL 16139466
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Staging) (v789-15992632)

#ushell-cherrypick of 16142572 by pj.kack
#preflight 60895997f1a052000177199d

[CL 16143405 by PJ Kack in ue5-main branch]
2021-04-28 10:17:05 -04:00
Johan Torp
e21134f375 Optimize asset registry UpdateTemporaryCaches()
Saves 100ms in Engine::Init() w/o UAssetManager::Push/PopBulkScanning optimization and 35ms with it, measured on Gen5 for an internal project.

#rb matt.peters

[CL 16142419 by Johan Torp in ue5-main branch]
2021-04-28 07:53:44 -04:00
Marc Audy
3cfedaade8 Fix PVS warning V502 when comparing against NAME_None in a trinary
[CL 16137741 by Marc Audy in ue5-main branch]
2021-04-28 01:58:36 -04:00
Francis Hurteau
7cca09843e Add a way to set an output device to record error during linker save serialization
Error out when there is an error on the linker save during export serialization
LinkerSave will now set an error on the archive when a name is unable to be mapped and during serialization
Still run save cleanup for a package if errors are encountered

#rb Matt.Peters
#jira FROST-2374
#preflight 608882a038dfe40001edf3dd

[CL 16133989 by Francis Hurteau in ue5-main branch]
2021-04-27 18:25:03 -04:00
Jamie Dale
4afb7ce6bb Made EName an enum class to prevent implicit conversion to int
The following code would call the int overload rather than the name overload when passed an EName constant, which could easily lead to confusion and bugs:
    using FMyId = uint8;
    void DoThing(FName);
    void DoThing(FMyId);
    DoThing(NAME_Actor);

The change to use enum class requires that any code that actually deals with EName as an int (mostly internal name code and serialisation) be updated to explicitly cast, but prevents the implicit conversion that causes the issue above.

In order to preserve the NAME_X aliases that the old-style enum added to the global scope, new aliases have been added that point to the EName scoped versions. Unfortunately these can cause shadowing warnings if NAME_X is defined in the local scope, as the old-style enum used to allow that without shadowing, however there is no way to prevent this so we'll just need to fix any warnings that occur.

#rb Johan.Torp
#preflight 6087e06349a9840001414708

[CL 16126708 by Jamie Dale in ue5-main branch]
2021-04-27 10:11:18 -04:00
Matt Peters
c6e158a201 Reduce FName memory usage when saving thumbnails.
#rb Danny.Couture
#rnx

[CL 16123199 by Matt Peters in ue5-main branch]
2021-04-27 07:55:56 -04:00
Tim Smith
8b9fd4e009 Fixing ClassPrivate nullptr deref bug
#rb trivial
#rnx

[CL 16119070 by Tim Smith in ue5-main branch]
2021-04-26 17:31:30 -04:00
Tim Smith
5fb833c5c1 Added support for more arbitrary property changes to live coding.
1) Changed the pre/post compile notifications from module notifications to process commands.
2) Added server command to notify that we want re-instance patching (two phase)
3) Added support for two phase patching to enable re-instancing without all the limitations.
4) Added a null CDO check for old blueprint classes (approved by Phillip)

#rb ben.marsh
#rnx
#preflight 6086e3481046fb000183c2d4

[CL 16115620 by Tim Smith in ue5-main branch]
2021-04-26 12:49:25 -04:00
Matt Peters
384daee94f Fix SavePackage ensure that can occur if there is an Asset object in a package that is not the primary Asset and is not standalone.
#rb Francis.Hurteau
#rnx

[CL 16113956 by Matt Peters in ue5-main branch]
2021-04-26 10:12:58 -04:00
Marc Audy
38cdce1b97 Reenable ability to override native class from blueprint
Added a config variable to allow it to be turned off, but it will default to on.
#rb Phillip.Kavan

[CL 16095004 by Marc Audy in ue5-main branch]
2021-04-22 13:00:25 -04:00
Jamie Dale
00c1da79ba Removed selection annotations
These existed as an optimization for USelection to quickly know if an object was selected, without having to test its array. UTypedElementList has that optimization embedded, so at this point the selection annotations are just extra state to keep in-sync, and failure to do so has already lead to bugs.

This change removes them in the simplest way possible, by using a function pointer to callback into editor code from core/engine code (as core/engine cannot directly access the global selection state), though longer-term we probably want to remove IsSelected/IsSelectedInEditor from UObject and let specific systems provide that functionality if they need it (eg, AActor/UActorComponent could provide it by getting the selection set from the owner world, rather than the global state).

#rb Brooke.Hubert
#preflight 607de942e7a5ac0001a6b7d6

[CL 16075785 by Jamie Dale in ue5-main branch]
2021-04-21 12:38:24 -04:00
Matt Peters
3a33553aad Fix AsyncLoadPackage's error handling to call the completion delegate with the requested package name instead of NAME_None when the packagename is invalid.
#rb CarlMagnus.Nordin
#rnx

[CL 16061452 by Matt Peters in ue5-main branch]
2021-04-20 10:47:23 -04:00
JeanFrancois Dube
d4d70ef880 Always load all imports in editor builds, including -game.
#jira UETOP-406, UETOP-1042, UETOP-1045, UETOP-1046
#rb zousar.shaker

#ROBOMERGE-OWNER: JeanFrancois.Dube
#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 16051188 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
#ROBOMERGE-CONFLICT from-shelf

[CL 16053109 by JeanFrancois Dube in ue5-main branch]
2021-04-19 14:17:37 -04:00
Jamie Dale
d5aee0838d Removed direct use of GSelectedObjectAnnotation
- Added a way for UEdGraphNode_Comment to override its global editor selection state.
 - Updated UControlRigGraph to use that method, rather than directly adjust GSelectedObjectAnnotation.

#rb Brooke.Hubert

[CL 16052224 by Jamie Dale in ue5-main branch]
2021-04-19 12:59:49 -04:00
Johan Torp
b5d82b47e4 Remove ~0.9M of ~4M allocations during startup of an internal demo project
Allocations came from ULevelStreamingDynamic::PostLoad()  -> IsValidStreamingLevel() -> FPackageName::DoesPackageExist() -> TryConvertToMountedPathComponents()

#rb matt.peters

[CL 16050266 by Johan Torp in ue5-main branch]
2021-04-19 09:36:33 -04:00
PJ Kack
50cd6737f9 AsyncLoading2: Improve overlap of ALT and GT work for data sets with expensive PostLoad to reduce wall times when flushing async loading.
Interleave polling of packages in external read queue with processing of normal work queue nodes.

#rb per.larsson, carlmagnus.nordin
#rnx

[CL 16049103 by PJ Kack in ue5-main branch]
2021-04-19 05:52:42 -04:00
Thomas Sarkanen
d2f5d8d1ae Sparse class data changes to allow compiler-generated structs to be used
Changes to serialization to add a serialized reference to the struct and properly specify dependencies.
Use TPropertyValueIterator to recover nested UObject* for GC.
Make sure to use struct wrappers rather than CppStructOps for init and destruction.
Fix cleanup call from SetSparseClassDataStruct to only set the new struct AFTER destrUctors etc. have been called.

#rb Fred.Kimberley,Jurre.deBaare

[CL 16048941 by Thomas Sarkanen in ue5-main branch]
2021-04-19 04:54:20 -04:00
Chris Varnsverry
16230185c0 - Merge CL's 15977926, 15978323, 15978393, 15978401 and 15981176 from //UE5/RES to //UE5/Main
- Moves CoreOnline headers into their own module

#jira UE-113427
#fyi Matt.Peters
#tests built EdTest, QAGame, and one internal project in DevEd Win64

[CL 16036320 by Chris Varnsverry in ue5-main branch]
2021-04-16 13:16:39 -04:00
mark lintott
c936fc3c84 Removed more references to UE5
#rb trivial

[CL 16018787 by mark lintott in ue5-main branch]
2021-04-15 03:49:09 -04:00
mark lintott
2fa0ec20f0 Removal of UE4 references from code base
#rb trivial

[CL 16005742 by mark lintott in ue5-main branch]
2021-04-14 11:13:44 -04:00
Matt Peters
88e49f4c4b Add IsRedirector static to FAssetData to prevent the need to create FAssetData from an object just to call IsRedirector on it.
[CL 16005044 by Matt Peters in ue5-main branch]
2021-04-14 10:13:21 -04:00
Matt Peters
7b37d28361 Make UE::AssetRegistry::Filtering work on provided containers so that the upcoming threadsafe AssetRegistry can use its own threadsafe data for the queries.
#rb Dave.Belanger
#rnx

[CL 16005018 by Matt Peters in ue5-main branch]
2021-04-14 10:11:49 -04:00
mark lintott
bd61859350 #jira 112822
#rb johan.torp
Removal of UE4 references in Archive.h

[CL 16002350 by mark lintott in ue5-main branch]
2021-04-14 05:14:13 -04:00
Johan Torp
05d8fbeea3 Reduce EDLBootNotificationManager allocations during early editor startup
#rb matt.peters

[CL 15987949 by Johan Torp in ue5-main branch]
2021-04-13 07:38:30 -04:00