Commit Graph

87 Commits

Author SHA1 Message Date
mattias hornlund
dc9174d531 Renamed FSubObjectGetter to UE::Net::FSubObjectRegistryGetter and moved it to separate file
#rb LouisPhilippe.Seguin

#ROBOMERGE-AUTHOR: mattias.hornlund
#ROBOMERGE-SOURCE: CL 20447864 via CL 20448427 via CL 20448456
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v952-20449836)

[CL 20450299 by mattias hornlund in ue5-main branch]
2022-06-01 05:35:15 -04:00
brian bekich
d18641a3d0 Moving property condition manager into UE::Net
Renaming SET_REPCUSTOMCONDITION_ACTIVE_FAST to DOREPCUSTOMCONDITION_SETACTIVE_FAST

#jira UE-151243
#rb louisphilippe.seguin

#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 20442854 via CL 20442860 via CL 20442867
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20449529 by brian bekich in ue5-main branch]
2022-06-01 04:24:45 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
john barrett
d5364fd5fc Fixed missing call to PostReplicatedChange on the fast array serializer, when mapping previously unmapped objects (Items PostReplicatedChange calls were not affected).
Fixed for both 'net.SupportFastArrayDelta' on/off paths.

#JIRA UE-131494
#rb Mattias.Hornlund

#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 20291436 via CL 20291664 via CL 20291702 via CL 20291717
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20304942 by john barrett in ue5-main branch]
2022-05-20 18:50:23 -04:00
louisphilippe seguin
246aef653a SubObject
* Added CVar that controls if actors and actorcomponent classes use the new subobject replication by default or not
* net.SubObjects.DefaultUseSubObjectReplicationList needs to be enabled to opt-in to the new method by default.
* Classes can still choose their own method by setting bReplicateUsingRegisteredSubObjectList in their constructor

#jira UE-123417
#rb Mattias.Hornlund, John.Barrett

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20280976 via CL 20282847 via CL 20283096
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20285706 by louisphilippe seguin in ue5-main branch]
2022-05-19 15:37:20 -04:00
louisphilippe seguin
dca29a412f SubObject
* Added define to setup a project to use the subobject list by default without having to use the config.

#jira UE-123417
#rb John.Barrett, Mattias.Hornlund

#ROBOMERGE-OWNER: louisphilippe.seguin
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20241400 via CL 20241428 via CL 20241435
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20242867 by louisphilippe seguin in ue5-main branch]
2022-05-17 10:43:47 -04:00
louisphilippe seguin
ba8d3362e3 Fix non-unity error
#rb trivial

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20078502 via CL 20079063 via CL 20079412
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106394 by louisphilippe seguin in ue5-main branch]
2022-05-09 13:53:49 -04:00
louisphilippe seguin
521fda3d2d NetConditionGroup feature
* Added new ELifetimeCondition COND_NetGroup, that is only supported on replicated subobjects.
* Any subobject using COND_NetGroup must be part of a netcondition group via the NetConditionGroupManager world subsystem for it to get replicated.
* PlayerControllers can be members of a group via IncludeInNetConditionGroup
* When a netgroup subobject replicates to a connection we will only replicate it if the playercontroller of the connection is a member of atleast one group of that subobject.
* NetGroupOwner and NetGroupReplay are special groups that automatically replicate to the owner's connection or the replay net driver.
* This feature is only available to Actors or Actorcomponents with bReplicateUsingRegisteredSubObjectList = true

#jira UE-132891
#rb Ryan.Gerleve, Mattias.Hornlund, John.Barrett

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20076279 via CL 20076546 via CL 20076844
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106219 by louisphilippe seguin in ue5-main branch]
2022-05-09 13:48:08 -04:00
john barrett
c3115d7346 Disable receiving 'bHasPackageMapExports' serverside.
#JIRA UE-149491
#rb Ryan.Gerleve

#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 20022630 via CL 20022646 via CL 20022649 via CL 20022666 via CL 20022679
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20023072 by john barrett in ue5-main branch]
2022-05-03 06:20:40 -04:00
nuno leiria
e285a188a9 Misc changes required to build consoles as modules
#rb trivial
#preflight 626a8f0e631e64c0b9021363

[CL 19960219 by nuno leiria in ue5-main branch]
2022-04-28 09:16:32 -04:00
brian bekich
e323a2acda Moving custom property conditions out of the net driver
Stored per object, and can be set from any game code, not just PreReplication

#rb ryan.gerleve, peter.engstrom

#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19909058 via CL 19911194 via CL 19911458
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19913111 by brian bekich in ue5-main branch]
2022-04-25 20:29:52 -04:00
brian bekich
a9ae3c74e2 Restoring previous fix, now with more compiling:
Fixes for tick.DoAsyncEndOfFrameTasks.ValidateReplicatedProperties
DiffProperties skips empty layouts
FGuidReferences copy constructor to deep copy container references, needed by FFastArraySerializer properties using delta structs
Update the validation to occur around the slate tick and not during the async recording

#jira UE-142550
#rb ryan.gerleve

#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19843364 via CL 19843433 via CL 19852406 via CL 19861535 via CL 19861613
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19870884 by brian bekich in ue5-main branch]
2022-04-22 15:50:49 -04:00
peter engstrom
ba64e6cbcd Iris - Add InvalidIndex to represent failure in various Find methods.
#[review]-19826837
[FYI] louisphilippe.seguin

#ushell-cherrypick of 19844913 by Peter.Engstrom

#ROBOMERGE-AUTHOR: peter.engstrom
#ROBOMERGE-SOURCE: CL 19845138 via CL 19859933 via CL 19859991
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19869530 by peter engstrom in ue5-main branch]
2022-04-22 15:02:19 -04:00
brian bekich
68c8e0a0c9 [Backout] - CL19838285
#jira UE-142550

#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19839033 via CL 19839388 via CL 19843762 via CL 19859314 via CL 19859320
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19869382 by brian bekich in ue5-main branch]
2022-04-22 14:57:35 -04:00
brian bekich
c621085f8c Fixes for tick.DoAsyncEndOfFrameTasks.ValidateReplicatedProperties
- DiffProperties skips empty layouts
- FGuidReferences copy constructor to deep copy container references, needed by FFastArraySerializer properties using delta structs
- Update the validation to occur around the slate tick and not during the async recording

#jira UE-142550
#rb ryan.gerleve

#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19838285 via CL 19838713 via CL 19843726 via CL 19859239 via CL 19859288
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19869366 by brian bekich in ue5-main branch]
2022-04-22 14:57:06 -04:00
louisphilippe seguin
ebca085ee9 Branching NetBitArray from Dev-Iris
#rb trivial

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19807835 via CL 19807909 via CL 19807980
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19812133 by louisphilippe seguin in ue5-main branch]
2022-04-19 13:29:20 -04:00
louisphilippe seguin
04df133c6b Renamed Net/Core/Trace/Config.h file to NetTraceConfig to prevent include mismatch with other Trace/Config.h file
#rb Peter.Engstorm

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19760485 via CL 19760685 via CL 19760749
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19802131 by louisphilippe seguin in ue5-main branch]
2022-04-18 23:30:56 -04:00
louisphilippe seguin
0ea6b75ee2 [Backout] - CL19739387
Original CL Desc
-----------------------------------------------------------------
Branching NetBitArray from Dev-Iris

#rb trivial

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19757468 via CL 19757599 via CL 19757641
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19802022 by louisphilippe seguin in ue5-main branch]
2022-04-18 23:29:04 -04:00
john barrett
2cb6494a66 Fixed FSampleMinMaxAvg not detecting special cases for Min/Max values.
#rb trivial

#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19751934 via CL 19751954 via CL 19751957 via CL 19751973 via CL 19751980
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19801904 by john barrett in ue5-main branch]
2022-04-18 23:26:58 -04:00
kate ellis
1a947570f3 Back out changelist 19739269
[FYI] louisphilippe.seguin

#ROBOMERGE-AUTHOR: kate.ellis
#ROBOMERGE-SOURCE: CL 19746388 via CL 19749004 via CL 19749070
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19801789 by kate ellis in ue5-main branch]
2022-04-18 23:24:25 -04:00
louisphilippe seguin
f0f0caa42c Branching NetBitArray from Dev-Iris
#rb trivial

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19739387 via CL 19739469 via CL 19739516
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19740488 by louisphilippe seguin in ue5-main branch]
2022-04-13 11:21:08 -04:00
louisphilippe seguin
4d5511dbcf Branching NetBitArray from Dev-Iris
#rb trivial

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19739269 via CL 19739442 via CL 19739506
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19740470 by louisphilippe seguin in ue5-main branch]
2022-04-13 11:20:11 -04:00
louisphilippe seguin
ccfb2a5dc2 SubObject API
* Actor classes can officially control which of their ActorComponent get replicated or not.
* Classes that want to control component replication need to override AllowActorComponentToReplicate to do so.
* Classes can also return a ELifetimeCondition in the new function and set a net condition to specific components.
* The override and net condition only works for classes that set bReplicateUsingRegisteredSubObjectList to true

# Added AllowActorComponentToReplicate to some Fortnite classes that used ReplicatedSubObjects to selectively control when to replicate some components.

#jira UE-144977
#rb Ryan.Gerleve, Mattias.Hornlund, Brian.Bekich

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19478548 via CL 19481298 via CL 19483197 via CL 19494270 via CL 19494411
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19498369 by louisphilippe seguin in ue5-main branch]
2022-03-24 13:24:46 -04:00
john barrett
8e00748a18 Make servers send close-reasons/NMT_CloseReason to client, for log-info/debugging. Also fixed NMT_Failure early disconnects from missing NMT_CloseReason - and added more NetDriver/Beacon close reason coverage.
#rb Peter.Engstrom

#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19427330 via CL 19427826 via CL 19432275 via CL 19436672 via CL 19436780
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19442403 by john barrett in ue5-main branch]
2022-03-18 18:50:04 -04:00
brian bekich
8dee0f9668 Manually integrating fast array fix from 18643809
#jira UE-118168

#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19381172 via CL 19382295 via CL 19395131 via CL 19395312
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19402940 by brian bekich in ue5-main branch]
2022-03-16 03:23:25 -04:00