Commit Graph

51 Commits

Author SHA1 Message Date
peter engstrom
c412a8ce47 Iris - Huge object going out and in to scope now correctly end up flushing state.
#preflight 6437b4104c0cdaea09945083
#rb mattias.hornlund

[CL 25022272 by peter engstrom in ue5-main branch]
2023-04-13 05:46:42 -04:00
louisphilippe seguin
285c45c6df Iris Filter UnitTest:
* Split Mock filter into a seperate class when it needs to read fragment data of an object

#rb Peter.Engstorm

[CL 25018286 by louisphilippe seguin in ue5-main branch]
2023-04-12 19:03:40 -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
peter engstrom
4260085021 Iris - Offset poll frame when adding new objects to a specific interval to spread them out across frames, leading to more stable CPU times for polling.
Note that there's no rebalancing code so as objects get out of scope and new objects are created an inbalance may occur eventually.

#preflight 642d42fdda7f958370c7567b
#rnx
#rb mattias.hornlund

[CL 24926362 by peter engstrom in ue5-main branch]
2023-04-05 08:50:34 -04:00
peter engstrom
b4ab22fbc1 Remove log spam. Use more appropriate UE_NET_LOG in test.
#rnx
#preflight none
#rb mattias.hornlund

[CL 24780588 by peter engstrom in ue5-main branch]
2023-03-24 12:04:30 -04:00
Peter Engstrom
66c9f0245e Suppress log error when testing WritePackedVector.
#rnx
#jira none
#preflight none
#rb brian.bekich
#preflight 6419b6b8e64b9d14c540534f

[CL 24731526 by Peter Engstrom in ue5-main branch]
2023-03-21 10:02:25 -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
bd872e737d Iris - Struct derived from struct with custom NetSerializer is no longer required to implement a NetSerializer.
#preflight 64119fc25819afacaff62277
#jira UE-179181
#rb mattias.hornlund

[CL 24654044 by peter engstrom in ue5-main branch]
2023-03-15 10:16:55 -04:00
peter engstrom
2a592c1ab5 Use std::numeric_limits
#rnx
#preflight 641079530e1f02786b4a00bc
#rb ryan.gerleve

[CL 24636857 by peter engstrom in ue5-main branch]
2023-03-14 11:41:56 -04:00
ryan gerleve
e990a0b7af Re-enable LastResortPropertyNetSerializer tests on non-Windows platforms since they're passing now.
#jira UE-166991
#rb peter.engstrom

[CL 24577511 by ryan gerleve in ue5-main branch]
2023-03-09 12:02:30 -05:00
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
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