Commit Graph

157 Commits

Author SHA1 Message Date
louisphilippe seguin
7e6b48aa97 Iris
* Added ability to prefer a Replication System via the GameMode class.
* When a game mode selects a specific replication system, the server will create its GameNetDriver using that mode if compatible.
* Note that the clients are NOT able to ask the game mode for the proper repsystem, so use this only when you can correctly predict the proper mode before connecting on the server.  Otherwise the clients may disconnect due to incompatible netdrivers.
     * PIE clients started inside a single process will use the correct repsystem of the dedicated server.
* Setting -UseIrisReplication=0/1 on the cmdline will override the GameMode's requested system.

#rb Ryan.Gerleve

[CL 28628549 by louisphilippe seguin in ue5-main branch]
2023-10-10 13:46:53 -04:00
dylan fansler
f4f510c925 Null checking for Net Channel to prevent server crashes when we run out of Replication Channels
[CL 28598764 by dylan fansler in ue5-main branch]
2023-10-09 16:58:09 -04:00
peter engstrom
571de1bca1 Iris - Mark properties as dirty when pushing out state.
#jira UE-196996
#rnx
#rb mattias.hornlund

[CL 28450822 by peter engstrom in ue5-main branch]
2023-10-04 08:06:35 -04:00
louisphilippe seguin
5f5608d185 Iris
* Move PreUpdate into its own loop and call it on all polling objects.
* Properly manage objects that set dirtyness on other objects inside PreUpdate/PreReplication
   * Now objects that get set dirty inside PreReplication but are not set to be polled will still be set dirty on the next frame.
* Deleted code that tested if such dependencies existed

#jira UE-192518, FORT-639953
#rb Peter.Engstrom
#rnx

[CL 27955686 by louisphilippe seguin in ue5-main branch]
2023-09-18 09:25:23 -04:00
steve robb
51f3ea53ae Removed ChooseClass.h includes.
#rb trivial

[CL 27823723 by steve robb in ue5-main branch]
2023-09-13 05:43:01 -04:00
steve robb
da9f5a828a Replaced TChooseClass with std::conditional_t.
#rb none
#jira UE-195271

[CL 27816205 by steve robb in ue5-main branch]
2023-09-12 19:55:55 -04:00
louisphilippe seguin
9e0f2600cf Fix missing include in non-unity build
#rb trivial
#rnx

[CL 26857961 by louisphilippe seguin in ue5-main branch]
2023-08-04 15:39:49 -04:00
louisphilippe seguin
321b6117e3 NetDriver:
* Fix net.EnableDetailedScopeCounters not turning off conditional scopes because of the multiple definitions of  GUseDetailedScopeCounters.

#rb Jon.Fairchild, Matt.Harriss

[CL 26854717 by louisphilippe seguin in ue5-main branch]
2023-08-04 14:32:48 -04:00
brandon schaefer
f401d9d8a8 Enable AutoRTFM for these modules
#rb Neil.Henning

[CL 26739144 by brandon schaefer in ue5-main branch]
2023-08-01 10:54:14 -04:00
mattias hornlund
b832289865 Fixed issue where FNetBitArray::FindLastZero would return index out of bounds for array sizes not aligned with the size of the storage.
#rb LouisPhilippe.Seguin

[CL 26462362 by mattias hornlund in ue5-main branch]
2023-07-19 11:39:17 -04:00
jon fairchild
d5da410c4c Remove FloatCastChecked in FDDoSDetection::PreFrameReceive
- The first tick after forking has the DeltaTime of the parent, if the parent has been alive for > 4 days the child will immediately assert here.

#rb ryan.gerleve louisphilippe.seguin

[CL 26130600 by jon fairchild in ue5-main branch]
2023-06-20 15:06:29 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
henrik karlsson
f027bfa856 [Core]
* Fixed compile errors when compiling .h files in isolation

#rb none

[CL 25865668 by henrik karlsson in ue5-main branch]
2023-06-08 02:30:27 -04:00
louisphilippe seguin
d3e3be0585 NetDriver
* Deprecated NetServerMaxTickRate variable and replaced them with Get/Set functions.
* Added FOnNetServerMaxTickRateChanged delegate. Register to receive callbacks when the server tick rate changes.

#jira UE-185786
#rb Ryan.Gerleve

[CL 25793458 by louisphilippe seguin in ue5-main branch]
2023-06-05 11:41:28 -04:00
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