29 Commits

Author SHA1 Message Date
joe pribele
f2b80ba74b added GetOuter and GetPackage to FObectPtr and TObjectPtr
changed how the Object Handle index stores info to be able to get the class of the outer objects
Packages dont' store a ObjectPathId or ClassDescriptor as it is always known

https://p4-swarm.epicgames.net/reviews/25378953
#rb zousar.shaker
#preflight 64791957e25209b6cbbb45fc

[CL 25747367 by joe pribele in ue5-main branch]
2023-06-01 18:45:09 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
kirill zorin
a58d329c4d Update TObjectPtr unit tests to assert against specific pointers (instead of all pointers) due to upcoming ARO changes.
#rb joe.pribele
#preflight 644ae1066638b912841d8bc1

[CL 25223794 by kirill zorin in ue5-main branch]
2023-04-27 17:20:13 -04:00
kirill zorin
448abc5841 Excluding relevant unit tests when mutable TObjectPtr containers are disabled
#rb zousar.shaker
#preflight 644a878c1c2846595c9d171a

[CL 25214999 by kirill zorin in ue5-main branch]
2023-04-27 11:06:53 -04:00
joe pribele
9f5fbe6b97 reducing the number of items in the array conversion tests as the 100k items was unnecessary
https://p4-swarm.epicgames.net/reviews/25165292

#rb devin.doucette
#preflight 6446f4a827014596f3952e7d

[CL 25172199 by joe pribele in ue5-main branch]
2023-04-24 17:46:08 -04:00
joe pribele
db7a692cc7 second attempt to fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fe5fc7ac6c61e2b553e9a9

[CL 24449378 by joe pribele in ue5-main branch]
2023-02-28 15:26:26 -05:00
joe pribele
6d1d492c29 [Backout] - CL24432584
#fyi joe.pribele
Original CL Desc
-----------------------------------------------------------------
fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af

[CL 24436160 by joe pribele in ue5-main branch]
2023-02-27 19:54:50 -05:00
joe pribele
bcc680cfa3 fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af

[CL 24432584 by joe pribele in ue5-main branch]
2023-02-27 16:37:45 -05:00
steve robb
4900d8a570 Replaced TModels traits class with TModels_V.
#rb devin.doucette
#preflight 63d3aabf5354589b5cd2343b

[CL 23889491 by steve robb in ue5-main branch]
2023-01-27 14:51:16 -05:00
joe pribele
e39d3ce7ef changed ObjectHandleTracking to use Functions instead of delegates as the performance of delegate is poor
https://p4-swarm.epicgames.net/reviews/23751084

#rb zousar.shaker
#preflight 63c9ae14d45afa2a8fc37d9d

[CL 23781117 by joe pribele in ue5-main branch]
2023-01-19 16:34:29 -05:00
joe pribele
eb2bb506e7 code cleanup of ObjectHandle
made ObjectPathId to private
trimmed down the public API as much as possible

https://p4-swarm.epicgames.net/reviews/23658342

#rb zousar.shaker
#preflight 63c5c8922a6acaf1625fcf25

[CL 23734208 by joe pribele in ue5-main branch]
2023-01-16 19:20:47 -05:00
joe pribele
cffacc0be5 support for TObjectPtr handling renames and GetTypeHash(TObjectPtr) no long has to resolve
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs

#rb zousar.shaker
https://p4-swarm.epicgames.net/reviews/23356491
#preflight 63b5de641c35d1cbdbccecf7
#preflight 63b70406e26e31879b8aa6d3

[CL 23589497 by joe pribele in ue5-main branch]
2023-01-05 12:27:16 -05:00
joe pribele
0f45c0a9d5 Undo //UE5/Main/Engine/... changelist 23416765
#preflight 638fed855c5308d18c157af0

[CL 23423019 by joe pribele in ue5-main branch]
2022-12-06 20:58:56 -05:00
joe pribele
115c3e1a0e support for TObjectPtr handling renames and GetTypeHash(TObjectPtr) no long has to resolve
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs
#preflight 638fad1b5624e6da5e166024

[CL 23416765 by joe pribele in ue5-main branch]
2022-12-06 16:27:20 -05:00
joe pribele
50cfdde358 [CoreUObject] changed to check for null in TObjectPtr.GetPathName()
#preflight 63643317de2c4dbb5d47122c

[CL 22968073 by joe pribele in ue5-main branch]
2022-11-03 17:47:24 -04:00
joe pribele
a1505d5477 [CoreUObject] compile fix for Linux.
moved test classes outside of namespace as that was causing problems for the compiler
#preflight 6356dcc73a547c3da332a751

[CL 22733737 by joe pribele in ue5-main branch]
2022-10-24 15:11:24 -04:00
joe pribele
fa12cd9a46 [CoreUObject] fix for TObjectPtr equals operator with multiple inheritance
resolved pointers where comparing uintptr_t instead of the raw pointers which allow for inheritance
#jira https://jira.it.epicgames.com/browse/UE-168013
#rb zousar.shaker
#preflight 6356c19a9e14ee3c795a2b6f

[CL 22731180 by joe pribele in ue5-main branch]
2022-10-24 13:12:36 -04:00
joe pribele
0574fc6d7a removed usage of TObjectPtr.IsNull and IsNullNoResolve
#rb zousar.shaker
#p4v-preflight-copy 22193787

[CL 22361481 by joe pribele in ue5-main branch]
2022-10-05 15:34:23 -04:00
zousar shaker
6503f197d5 Improve debugability of FObjectPtr/TObjectPtr by supplying a "DebugPtr" member on both that can be used to dereference resolved object references in debugger watch windows. This required changing TObjectPtr to not privately inherit from FObjectPtr, but to instead contain an FObjectPtr.
#rb devin.doucette
#rb matt.peters

[CL 22147494 by zousar shaker in ue5-main branch]
2022-09-22 18:18:37 -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
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
JeanFrancois Dube
f0a7eba632 Fix constructing a FSoftObjectPath from a FObjectPtr.
The original code was trying to build the path to the object without resolving it, but that seems impossible with redirectors, etc.

#rb zousar.shaker
#fyi semion.piskarev, ben.zeigler
#preflight 62acb7695d5264997e21fbfc
#rnx

[CL 20706268 by JeanFrancois Dube in ue5-main branch]
2022-06-17 13:41:41 -04:00
steve robb
fd2a0b1e20 Removal of TEXT literal concatenations, which doesn't work in UTF-8 mode.
#rb devin.doucette
#jira UE-132142
#preflight 62a8748fa76c84377748036b

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20647443 via CL 20648283 via CL 20648315
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20651786 by steve robb in ue5-main branch]
2022-06-14 12:46:34 -04:00
Zousar Shaker
4d894be5dd Make FObjectPtr/TObjectPtr default initialize to nullptr. Also added an ENoInit constructor if a caller wants them to be uninitialized.
#rb devin.doucette
#robomerge EngineMerge
#preflight 62a77c9ed068a796cb6d790a

[CL 20631308 by Zousar Shaker in ue5-main branch]
2022-06-13 14:26:05 -04:00
chris constantinescu
28111d40fc Redundancy cleanup in UBT Low Level Tests:
- test-specific targets and modules are constructed by RulesAssembly which removes a lot of spaghetti code
- no more excluding the Tests folder by default which is guaranteed to mislead users #fyi Jon.Nabozny
- test compilation in Tests is controlled through WITH_LOW_LEVEL_TESTS
- preparation code for switching tests between Catch2 / TestAutomation Fmwk

Nightly LLT PF 6260431391376845adeb4c40

#rnx
#preflight 62602d50dd47b4ad2173c30b

[CL 19834665 by chris constantinescu in ue5-main branch]
2022-04-20 14:24:59 -04:00