Commit Graph

42 Commits

Author SHA1 Message Date
peter engstrom
6753dbebdb Iris - Packed 64-bit integer serialization support.
#jira UE-179180
#rb mattias.hornlund
#preflight 6405ef2bde14c9e34b688b3a

[CL 24522642 by peter engstrom in ue5-main branch]
2023-03-06 10:29:57 -05:00
ryan gerleve
606f5545df Fix or suppress some warnings and errors in ReplicationSystemTestPlugin.
#jira UE-178241
#rb mattias.hornlund

[CL 24404830 by ryan gerleve in ue5-main branch]
2023-02-24 13:42:48 -05:00
louisphilippe seguin
75e3dfc0f5 Fix ensures about fragmentless netobjects in ReplicationSystemTests
#rb Ryan.Gerleve

[CL 24386316 by louisphilippe seguin in ue5-main branch]
2023-02-23 14:32:38 -05:00
ryan gerleve
d66296401e Fix some macros in ReplicationSystemTestPlugin.
#jira UE-166991
#rb peter.engstrom

[CL 24368918 by ryan gerleve in ue5-main branch]
2023-02-22 16:05:27 -05:00
louisphilippe seguin
45406ec8aa Iris
* Removed calls to empty Super::RegisterReplicationFragments in base classes
* This amounted to a dangerous pattern where users expect the Super call chain to be respected by all classes.
* But in fact the call chain should stop at the first call to CreateAndRegisterFragmentsForObject.
* If another class overrides and calls CreateAndRegisterFragmentsForObject itself, it should never call the Super.

#jira UE-175033
#rb Jon.Fairchild

[CL 24344194 by louisphilippe seguin in ue5-main branch]
2023-02-21 13:27:03 -05:00
Ryan Gerleve
5ad3ab4ab3 Fix some include paths in ReplicationSystemTestPlugin.
#jira none
#rb LouisPhilippe.Seguin
#preflight 63f4eca27064074bd8298c2f

[CL 24340776 by Ryan Gerleve in ue5-main branch]
2023-02-21 11:20:22 -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
christopher waters
73c74eaf42 Removing redundant include paths:
- PublicIncludePaths.Add(ModuleDirectory + "/Public");
- PrivateIncludePaths.Add("<module name>/Private");

#preflight 63ef03623c1eb56f057db7de

[CL 24285283 by christopher waters in ue5-main branch]
2023-02-17 12:45:29 -05:00
ryan gerleve
f53af902f2 Fix missing macro errors in ReplicationSystemTestPlugin, use a custom macro to indicate whether it's building with low level tests.
#jira UE-166991
#rb none
#preflight skip
[FYI] peter.engstrom
#rnx

[CL 24200198 by ryan gerleve in ue5-main branch]
2023-02-13 21:22:03 -05:00
ryan gerleve
77e3a73de8 Make the tests in ReplicationSystemTestPlugin compatible with the LowLevelTests framework.
Original ReplicationSystemTest program using the automation framework still works too.

#jira UE-166991
#preflight 63ea833dec50523134e8aee1
#rb peter.engstrom

[CL 24197467 by ryan gerleve in ue5-main branch]
2023-02-13 20:09:19 -05:00
ryan gerleve
5b45ec5b54 Add missing enum underlying type.
#rb trivial
[FYI] peter.engstrom, mattias.hornlund

[CL 24197393 by ryan gerleve in ue5-main branch]
2023-02-13 20:07:43 -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
peter engstrom
d0806c1a43 Iris - Don't destroy subobjects that we didn't new and actors we're not allowed to.
This fixes various crashes related to deleting default subobjects and such.

#jira UE-174664
#rb mattias.hornlund
#preflight 63cfeb52d83c1837b1974232

[CL 23831933 by peter engstrom in ue5-main branch]
2023-01-24 11:24:58 -05:00
mattias hornlund
7683177063 Iris
- Fixed bug when Tearing off objects with no replicated state data.
- Fixed bug where subobject owner would not be marked dirty when we dropped creation info for SubObject which then would not replicate until the next time owner was marked dirty.
- Fixed bug where client could get a bitstream error if we got a replicated destroy for a not yet created SubObject
- Updated tests
- Fixed issue with NetTrace not working propertly with ReplicationSystemTest program

#rb Peter.Engstrom
#preflight 63ce9200ef20a5272d87d66d

[CL 23814990 by mattias hornlund in ue5-main branch]
2023-01-23 12:22:11 -05:00
mattias hornlund
4353d130d8 Iris
- Implemented delta variant of WriteSparseBitArray

#rb Peter.Engstrom
#jira UE-169146
#preflight n/a

[CL 23771211 by mattias hornlund in ue5-main branch]
2023-01-19 05:06:22 -05:00
peter engstrom
ca50b9a329 Iris - Fixed bug with splitting very large NetBlobs, larger than 128KiB.
Thanks to Timur Davidenko for reporting the issue.

#rb mattias.hornlund
#preflight 63c7bc1ffb1a8cf2459ca003

[CL 23754046 by peter engstrom in ue5-main branch]
2023-01-18 07:40:42 -05:00
steve robb
48359cce3e Removed some TIsSame usage (part of a larger change to deprecate TIsSame).
#rb james.hopkin
#preflight 63bff06d4b018bfa800453f0

[CL 23661851 by steve robb in ue5-main branch]
2023-01-12 09:01:39 -05:00
mattias hornlund
bc457c75f1 Iris
- Fixed warning in TestBoolNetSerializer

#preflight n/a
#rb trivial

[CL 23632398 by mattias hornlund in ue5-main branch]
2023-01-10 15:43:54 -05:00
mattias hornlund
d2da5f5d62 Iris
-  Implemented support to allow descriptors built for structs derived from FastArraySerializer which contains additional properties to be handled by using an explicit ReplicationFragment.
- Minor cleanup in FastArrayReplicationFragment, renaming some members and methods to clarify things a bit.

(1/2)

#rb Peter.Engsrom
#preflight 63bd20b4763c6c106484e854

[CL 23632394 by mattias hornlund in ue5-main branch]
2023-01-10 15:43:50 -05:00
mattias hornlund
298e87c12d Iris
- Added scheduling order hint to allow dependent objects to be scheduled before parent to mimic some ordering quirks of old replication system

#rb Peter.Engstrom
#ushell-cherrypick of 23461639 by Mattias.Hornlund
#preflight 6399e6652540a78d2788627b

[CL 23516517 by mattias hornlund in ue5-main branch]
2022-12-14 14:52:45 -05:00
Peter Engstrom
3206f7ab64 Iris - Renamed Iris file NetHandle.h to NetRefHandle.h
#jira UE-170410
#rnx
#rb trivial
#preflight 6391db0fbb6fefa47274c8a6

[CL 23445192 by Peter Engstrom in ue5-main branch]
2022-12-08 07:55:14 -05:00
Peter Engstrom
c8ac9e557e Iris - Renamed Iris file NetHandleManager.h to NetRefHandleManager.h
#jira UE-170410
#rnx
#rb trivial
#preflight 6391ac235624e6da5ed97de5

[CL 23444230 by Peter Engstrom in ue5-main branch]
2022-12-08 04:29:34 -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
390d22f637 Iris
- Added proper propagation of RepNotify_Always flag

#rb Peter.Engstrom
#preflight none

[CL 23259403 by mattias hornlund in ue5-main branch]
2022-11-24 10:08:28 -05:00
Peter Engstrom
54ef15aea8 Iris - Multiple replication systems tests.
#rb mattias.hornlund
#preflight none

[CL 23174352 by Peter Engstrom in ue5-main branch]
2022-11-17 07:15:09 -05:00