Commit Graph

3363 Commits

Author SHA1 Message Date
Tim Smith
0d25892ca9 Fixing issue with ScriptStructs and Enumerations appearing in the blueprint editor that have already been re-instanced. This resulted in a crash with ScriptStructs. Also fixed issue with changes to default values in a script struct not being refected in the blueprint nodes.
#rb marc.audy
#rnx
#jira UE-115768
#preflight 60a3a53aae0db00001ba6c8c

[CL 16365503 by Tim Smith in ue5-main branch]
2021-05-18 08:12:55 -04:00
cedric caillaud
813420587b revert changelist 16362369 as it breaks incremental cook
[CL 16362833 by cedric caillaud in ue5-main branch]
2021-05-17 21:11:20 -04:00
cedric caillaud
83e37ca39d Make sure FTransform are using native serialization in order to be compatible with LWC
#JIRA #UE-115540
#rb andrew.davidson

[CL 16362369 by cedric caillaud in ue5-main branch]
2021-05-17 20:15:57 -04:00
dave jones2
ece8a053f4 Removed unncessary FLinkerLoad::StaticInit.
This appears to be a really old holdover from early UE4 development. It was originally introduced in CL 1258792 to satisfy a lingering Engine dependency. However, that dependency was eventually removed in CL 3119255, which this change probably should've been lumped with.

#jira nojira
#rb marc.audy, robert.manuszewski

[CL 16351204 by dave jones2 in ue5-main branch]
2021-05-17 11:01:55 -04:00
JeanFrancois Dube
0ea2cd18cc Added support for PIE remapping of FLazyObjectPtr.
#jira none
#rb richard.malo
#robomerge Private-Frosty

[CL 16338184 by JeanFrancois Dube in ue5-main branch]
2021-05-14 20:38:04 -04:00
Tim Smith
f9d1032a62 Adding CLASSCAST flags for the new LWC property. It was acting as a numeric when used in an IsA<> test. This resulted in UHT accepting any numeric as a valid blueprint type.
#rb andy.davidson
#rnx

[CL 16330599 by Tim Smith in ue5-main branch]
2021-05-14 11:51:35 -04:00
brandon dawson
7a6494a236 Allow for time-sliced unhashing of uobjects when in the editor. All unhashing will still occur before streaming is continued, but async loading will provide additional time to the unhashing, allowing it to finish faster, but over a few frames.
[REVIEW] [at]Robert.Manuszewski [at]Nick.Whiting [at]Graham.Wihlidal
#jira UETOP-1620

#ROBOMERGE-SOURCE: CL 16329986 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v804-16311228)

[CL 16330069 by brandon dawson in ue5-main branch]
2021-05-14 11:15:55 -04:00
brandon dawson
b7b2f219d2 Do not perform a full GC flush in the editor when there is a gameplay level running.
[at]Robert.Manuszewski [at]Nick.Whiting [at]Graham.Wihlidal
#jira UETOP-1620

#ROBOMERGE-SOURCE: CL 16329979 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v804-16311228)

[CL 16330062 by brandon dawson in ue5-main branch]
2021-05-14 11:15:44 -04:00
Matt Peters
b90ea68f18 VirtualBulkData and EditorDomain: Do not update the PackagePath for VirtualBulkData if SavePackage is saving to a copy rather than updating the Package's PackagePath.
#rb Paul.ChipChase
#rnx

[CL 16328647 by Matt Peters in ue5-main branch]
2021-05-14 08:35:53 -04:00
Matt Peters
c4f74f8005 EditorDomain: Add list of ImportedClasses for each package to the AssetRegistry's FAssetPackageData.
#rb Johan.Torp
#rnx

[CL 16328609 by Matt Peters in ue5-main branch]
2021-05-14 08:30:09 -04:00
Matt Peters
b5a8a53c42 FPackageName::DoesPackageExist: downgrade ensurefailure+Error to a warning in the case that input LongPackageName is not mounted.
This ensure has been hit twice, and in both cases the calling code would have correctly handled the false return value, and we needed to alter it to avoid the ensure.
#rb Josh.Adams
#rnx

[CL 16324168 by Matt Peters in ue5-main branch]
2021-05-13 21:35:54 -04:00
ionut matasaru
b9ed7c5b33 Fixed errors re format string / parameter list for various UE_LOGs:
- number of supplied parameters less or more than the number of specifiers used in format string
  - invalid format string specifiers used

#rb Matt.Peters

[CL 16315056 by ionut matasaru in ue5-main branch]
2021-05-13 13:21:24 -04:00
justin hare
3f87ef7166 Updating a few deferred dependency verification checks to take FFieldVariants into account. These checks were only compiled if the USE_DEFERRED_DEPENDENCY_CHECK_VERIFICATION_TESTS build flag was enabled, and off by default.
#jira none
#rb phillip.kavan

[CL 16308031 by justin hare in ue5-main branch]
2021-05-12 19:28:07 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
Tim Smith
062ef03974 Fix to a prior live coding fix that would signal the reloaded blueprint objects as being invalid.
#rb
#rnx
#preflight 609be740053eed00010be92b

[CL 16300116 by Tim Smith in ue5-main branch]
2021-05-12 11:30:22 -04:00
RobertVater
6b04af6ace PR #7908: FPrimaryAssetID can now be serialized into a FArchive (Contributed by RobertVater)
#jira UE-115186
#preflight 609bc9978f6375000101480f

[CL 16298628 by RobertVater in ue5-main branch]
2021-05-12 09:45:16 -04:00
Richard Malo
79bcc1603d Added profile tag for FPackageName::DoesPackageExist
#rb none

[CL 16275484 by Richard Malo in ue5-main branch]
2021-05-11 13:42:34 -04:00
Patrick Enfedaque
79a9c3d7ee Optimize FPackageName::TryGetMountPointForPath by caching mount point absolute paths at creation time
#rb matt.peters

[CL 16271005 by Patrick Enfedaque in ue5-main branch]
2021-05-11 11:42:13 -04:00
Benn Gallagher
7f2e95997c Chaos: Fixing implicit type conversions where there could be data loss.
Mostly casting directly to the correct type but caught a few bugs in selected types that are now fixed)
Also made such conversions warnings within the Chaos and ChaosCore modules, may promote to error once we're sure it's buliding fine.
#rb cedric.caillaud
#jira UE-88355
#preflight 609a5e934cb94000015ae9f1

[CL 16268359 by Benn Gallagher in ue5-main branch]
2021-05-11 09:48:22 -04:00
JeanFrancois Dube
ed2bc29a82 Added profile tag in ProcessAsyncLoading.
#rb none

[CL 16266901 by JeanFrancois Dube in ue5-main branch]
2021-05-11 07:51:23 -04:00
JeanFrancois Dube
297dbada00 Don't try to resolve manually selected debug target if none.
Saves up to 8ms per frame running demo project in PIE.

#jira FROST-2548
#rb ben.zeigler

[CL 16266767 by JeanFrancois Dube in ue5-main branch]
2021-05-11 07:38:32 -04:00
paul chipchase
aef4aad935 Enabling the use of Virtualized BulkData api for both static meshes and textures. NOTE: This will not start virtualizing content data
This will cause the old bulkdata objects to be upgraded when loaded in the editor and saved out in the new format when the package is next saved.

#rb PJ.Kack
#rnx
#preflight 609a4df10ba7b600015e0da2

* UE5CookerObjectVersion
- Note that this work was done in CL 16266112 (it was easier to update this on the DevCooker branch)
- Moved UE_USE_VIRTUALBULKDATA to VirtualizationManager.
- Moved the virtualization versions to UE5MainStreamObjectVersion.
- Note that no package would have been saved with UE_USE_VIRTUALBULKDATA so it is safe to just move the versions.

* UE5MainStreamObjectVersion
- Added the virtialization versions here
- Fixed up some white space issues

* VirtualizationManager
- UE_USE_VIRTUALBULKDATA is now controlled from here.
- When disabled (set to 0) a new code path UE_VBD_TO_OLD_BULKDATA_PATH will be enabled that will attempt to allow packages saved with VBD to be reverted safely.
-- This requires that a new version be added to FUE5MainStreamObjectVersion, there is a static assert to warn people about this.

* VirtualizedBulkData
- Added a new method ::ConvertToOldBulkData which will load the VBD payload from disk and then pass it to the old bulkdata object provided. This is not as efficient as the OldBulkData->VBD path but is only provided as an emergancy way for us to back out if needed, we do not expect this code to actually be used.
- Fixed a bug where converting an empty bulkdata object to VBD would give a warning about invalid guids. If the provided bulkdata object is empty then it is likely that we will not have generated a unique guid for it anyway. A VBD object with no payload would expect to have an unset FPayloadId AND an invalid bulkdata identifier anyway so we can just do that and only warn in the case that a valid payload has no valid guid provided. This has a bonus of making the code easier to read as well.

* StaticMeshSourceData
- Updated MESHDATAKEY_STATICMESH_DERIVEDDATA_VER when UE_USE_VIRTUALBULKDATA is enabled again.
-- This probably isn't required but in theory some of our tests could've written mesh description data to the DDC with the old key, so we should update it to play it safe.

* Texture
- Converted to use FUE5MainStreamObjectVersion for it's version number
- Added a code path that will allow us to convert back to using old style bulkdata if UE_USE_VIRTUALBULKDATA is disabled and UE_VBD_TO_OLD_BULKDATA_PATH is enabled.

*MeshDescription
- Converted to use FUE5MainStreamObjectVersion for it's version number
-- Note that we don't have to tell the archive that we are using this because this was already happening.
- Added a code path that will allow us to convert back to using old style bulkdata if UE_USE_VIRTUALBULKDATA is disabled and UE_VBD_TO_OLD_BULKDATA_PATH is enabled.

[CL 16266408 by paul chipchase in ue5-main branch]
2021-05-11 06:28:45 -04:00
paul chipchase
def5860258 Clean up FUE5CookerObjectVersion/UE_USE_VIRTUALBULKDATA in preperation for enabling virtualized bulkdata.
- Moved UE_USE_VIRTUALBULKDATA to VirtualizationManager.h as it will no longer control versioning in any fashion.
- Remove virtualization versions from FUE5CookerObjectVersion (which were never enabled so this is safe to do)
- This is a partial extraction from the CL that will enable virtualized bulkdata but it will be easier to do some of the cleanup in DevCooker first and cherrypick to main then do a full merge up back to DevCooker to avoid a number of merging issues.
- Note that with this submit enabling UE_USE_VIRTUALBULKDATA will not work until the main submit to main, however nobody should be enabling that so it shouldn't matter.

#rb PJ.Kack
#rnx
#preflight 609a35e00fb8f20001688598
#ushell-cherrypick of 16265784 by paul.chipchase

[CL 16266112 by paul chipchase in ue5-main branch]
2021-05-11 04:42:24 -04:00
Martin Ridgers
e9e06de7cb Put a workaround in place for a limitation when using memory tracing with other systems, who may allocate memory while writing fields of events they trace. Havoc ensues.
#rb jt
#rnx

[CL 16247685 by Martin Ridgers in ue5-main branch]
2021-05-10 09:16:33 -04:00
Jamie Dale
b2714a5f29 Fixed FMemberReference::ResolveMember failing to resolve fields from a parent interface
This was due to TFieldIterator skipping interfaces by default, which is what the various FindField/Property functions use internally.

This change also cleans-up TFieldIterator so that you can control its behavior with a single flags value (rather than 3), via a new constructor that takes a EFieldIterationFlags value (now the default constructor), with the older-style EFieldIteratorFlags values being proxied from the older multi-parameter constructor.

#preflight 60947bffc6c42e0001298c56
#rb Marc.Audy

[CL 16238110 by Jamie Dale in ue5-main branch]
2021-05-07 11:17:07 -04:00