Commit Graph

144 Commits

Author SHA1 Message Date
louisphilippe seguin
848f3432c3 Iris
* Added NoResetNoValidate constructor to TBitArray :  used to construct a bit array with uninitialized memory.
* FReplicationPrioritization will only update dirty and relevant objects instead of all dirty objects

#rb Peter.Engstorm
#rnx

[CL 25651533 by louisphilippe seguin in ue5-main branch]
2023-05-26 15:49:46 -04:00
alex koumandarakis
d70c6217f9 Cache CVarNetEnableDetailedScopeCounters into global variable in order to prevent unnecessary work getting the CVar value every conditional scope cycle counter. Only record ReplicateCustomDeltaPropTime if object has any custom delta properties.
#jira none
#rb Mattias.Hornlund
#preflight 646e2cf664351d76f3a93a71

[CL 25604665 by alex koumandarakis in ue5-main branch]
2023-05-24 11:45:59 -04:00
louisphilippe seguin
652bd080ac NetBitArray
* Added InitAndCopy functions on FNetBitArray. Used to quickly construct a bit array from an existing source (either bitarray or bitarrayview)
* Added Set functions.  Used to overwrite the bitarray with the word operations of two other arrays.

#rb Peter.Engstorm

[CL 25380553 by louisphilippe seguin in ue5-main branch]
2023-05-08 19:08:58 -04:00
Steve Robb
cdf61a7e2b Removed operator new (TArray) usage from headers.
#rb james.hopkin
#jira none
#preflight 6454fcdc4574b81df4e18dc5

[CL 25353357 by Steve Robb in ue5-main branch]
2023-05-05 09:13:53 -04:00
lukasz furman
4290cfc4db fixed missing export markup
#rnx

[CL 25344543 by lukasz furman in ue5-main branch]
2023-05-04 18:35:26 -04:00
louisphilippe seguin
fe4400a016 Fix clang compile error and renable FScopedRPCContext
#rb trivial
#rnx

[CL 25344008 by louisphilippe seguin in ue5-main branch]
2023-05-04 18:13:31 -04:00
louisphilippe seguin
d9420e52cf Network
* Added FNetContext for user code to tell if inside a real network RPC or not
* Added support to FNetContext::IsInsideNetRPC in both Iris and legacy

#jira UE-184563
#rb Brian.Bekich, Lukasz Furman
#rnx

[CL 25340497 by louisphilippe seguin in ue5-main branch]
2023-05-04 15:19:07 -04:00
mattias hornlund
bca8fd0aac Iris
- Fixed bug where we did not immediately resend lost state for properties utilizing multiple changemask bits (arrays) until next time root property bit was modfied.
- Added testcase to catch this.

#rb Peter.Engstrom
#preflight 64512e821c2846595cb25a60

[CL 25314687 by mattias hornlund in ue5-main branch]
2023-05-03 02:46:34 -04:00
louisphilippe seguin
9b52039970 Iris
* Fix CombineMultiple when using two different WordOp functions
* Properly initialize FInternalNetRefIndex

#rb trivial
#rnx

[CL 25126379 by louisphilippe seguin in ue5-main branch]
2023-04-20 09:40:51 -04:00
louisphilippe seguin
47e5160c49 Fix template compile issues on clang
#rb trivial
#rnx

[CL 25087749 by louisphilippe seguin in ue5-main branch]
2023-04-18 11:48:58 -04:00
louisphilippe seguin
235a76b084 NetBitArray:
* Added IsBitSet
* Added CombineMultiple to run bit operations on two const bitarrays in 1 loop
* Added ToString that prints how many set bits the array currently has. Slightly expensive do not abuse with active logs.
* Added FNetBitArrayPrinter utility functions

#rb Peter.Engstorm, Mattias.Hornlund

[CL 25087720 by louisphilippe seguin in ue5-main branch]
2023-04-18 11:48:07 -04:00
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