Commit Graph

81 Commits

Author SHA1 Message Date
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
brian bekich
6d847c813b Backout 19356865 and history index size changes from 18938566
#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19380467 via CL 19380482 via CL 19380489 via CL 19381971 via CL 19394950 via CL 19395258
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19402923 by brian bekich in ue5-main branch]
2022-03-16 03:23:00 -04:00
john barrett
27e15a3e28 Added central FNetPing class for handling NetConnection ping tracking/calculation, for various types of ping (RoundTrip/ICMP/UDP), and associated analytics/stats.
#rb Peter.Engstrom, Mattias.Hornlund

#ROBOMERGE-OWNER: john.barrett
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19262603 via CL 19264648 via CL 19271054 via CL 19278199 via CL 19293563
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19344938 by john barrett in ue5-main branch]
2022-03-10 19:34:56 -05:00
marc audy
cff01aa9fa Added support for native FProperty setters and getters.
Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.

#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19147839 by marc audy in ue5-main branch]
2022-02-25 10:39:39 -05:00
louisphilippe seguin
3d1a12de81 SubObject API
* ActorComponent's that support the registered list can now replicate their subobjects using the new method even if their  owner actor does not support the new list.

#jira UE-123417

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19071530 via CL 19086459 via CL 19086590 via CL 19088150
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19131011 by louisphilippe seguin in ue5-main branch]
2022-02-24 18:55:44 -05:00
brian bekich
7dab463b02 Converted history index values to uint16
Removed sanity tag from property retirements, removed validation from test builds

#rb ryan.gerleve

#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 18938341 via CL 18938574 via CL 18938681 via CL 18940507 via CL 18940775
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18940783 by brian bekich in ue5-main branch]
2022-02-10 14:24:02 -05:00
louisphilippe seguin
8acc444fea SubObject replication
* Actors and ActorComponents can now replicate subobjects by registering them via AddReplicatedSubObject instead of overriding the ReplicateSubObjects method.
* Their bReplicateUsingRegisteredSubObjectList flag needs to be enabled for the list to be used.
* When registering subobjects you can pass a ELifetimeCondition to choose on which connection the object will be replicated to.

#jira UE-132890, UE-123417, UE-123417
#rb Ryan.Gerleve, Mattias.Hornlund, Brian.Bekich, Marc.Audy

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 18922440 via CL 18924803 via CL 18925242 via CL 18926878 via CL 18928347
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18928681 by louisphilippe seguin in ue5-main branch]
2022-02-09 19:07:41 -05:00