Commit Graph

4403 Commits

Author SHA1 Message Date
jonathan bunner
dc7559b8ef Adding Optional Specialization for TNonNullSubclassOf
#preflight 632964ffb40000c8f0590121
[REVIEW] [at]Andrew.Scheidecker,[at]Marcus.Wassmer

[CL 22110102 by jonathan bunner in ue5-main branch]
2022-09-21 07:32:25 -04:00
CarlMagnus Nordin
df930de60e ZenLoader in editor: Remove garbage objects from linker export tables when notifying unreachable objects so that we don't end up with garbage objects in the import store
#rb pj.kack
#preflight 632ae9b19840225da2c50cc1

[CL 22109845 by CarlMagnus Nordin in ue5-main branch]
2022-09-21 06:47:50 -04:00
Per Larsson
53076ee403 Bulk Data - unit tests
#rb Paul.Chipchase
#jira none
#preflight
#rnx

[CL 22108256 by Per Larsson in ue5-main branch]
2022-09-21 00:53:46 -04:00
steve robb
0f8ee3b7d3 Undo //Fortnite/Main/Engine/Source/Runtime/CoreUObject/Public/Templates/... changelist 22101666
- seeing some unusual activity in AutoTest FastCook

#rb none
#preflight none

[CL 22108125 by steve robb in ue5-main branch]
2022-09-21 00:20:14 -04:00
jamie dale
b9856cb2c0 Added FCoreUObjectDelegates::OnPostInitSparseClassData, to allow extra initialization of sparse class data outside of the struct itself
#preflight 632a2361fc7f1efbdf5cdeaf
#rb Phillip.Kavan, Josh.May

[CL 22107990 by jamie dale in ue5-main branch]
2022-09-20 23:57:13 -04:00
steve robb
dfe41d84a4 Simpler Cast<> implementation, using std:: traits.
#rb devin.doucette
#preflight 63226c7e47741a7dbda3e483

[CL 22105296 by steve robb in ue5-main branch]
2022-09-20 19:33:44 -04:00
zousar shaker
4318185609 Ensure that FSimpleObjectReferenceCollectorArchive allows subclasses to override the UObject* overload of operator<< and that FObjectPtr overloads of operator<< redirect to the appropriate method in the derived type.
#rb joe.pribele
#rb nick.darnell
#jira UE-164443

[CL 22105286 by zousar shaker in ue5-main branch]
2022-09-20 19:33:23 -04:00
ryan gerleve
7e467430d8 Allow replicated FSoftObjectPtrs to resolve unstably-named objects on clients.
These now serialize a NetGUID tracked by the PackageMap, as other replicated references to objects do. Effectively acts as a weak pointer in the replication case now as well. Soft pointers to stably-named objects continue to replicate their string path.
Added EngineTest cases for replicated soft pointers.

#jira UE-144886
#rb brian.bekich
#preflight 632a22f6b40000c8f08c6e4d

[CL 22105246 by ryan gerleve in ue5-main branch]
2022-09-20 19:31:07 -04:00
brian bekich
b1f02dba0c Fix for push model fast arrays caching the wrong object
#jira UE-164321
#rb jon.fairchild, louisphilippe.seguin

[CL 22099534 by brian bekich in ue5-main branch]
2022-09-20 15:11:22 -04:00
nick darnell
f602862479 Core - Reverting the base type of FObjectProperty's FObjectPropertyBase to UObject* instead of TObjectPtr<UObject>, there's some range garbage collection issue this causes where things arent cleaned up in the expected fashion. This may be limited to script, but unsure. Working on it. Reverting for now to fix the EngineTest tests.
#jira UE-164443
[REVIEW] [at]Zousar.Shaker, [at]Joe.Pribele

[CL 22097502 by nick darnell in ue5-main branch]
2022-09-20 13:50:06 -04:00
per larsson
4549f92468 Bulk Data - crash fix for bulk data with wrong flags getting uploaded to DDC
#rb Paul.Chipchase
#preflight none
#rnx

[CL 22088631 by per larsson in ue5-main branch]
2022-09-20 00:48:35 -04:00
robert millar
9d74d688f9 Deprecate FNames containing full object paths.
#jira UE-161932
#rb none
#preflight https://horde.devtools.epicgames.com/job/6328da74331ace46b5c0c0f5?step=a789

[CL 22088586 by robert millar in ue5-main branch]
2022-09-20 00:46:13 -04:00
dave jones2
50533cba09 UE-145634 - Delegate fixup doesn't work when bound functions are not in the current BP
Another consequence of using doubles everywhere in Blueprints is that delegate binding can fail if a native delegate signature uses floats. The initial attempt at fixing this would update modify function pins in the current Blueprint to use PC_Float as a subcategory if it was used in a delegate binding. Unfortunately, this doesn't work if we're binding to a function in a different BP class. Attempting to fix up those functions would dirty several Blueprints, and likely confuse users.

The approach that we take here creates a proxy delegate function that matches the underlying signature. The proxy's function graph will then call the original bound function, which implicitly handles any double/float conversions. Additionally, we'll perform a "capture" of any actors that we need to call the bound function on. The compiler will add a new hidden property for the actor class, which we set in the original graph that had the bound delegate. The proxy function graph will then read this property when it calls the original function.

#jira UE-145634
#preflight 63191b1cb069eea9ab594ea2
#rb phillip.kavan

[CL 22087332 by dave jones2 in ue5-main branch]
2022-09-19 22:27:18 -04:00
carlmagnus nordin
9355c00328 EditorPackageLoader: Fixed issue with exports from already loaded uncooked packages not being registered in the import store
#rb pj.kack
#preflight 63284780ae4e65ae63c4da96

[CL 22084676 by carlmagnus nordin in ue5-main branch]
2022-09-19 19:49:50 -04:00
Matt Peters
97d33caf50 MeshDescription: In addition to applying the package's CustomVersions when deserializing MeshDescription out of BulkData, also apply the UEVersion and LicenseeUEVersion.
#jira UE-160855
#rb Richard.TalbotWatkin
#rnx
#preflight 63289253ea1c94f4c5e2fd67

[CL 22076022 by Matt Peters in ue5-main branch]
2022-09-19 13:01:00 -04:00
Mattias Hornlund
15ec8ac39e Iris
- Fixed issue where custom property overrides was not properly initialzied for iris if set before beginplay/beginreplication
- Cleaned up delegates propagating custom property overrides to iris-replicationsystem
- Marked interface methods in IRepChangedPropertyTracker to be deprecated in the future and added routing of SetCustomActive override via FNetPropertyConditionManager::SetPropertyActiveOverride to allow for future removal of the interface

#jira https://jira.it.epicgames.com/browse/UE-158358
#rb Peter.Engstrom
#preflight 63285ec98131e92d65975851

[CL 22072998 by Mattias Hornlund in ue5-main branch]
2022-09-19 08:51:23 -04:00
nick darnell
2920da6a0b Edits changed where the variable was accessible, adjusting that.
[CL 22064674 by nick darnell in ue5-main branch]
2022-09-16 21:00:59 -04:00
nick darnell
4f276666f9 Making GetPath public for TObjectPtr to satisfy existing uses.
[CL 22064659 by nick darnell in ue5-main branch]
2022-09-16 21:00:29 -04:00
nick darnell
6c7d81f099 Core - Updating low level ObjectPtr tests, the number of resolves from updating a SoftObjectPath from an ObjectPtr should be 0.
[CL 22064071 by nick darnell in ue5-main branch]
2022-09-16 20:29:04 -04:00
bryan sefcik
e5edfdd06d Added support to inline the gen.cpp files into the module cpp files.
This change does a few things:
* Improves compile times because the gen.cpp is inlined so less header parsing is required.
* Allows us to forward declare more types in the headers where we were not able to because the gen.cpp files did not have all the required headers included. The gen.cpp files required the header that generated it to include all the types because of the constructor and desructor in the gen.cpp need to know the full type.

#jira
#preflight 6323b43f8131e92d65aed1d9

[CL 22064061 by bryan sefcik in ue5-main branch]
2022-09-16 20:28:51 -04:00
nick darnell
4dc398d682 Fixing a COREUOBJECT_API being in the wrong spot on a struct for linux.
[CL 22064047 by nick darnell in ue5-main branch]
2022-09-16 20:28:05 -04:00
nick darnell
2a866db4f0 Core - Some more build fixes!
[CL 22064041 by nick darnell in ue5-main branch]
2022-09-16 20:27:52 -04:00
nick darnell
e4d61cb40a Removing some unused stuff from ObjectRefTrackingTestBase for builds with LOW_LEVEL_TESTS in them.
[CL 22064011 by nick darnell in ue5-main branch]
2022-09-16 20:27:03 -04:00
nick darnell
42c12e3776 Core - Adding support for getting the PathName from a ObjectPtr without resolving the Object*.
Core - Refactoring the Object Handle event callbacks so that we can hook and unhook them with delegates/delegatehandles.
Core - Adding support for detecting loads via object handles as a new event distinct from resolution callback.
Core - Expanding the utility functions on FObjectRef so that we can resolve it in a myraid of fashions to get the path, the class path, the full path and the export path.

[REVIEW] [at]Zousar.Shaker, [at]Joe.Pribele

[CL 22063982 by nick darnell in ue5-main branch]
2022-09-16 20:26:12 -04:00
nick darnell
4b6c70b5a6 Core - Changes the base CPPTYPE of FObjectProperty from UObject* to TObjectPtr<UObject>, this ensures that no matter how people access the value be it as a FObjectProperty or not, calling GetPropertyValue won't return a UObject* directly - which effectively would reinterpret cast a TObjectPtr, if it is one, and then if lazy loading is enabled would potentially result in a crash from trying to treat a non-pointer as a TObjectPtr.
Class - When iterating the classes sparse values, don't accidentally load deferred objects, or crash because you're reinterpret casting the value of something that isn't a pointer.

[REVIEW] [at]Zousar.Shaker, [at]Joe.Pribele

[CL 22063963 by nick darnell in ue5-main branch]
2022-09-16 20:25:31 -04:00