Commit Graph

132 Commits

Author SHA1 Message Date
peter engstrom
ee293a8abc Iris - Implemented FNetBitArrayConstRangeIterator. Can only be used in range-based for loops.
#jira UE-182125
#preflight 642ea5232546b26a38a4c422
#rb mattias.hornlund

[CL 24956618 by peter engstrom in ue5-main branch]
2023-04-06 16:58:18 -04:00
mattias hornlund
33248c3933 Fixed issue with NetTraceReporter encoding of bunchsize.
PR #9925: Fix net trace encoding bug (Contributed by cmsinflexion) + versioning fix to remains backwards compatible.

#jira UE-173134
#rb Peter.Engstrom
#preflight 641832a132723d4a20206fd8

[CL 24723740 by mattias hornlund in ue5-main branch]
2023-03-20 17:10:55 -04:00
Brian Bekich
63419858f5 Enabling UnsafeTypeCastWarningLevel for NetCore
#jira none
#preflight 6414df1842618c85c4d59f38
#rb ryan.gerleve

[CL 24697341 by Brian Bekich in ue5-main branch]
2023-03-17 17:56:14 -04:00
Brian Bekich
04fc85962d Support uint64 network object ids in traces
#jira UE-179190
#preflight 64134c808354cad0faacb99f
#rb mattias.hornlund

[CL 24689406 by Brian Bekich in ue5-main branch]
2023-03-17 10:46:49 -04:00
Brian Bekich
c962e8f6fc FNetworkGUID now supports uint64 values
#jira UE-93777
#preflight 6411f2f5352bd6a889f950a5
#rb peter.engstrom

[CL 24689288 by Brian Bekich in ue5-main branch]
2023-03-17 10:41:53 -04:00
peter engstrom
821fc0cdac Iris - Use own TUniquePtr instead of TlsAutoCleanup. Want to delete our thread buffer at times.
#rb mattias.hornlund
#preflight 6409adc8b0544ef0b4214767

[CL 24573638 by peter engstrom in ue5-main branch]
2023-03-09 06:35:07 -05:00
Brian Bekich
22219eef19 Deprecate replication pausing
#jira UE-123322
#preflight 64017bdeaa0042333575d77f
#rb ryan.gerleve

[CL 24499658 by Brian Bekich in ue5-main branch]
2023-03-03 11:19:54 -05:00
brian bekich
e30aa83b16 Deprecation cleanup
#preflight 63fcc737a134e0b059cb76fa
#rb ryan.gerleve

[CL 24427682 by brian bekich in ue5-main branch]
2023-02-27 13:28:40 -05:00
peter engstrom
43e1614b0d Added ELifetimeCondition COND_Dynamic support. Added unit tests for Iris and functional tests for replication system agnostic testing.
COND_Dynamic allows for a property to decide its actual replication condition after instantiation of the actor/component rather than be the same for all instances. The condition can be changed using the macros DOREPDYNAMICCONDITION_INITCONDITION_FAST, when used in the object's GetReplicatedCustomConditionState implementation, or DOREPDYNAMICCONDITION_SETCONDITION_FAST in any other place where it's appropriate to change the condition. If the condition is never modified, thus remaining COND_Dynamic, the property will always replicate when changed. It's possible to use the DOREPCUSTOMCONDITION_ macros too on properties with this condition.

#jira UE-122444
#preflight 63eb3ca1923476b686190e5a
#rb louisphilippe.seguin, ryan.gerleve, mattias.hornlund, brian.bekich

[CL 24307287 by peter engstrom in ue5-main branch]
2023-02-19 08:39:17 -05:00
mattias hornlund
81471643de FastArraySerializer is no longer allowed to modify state of Archetype or CDO when initializing base state as this lead to inconsistencies with assignment of ReplicationIDs
- Fixed issue with missing detection of items being marked dirty

#rb Peter.Engstrom, LouisPhilippe.Seguin
#preflight 63ecbb14e92f139c51f92523

[CL 24251446 by mattias hornlund in ue5-main branch]
2023-02-16 01:44:20 -05:00
ryan gerleve
dabaa00167 Fix or work around static analysis warnings/false positives in clang 15.
#jira UE-175017
#preflight 63d2f3135d0c0164cc400544
#rb brian.bekich
#lockdown jessica.agee

[CL 23950771 by ryan gerleve in ue5-main branch]
2023-02-01 12:02:55 -05:00
peter engstrom
2378e69c2b Iris - Detect if object becomes dirty during PreReplication
#jira UE-175195
#rb mattias.hornlund
#preflight 63d92c877a39a18021d90329

[CL 23928657 by peter engstrom in ue5-main branch]
2023-01-31 11:39:10 -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
steve robb
6a31618d42 Removed TIsSame from misc. engine files (part of a larger change to deprecate TIsSame).
#rb devin.doucette
#preflight 63c01cac8f4acc7b54d8832d

[CL 23678906 by steve robb in ue5-main branch]
2023-01-13 11:47:02 -05:00
peter engstrom
9eafc8f8d0 Removed incorrect WITH_PUSH_MODEL usage. The functionality is needed regardless of push model.
Fixed typo.

#rb mattias.hornlund
#preflight 63c12d05305002c641d7106d

[CL 23677848 by peter engstrom in ue5-main branch]
2023-01-13 10:47:55 -05:00
henrik karlsson
56431d6609 [CoreUObject/Core]
* Removed CoreMinimal.h include from a ton of headers all the way to Actor.h. This shaved off 15% of the compile time of small files that has uht markup.

#preflight 63b915baaf3ebedd9931496e
#rb none

[CL 23607296 by henrik karlsson in ue5-main branch]
2023-01-07 04:08:49 -05:00
bryan sefcik
b30383a834 Fixed compile issues found after moving module files around in the unity files.
Also added missing generated.h includes.

#jira
#preflight 639bbcb2776b61ba3b35a835

[CL 23535000 by bryan sefcik in ue5-main branch]
2022-12-15 19:56:15 -05:00
louisphilippe seguin
542bc934a2 Replicate SubObjects
* Added the possiblity to store registered subobjects via a WeakObjectPtr or a regular pointer
* Toggled by setting UE_NET_SUBOBJECTLIST_WEAKPTR.
* Default is to use weak pointers
* WeakObjects are useful in a context where some subobjects may get destroyed before getting unregistered which generally occurs on clients and PIE.
* Regular pointers are useful when you want to speed up the replication code and you know all your subobjects will be unregistered before getting destroyed. This is generally the case on dedicated servers.

#rb Brian.Bekich

[CL 23531433 by louisphilippe seguin in ue5-main branch]
2022-12-15 15:58:35 -05:00
Peter Engstrom
664647f4fb Fixed incorrect deprecation version.
#jira none
#rnx
#rb trivial
#preflight 639840f0c16855964d94f64a

[CL 23489511 by Peter Engstrom in ue5-main branch]
2022-12-13 04:27:48 -05:00
Peter Engstrom
92d822713c Iris - Delayed resetting of dirty changemasks until all systems have polled. Global dirty tracking via FReplicationStateHeader.
#review-23286410
#jira UE-169630
#rb mattias.hornlund, ryan.gerleve
#preflight 6388aae4e91f97ef3f743624

[CL 23349561 by Peter Engstrom in ue5-main branch]
2022-12-01 08:36:46 -05:00
mattias hornlund
7c44fea903 Fixed issue with GameplayEffectContext replicating reference to dynamic object that never will be replicated which prevents GameplayEffect from calling Owner->HandleDeferredGameplayCues(this) as bHasMoreUnmappedReferences would always be true.
Engine changes

#rb Peter.Engstrom,Brian.Bekich, Ben.Ziegler, Benjamin.Fox
#preflight 637741a0aa2fe2b05f7c9c97

[CL 23192023 by mattias hornlund in ue5-main branch]
2022-11-18 05:46:31 -05:00
Peter Engstrom
b4ad801e74 Iris - Implemented globally unique NetHandles.
#jira UE-158304
#preflight 637604bebf76990b711695dd
#review-id 22809226
#rb mattias.hornlund, ryan.gerleve

[CL 23174328 by Peter Engstrom in ue5-main branch]
2022-11-17 07:11:09 -05:00
mattias hornlund
04adc5e638 Iris
FastArraySerialzier
- PostReplicatedReceive is now always called after all calls to FastArrayDeltaSerialize on the receiving side

#rb Peter.Engstrom
#preflight 63724ce2953c19d435182d6d

[CL 23119728 by mattias hornlund in ue5-main branch]
2022-11-14 11:48:50 -05:00
mattias hornlund
34c4372a43 Added new parameter OldArraySize to FastArraySerializer::FPostReplicatedReceiveParameters containing the size of the fastarray prior the the last receive operation.
#rb Brian.Bekich
#preflight https://horde.devtools.epicgames.com/job/6371fc315368a3230a36c5c4

[CL 23116049 by mattias hornlund in ue5-main branch]
2022-11-14 06:03:45 -05:00
Zak Middleton
9149ed2129 #ue5 - Truncation fixes for misc engine headers and modules:
- GameplayMediaEncoder
- GameplayTasks

#jira UE-160833
#rb Andrew.Davidson
#preflight 6362aead876630122ab1dead

[CL 22990977 by Zak Middleton in ue5-main branch]
2022-11-04 13:48:41 -04:00