Commit Graph

759 Commits

Author SHA1 Message Date
steve robb
6d5b974842 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30735396 by steve robb in ue5-main branch]
2024-01-19 19:41:56 -05:00
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
dominik peacock
d321540728 Add events to UMultiUserReplicationSubsystem for when a client's known server state for streams or authority changed:
- OnClientStreamServerStateChanged
- OnClientAuthorityServerStateChanged

#jira UE-204397

[CL 30726619 by dominik peacock in ue5-main branch]
2024-01-19 15:33:15 -05:00
dominik peacock
29138204e5 Fix submission futures not getting executed in the right order
[CL 30724125 by dominik peacock in ue5-main branch]
2024-01-19 14:30:04 -05:00
dominik peacock
602baac465 Remove FConcertPropertyChain::InternalContainerPropertyValueName.
FConcertPropertyChain will now
- never contain inner properties
- allow listing properties of structs with a custom Serialize function

#jira UE-199858, UE-203967, UE-204122

[CL 30722633 by dominik peacock in ue5-main branch]
2024-01-19 13:57:32 -05:00
dominik peacock
63ce9035d2 Move property model to ConcertClientSharedSlate since it relies on editor info
[CL 30713718 by dominik peacock in ue5-main branch]
2024-01-19 07:53:14 -05:00
aris theophanidis
8ae2292282 Remove Compression.h from CoreMinimal.h
It's about 1/4 of CoreMinimal.h but rarely needed (Compression.h pulls on CriticalSection.h and Map.h that are costly).
#rb Yoan.StAmant

[CL 30683417 by aris theophanidis in ue5-main branch]
2024-01-18 09:56:55 -05:00
marc audy
19e84555b3 Silence PVS warnings
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
dominik peacock
c1a874c037 Add view options next to object search box with which subobjects can be hidden (filtered out by default)
#jira UE-203811

[CL 30636324 by dominik peacock in ue5-main branch]
2024-01-16 12:06:57 -05:00
dominik peacock
4f2e424e7d Refactor ISubobjectModel to IObjectHierarchyModel
#jira UE-203810

[CL 30630153 by dominik peacock in ue5-main branch]
2024-01-16 04:53:02 -05:00
dominik peacock
f1295b156e Extract IObjectNameModel from ISubobjectModel
#jira UE-203809

[CL 30592258 by dominik peacock in ue5-main branch]
2024-01-12 09:44:25 -05:00
dominik peacock
537b28d96c Expose Multi User replication frequency to Blueprints
- Blueprints can edit the frequency
- Blueprints can read what the client thinks is the frequency rate of an object

#jira UE-203361
#jira UE-203731

[CL 30589435 by dominik peacock in ue5-main branch]
2024-01-12 05:27:24 -05:00
dominik peacock
a1a3cf941a Prepend reflected types with FConcertXXX and improve names
#jira UE-203491

[CL 30568046 by dominik peacock in ue5-main branch]
2024-01-11 09:59:35 -05:00
dominik peacock
00f229b3c1 Temporarily disable unit test that sometimes fails
#jira UE-203525

[CL 30541326 by dominik peacock in ue5-main branch]
2024-01-10 12:55:20 -05:00
jason walter
744e722ca4 Clean-up header for do not show again dialog.
[CL 30541291 by jason walter in ue5-main branch]
2024-01-10 12:54:45 -05:00
dominik peacock
4cdbedabfe Remove FReplicationStreamDescription_NetPacked
#jira UE-203490

[CL 30536111 by dominik peacock in ue5-main branch]
2024-01-10 10:24:52 -05:00
dominik peacock
c4b1c8259a Move client independent replication UI code to ConcertSharedSlate. This to future proof the code in case we want replication UI e.g. on the server.
#jira UE-203347

[CL 30526449 by dominik peacock in ue5-main branch]
2024-01-10 03:42:29 -05:00
nick edwards
c3f311c232 Update TFuture/TSharedFuture to work with non-copyable types.
- `ResultType TFuture::Consume()`
    + Moves and returns the result to the caller. Invalidates the future.
    + Equivalent to `std::future::get()`, but with a different name to avoid breaking existing usage of Get, and to make it clear that the result is being moved out.
- `const ResultType& TFuture::Get() const`
    + Returns the result by const reference, instead of trying to copy it.
    + Should provide perf benefits due to a copy of the result no longer being returned.
    + This method is still not equivalent to std::future::get. Changing it to return a const reference allows a non-copyable object to be peeked at.
    + Uses `UE_LIFETIMEBOUND` to track the use of the returned reference outlasting the future itself.
- `ResultType& TFuture::GetMutable()`
    + Returns the result by reference, instead of trying to copy it.
    + Has a different name to `Get` to avoid accidental mutation.
    + Not equivalent to any other method in std::future. Allows the result to be peeked at & mutated.
    + Uses `UE_LIFETIMEBOUND` to track the use of the returned reference outlasting the future itself.
- `InternalResultType& TFutureState::GetResult()`
    + A non-const version of the existing `const InternalResultType& TFutureState::GetResult() const` function, allowing the caller to move the result.
    + Uses `UE_LIFETIMEBOUND` to track the use of the returned reference outlasting the state itself.
- `const ResultType& TSharedFuture::Get() const`
    + Return the result by const ref instead of by value. This matches `std::shared_future::get()`

Some other misc improvements/fixes to TFuture/TSharedFuture
- Changed a few default constructors to be explicitly defaulted.
- Changed hidden copy constructor/assignment operators to be explicitly deleted. Should provide better errors.
- Improved comments around copy/move constructor/assignment operators for better documentation generation.
- Corrected some comments (typo, some incorrect variable names/descriptions for params)

Some fixups in LobbiesCommonTests, ConcertDataStoreTests and InterchangeSceneVariantSetsFactory.

#jira UE-43513, UE-93395
#rb Steve.Robb

[CL 30507063 by nick edwards in ue5-main branch]
2024-01-09 11:44:37 -05:00
dominik peacock
f9a8e0cebe Add #if WITH_AUTOMATION_TESTS because that's when FWaitLatentCommand is defined
#jira UE-203430

[CL 30501005 by dominik peacock in ue5-main branch]
2024-01-09 06:05:20 -05:00
dominik peacock
3ab633abb0 Fix comparision with itself
[CL 30478894 by dominik peacock in ue5-main branch]
2024-01-08 07:37:23 -05:00
dominik peacock
602e131b89 Reassigning objects to clients now transfers their frequency as well
#jira UE-203362

[CL 30471238 by dominik peacock in ue5-main branch]
2024-01-05 07:11:52 -05:00
dominik peacock
010c88367c Expose default replication settings in Multi User settings
#jira UE-203350

[CL 30471179 by dominik peacock in ue5-main branch]
2024-01-05 06:13:22 -05:00
dominik peacock
7e3f842cae Refactor util concert replication settings types to be more generic, in preparation to reuse for replication frequency settings
[CL 30467849 by dominik peacock in ue5-main branch]
2024-01-04 09:33:51 -05:00
dominik peacock
2c338c3d14 Document and ensure that public API functions are to be called on the game thread only
[CL 30463725 by dominik peacock in ue5-main branch]
2024-01-03 06:51:49 -05:00
dominik peacock
f647b4a0b4 Make parallel request utils thread safe
#jira UE-203355
[FYI] Jason.Walter

[CL 30463635 by dominik peacock in ue5-main branch]
2024-01-03 06:21:19 -05:00