Commit Graph

3201 Commits

Author SHA1 Message Date
Zousar Shaker
7505b21b96 Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Avoid an assert experienced when wrapped object pointers are used in named values via the StructuredArchive's FArchiveFromStructuredArchive adapter.  This change ensures that the wrapped pointers are serialized directly instead of through the adapter.  The groundwork for avoiding the adapter was already there, but what was missing was the operator necessary to convert from the templated TObjectPtr class to the private non-templated FObjectPtr base class used by serialization.  I suspect this same issue may also be happening for other types like TLazyObjectPtr which don't implement the necessary operator to convert to their private base type used in serialization.

#jira UE-106345
#rb devin.doucette
#fyi johan.torp

[CL 15162153 by Zousar Shaker in ue5-main branch]
2021-01-22 01:27:35 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Devin Doucette
daeebb2c6a Fixed string usage issues found by UE_NODISCARD
#rb Matt.Peters
#rnx

[CL 15158191 by Devin Doucette in ue5-main branch]
2021-01-21 15:34:44 -04:00
Per Larsson
68ef26c161 Extract package store interface from I/O store package loader
#rb PJ.Kack, CarlMagnus.Nordin
#jira none

[CL 15146443 by Per Larsson in ue5-main branch]
2021-01-20 14:04:27 -04:00
Zousar Shaker
1fc345b9cc Fixed naming of previously modified WrapperFF variable used in unit tests to WrapperFE. Also found second instance of the same FF pattern used for object references and changed it to FE.
#rb trivial
#fyi robert.manuszewski

[CL 15138045 by Zousar Shaker in ue5-main branch]
2021-01-19 14:51:32 -04:00
Patrick Enfedaque
9801500e76 Expose FoliageType placement properties to BP
#rb richard.malo
#fyi sjoerd.dejong

[CL 15135218 by Patrick Enfedaque in ue5-main branch]
2021-01-19 09:22:46 -04:00
danny couture
7f73c57724 Add some Insight tags for world partition commandlet
#rb JeanFrancois.Dube

[CL 15135158 by danny couture in ue5-main branch]
2021-01-19 09:02:21 -04:00
CarlMagnus Nordin
c565398bdd IoDispatcher: Added support for external backends
#rnx
#rb pj.kack, per.larsson

[CL 15134585 by CarlMagnus Nordin in ue5-main branch]
2021-01-19 04:39:56 -04:00
Zousar Shaker
9941c1dc09 Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Change the FObjectPtrProperty reflection type to derive from FObjectProperty type (instead of TFObjectPropertyBase) to avoid incompatibility with code that uses the reflection system to operate on specifically FObjectProperty fields.  Also removed the override of the GetID virtual method to allow ObjectPtr properties to have the same identifying name as Object properties.  This ensures there's no serialization incompatibility when moving between Object<->ObjectPtr or ObjectPtr->(Object compatible type) in the serialization and reflection code.

#jira UE-106329
#rb devin.doucette

[CL 15132777 by Zousar Shaker in ue5-main branch]
2021-01-18 17:46:22 -04:00
Matt Peters
310e942e61 SavePackage fixes:
1) Save1 had reversed condition around SetLoadedPath: it _should_ be done if IsMountedPath.
2) Save2 needs the calls to SetPersistentGuid and SetLoadedPath that were added to Save1.
#rb Francis.Hurteau
#rnx

[CL 15132572 by Matt Peters in ue5-main branch]
2021-01-18 16:53:31 -04:00
Zousar Shaker
0653acae69 Change the test object pointer value in the unit test named "AttemptToFindUninitializedScriptStructMembers" to avoid it being interpreted as a late resolved object reference when late resolve is enabled for wrapped object pointers.
#rb devin.doucette
#fyi robert.manuszewski

[CL 15131363 by Zousar Shaker in ue5-main branch]
2021-01-18 14:24:26 -04:00
Zousar Shaker
62aec8f4b0 Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Change cast of wrapped pointer to return raw pointer instead of wrapped pointer.  This is because the cast may return an IInterface instead of a UObject, and TObjectPtr<IInterface> is invalid and can result in some code (eg: access tracking) interpreting the pointer as a UObject, when that is not valid.  Could be modified in the future to return a wrapped pointer if the type being cast to is a UObject, and a raw pointer if the type being cast to is an IInterface.

#rb devin.doucette

[CL 15130801 by Zousar Shaker in ue5-main branch]
2021-01-18 11:48:49 -04:00
eric mcdaniel
6aa5357fea Speculative fix for licensee reported compile error on Xbox
I'm unable to repro a reported compilation issue on Xbox but CL 14587450 addressed the same issue for Hololens by adding a platform exclusion to these static asserts.  I've changed it to exclude all Microsoft platforms rather than be piecemeal.

#rb David.Harvey
#jira none

[CL 15106695 by eric mcdaniel in ue5-main branch]
2021-01-15 11:12:51 -04:00
Francis Hurteau
acbf2769c3 Re-enable Save2 by default for cooking
#rb trivial
#fyi Zousar.Shaker, PJ.Kack

[CL 15090192 by Francis Hurteau in ue5-main branch]
2021-01-14 14:51:15 -04:00
Zousar Shaker
b8f14f1e24 Mark TArray::Allocator to be deprecated with UE_DEPRECATED (instead of just by comment). Performed a blanket replacement of the term Allocator (whole word) in Array.h with AllocatorType. This affected TArray as well as other templates in Array.h
#rb steve.robb

[CL 15078807 by Zousar Shaker in ue5-main branch]
2021-01-13 22:28:54 -04:00
Matt Peters
407e11df1e Add GetAllocatedSize function to FDiskCachedAssetData, FPackageDependencyData and FLinkerTables to support measuring how much memory is used by AssetRegistry and AssetDataGatherer.
@rb Steve.Robb
#rnx

[CL 15039353 by Matt Peters in ue5-main branch]
2021-01-11 13:40:45 -04:00
PJ Kack
def70b8414 EngineTest System fixes when running with the new loader and iodispatcher.
#rb zousar.shaker, matt.peters, carlmagnus.nordin

[CL 15037561 by PJ Kack in ue5-main branch]
2021-01-11 11:17:58 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Tim Smith
3c24615072 Fixing PVS 7.7 Issues:
warning V1062: The 'XYZ' class defines a custom 'new' operator. The 'delete' operator must also be defined.

#rb steve.robb
#jira UE-91644

[CL 15019000 by Tim Smith in ue5-main branch]
2021-01-08 08:16:38 -04:00
Matt Peters
e77e3fc7ee Fix iostore builds not working:
If FPackageName::DoesPackageExist uses DoesPackageExistOverrideDelegate to find the package, it needs to set the extension to a special marker EmptyExtension, so that IPackageResourceManagerFile sends the filename without an extension to IFileManager rather than searching for one of the regular extensions.
#rb Francis.Hurteau
#rnx

[CL 15016768 by Matt Peters in ue5-main branch]
2021-01-07 19:54:51 -04:00
Matt Peters
6804e31b50 #jira UE-105077
Fix DirectoriesToAlwaysCook and DirectoriesToNeverCook not recognizing a path if it is the roots of a plugin content directory without a terminating / (e.g. /PluginRoot instead of /PluginRoot/).
Change all FPackageName functions that find the mount point for a filepath or packagename to find the mountpoint even if the input path is the root path of the mountpoint but without the terminating slash.
#rb Devin.Doucette
#rnx

[CL 15016718 by Matt Peters in ue5-main branch]
2021-01-07 19:49:04 -04:00
jack cai
66997cdc38 UObject: made ParseObject() redirect aware for a Control Rig Jira
#jira UE-104576

#rb helge.mathee marc.audy

[CL 14975279 by jack cai in ue5-main branch]
2021-01-04 11:19:34 -04:00
Marc Audy
f1c8402c96 Fix non-unity
[CL 14969798 by Marc Audy in ue5-main branch]
2020-12-31 14:45:42 -04:00
Devin Doucette
71dceab9c4 SharedBuffer: Rewrote SharedBuffer to make it easier to use, and support lazy materialization of the underlying buffer
- FUniqueBuffer has been added as a single-ownership mutable buffer.
- FSharedBuffer remains a shared-ownership buffer and is now always immutable. In addition to the factory functions that were available previously, it can be also be created by moving FUniqueBuffer.
- FSharedBuffer is now used directly rather than requiring several pointer and reference types.
- FWeakSharedBuffer has been added as a weak reference to a shared buffer, in place of the previous weak pointer types.
- FBufferOwner has been promoted out of FSharedBuffer and can be used for advanced buffer management, including lazy buffer materialization where allocating and/or populating the buffer may be deferred until the buffer is accessed.

#jira none
#rb Zousar.Shaker
#fyi Paul.Chipchase
#rnx

[CL 14939736 by Devin Doucette in ue5-main branch]
2020-12-16 12:20:24 -04:00
JeanFrancois Dube
4fcd35abd7 Also undef TEST_NAME_ROOT in Texture2D and BulkData tests.
#rb none

[CL 14918638 by JeanFrancois Dube in ue5-main branch]
2020-12-14 15:33:22 -04:00