Multiplayer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
This commit is contained in:
@@ -198,7 +198,7 @@ namespace Multiplayer
|
||||
// Produce correction for client
|
||||
AzNetworking::PacketEncodingBuffer correction;
|
||||
correction.Resize(correction.GetCapacity());
|
||||
AzNetworking::NetworkInputSerializer serializer(correction.GetBuffer(), correction.GetCapacity());
|
||||
AzNetworking::NetworkInputSerializer serializer(correction.GetBuffer(), static_cast<uint32_t>(correction.GetCapacity()));
|
||||
|
||||
// only deserialize if we have data (for client/server profile/debug mismatches)
|
||||
if (correction.GetSize() > 0)
|
||||
@@ -218,7 +218,7 @@ namespace Multiplayer
|
||||
{
|
||||
// In debug, show which states caused the correction
|
||||
// Write in client state
|
||||
AzNetworking::NetworkOutputSerializer clientStateSerializer(clientState.GetBuffer(), clientState.GetSize());
|
||||
AzNetworking::NetworkOutputSerializer clientStateSerializer(clientState.GetBuffer(), static_cast<uint32_t>(clientState.GetSize()));
|
||||
GetNetBindComponent()->SerializeEntityCorrection(clientStateSerializer);
|
||||
|
||||
// Read out state values
|
||||
@@ -226,7 +226,7 @@ namespace Multiplayer
|
||||
GetNetBindComponent()->SerializeEntityCorrection(clientValues);
|
||||
|
||||
// Restore server state
|
||||
AzNetworking::NetworkOutputSerializer serverStateSerializer(correction.GetBuffer(), correction.GetSize());
|
||||
AzNetworking::NetworkOutputSerializer serverStateSerializer(correction.GetBuffer(), static_cast<uint32_t>(correction.GetSize()));
|
||||
GetNetBindComponent()->SerializeEntityCorrection(serverStateSerializer);
|
||||
|
||||
// Read out state values
|
||||
@@ -352,7 +352,7 @@ namespace Multiplayer
|
||||
m_lastCorrectionInputId = inputId;
|
||||
|
||||
// Apply the correction
|
||||
AzNetworking::TrackChangedSerializer<AzNetworking::NetworkOutputSerializer> serializer(correction.GetBuffer(), correction.GetSize());
|
||||
AzNetworking::TrackChangedSerializer<AzNetworking::NetworkOutputSerializer> serializer(correction.GetBuffer(), static_cast<uint32_t>(correction.GetSize()));
|
||||
GetNetBindComponent()->SerializeEntityCorrection(serializer);
|
||||
m_correctionEvent.Signal();
|
||||
|
||||
@@ -364,7 +364,7 @@ namespace Multiplayer
|
||||
GetCorrectionDataString(GetNetBindComponent()).c_str()
|
||||
);
|
||||
|
||||
const uint32_t inputHistorySize = m_inputHistory.Size();
|
||||
const uint32_t inputHistorySize = static_cast<uint32_t>(m_inputHistory.Size());
|
||||
const uint32_t historicalDelta = aznumeric_cast<uint32_t>(m_clientInputId - inputId); // Do not replay the move we just corrected, that was already processed by the server
|
||||
|
||||
// If this correction is for a move outside our input history window, just start replaying from the oldest move we have available
|
||||
@@ -524,7 +524,7 @@ namespace Multiplayer
|
||||
#ifndef AZ_RELEASE_BUILD
|
||||
if (cl_EnableDesyncDebugging)
|
||||
{
|
||||
AzNetworking::NetworkInputSerializer processInputResultSerializer(processInputResult.GetBuffer(), processInputResult.GetCapacity());
|
||||
AzNetworking::NetworkInputSerializer processInputResultSerializer(processInputResult.GetBuffer(), static_cast<uint32_t>(processInputResult.GetCapacity()));
|
||||
GetNetBindComponent()->SerializeEntityCorrection(processInputResultSerializer);
|
||||
processInputResult.Resize(processInputResultSerializer.GetSize());
|
||||
}
|
||||
|
||||
+3
-3
@@ -769,7 +769,7 @@ namespace Multiplayer
|
||||
return HandleEntityDeleteMessage(entityReplicator, packetHeader, updateMessage);
|
||||
}
|
||||
|
||||
AzNetworking::TrackChangedSerializer<AzNetworking::NetworkOutputSerializer> outputSerializer(updateMessage.GetData()->GetBuffer(), updateMessage.GetData()->GetSize());
|
||||
AzNetworking::TrackChangedSerializer<AzNetworking::NetworkOutputSerializer> outputSerializer(updateMessage.GetData()->GetBuffer(), static_cast<uint32_t>(updateMessage.GetData()->GetSize()));
|
||||
|
||||
PrefabEntityId prefabEntityId;
|
||||
if (updateMessage.GetHasValidPrefabId())
|
||||
@@ -1102,7 +1102,7 @@ namespace Multiplayer
|
||||
// Send an update packet if it needs one
|
||||
propPublisher->GenerateRecord();
|
||||
bool needsNetworkPropertyUpdate = propPublisher->PrepareSerialization();
|
||||
AzNetworking::NetworkInputSerializer inputSerializer(message.m_propertyUpdateData.GetBuffer(), message.m_propertyUpdateData.GetCapacity());
|
||||
AzNetworking::NetworkInputSerializer inputSerializer(message.m_propertyUpdateData.GetBuffer(), static_cast<uint32_t>(message.m_propertyUpdateData.GetCapacity()));
|
||||
if (needsNetworkPropertyUpdate)
|
||||
{
|
||||
// Write out entity state into the buffer
|
||||
@@ -1127,7 +1127,7 @@ namespace Multiplayer
|
||||
{
|
||||
if (message.m_propertyUpdateData.GetSize() > 0)
|
||||
{
|
||||
AzNetworking::TrackChangedSerializer<AzNetworking::NetworkOutputSerializer> outputSerializer(message.m_propertyUpdateData.GetBuffer(), message.m_propertyUpdateData.GetSize());
|
||||
AzNetworking::TrackChangedSerializer<AzNetworking::NetworkOutputSerializer> outputSerializer(message.m_propertyUpdateData.GetBuffer(), static_cast<uint32_t>(message.m_propertyUpdateData.GetSize()));
|
||||
if (!HandlePropertyChangeMessage
|
||||
(
|
||||
replicator,
|
||||
|
||||
@@ -430,7 +430,7 @@ namespace Multiplayer
|
||||
updateMessage.SetPrefabEntityId(netBindComponent->GetPrefabEntityId());
|
||||
}
|
||||
|
||||
AzNetworking::NetworkInputSerializer inputSerializer(updateMessage.ModifyData().GetBuffer(), updateMessage.ModifyData().GetCapacity());
|
||||
AzNetworking::NetworkInputSerializer inputSerializer(updateMessage.ModifyData().GetBuffer(), static_cast<uint32_t>(updateMessage.ModifyData().GetCapacity()));
|
||||
m_propertyPublisher->UpdateSerialization(inputSerializer);
|
||||
updateMessage.ModifyData().Resize(inputSerializer.GetSize());
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace Multiplayer
|
||||
|
||||
uint32_t NetworkEntityManager::GetEntityCount() const
|
||||
{
|
||||
return m_networkEntityTracker.size();
|
||||
return static_cast<uint32_t>(m_networkEntityTracker.size());
|
||||
}
|
||||
|
||||
NetworkEntityHandle NetworkEntityManager::AddEntityToEntityMap(NetEntityId netEntityId, AZ::Entity* entity)
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace Multiplayer
|
||||
+ sizeof(RpcIndex);
|
||||
|
||||
// 2-byte size header + the actual blob payload itself
|
||||
const uint32_t sizeOfBlob = (m_data != nullptr) ? sizeof(uint16_t) + m_data->GetSize() : 0;
|
||||
const uint32_t sizeOfBlob = static_cast<uint32_t>((m_data != nullptr) ? sizeof(uint16_t) + m_data->GetSize() : 0);
|
||||
|
||||
// No sliceId, remote replicator already exists so we don't need to know what type of entity this is
|
||||
return sizeOfFields + sizeOfBlob;
|
||||
@@ -135,7 +135,7 @@ namespace Multiplayer
|
||||
m_data = AZStd::make_unique<AzNetworking::PacketEncodingBuffer>();
|
||||
}
|
||||
|
||||
AzNetworking::NetworkInputSerializer serializer(m_data->GetBuffer(), m_data->GetCapacity());
|
||||
AzNetworking::NetworkInputSerializer serializer(m_data->GetBuffer(), static_cast<uint32_t>(m_data->GetCapacity()));
|
||||
if (params.Serialize(serializer))
|
||||
{
|
||||
m_data->Resize(serializer.GetSize());
|
||||
@@ -154,7 +154,7 @@ namespace Multiplayer
|
||||
return false;
|
||||
}
|
||||
|
||||
AzNetworking::NetworkOutputSerializer serializer(m_data->GetBuffer(), m_data->GetSize());
|
||||
AzNetworking::NetworkOutputSerializer serializer(m_data->GetBuffer(), static_cast<uint32_t>(m_data->GetSize()));
|
||||
return outParams.Serialize(serializer);
|
||||
}
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace Multiplayer
|
||||
}
|
||||
|
||||
// 2-byte size header + the actual blob payload itself
|
||||
const uint32_t sizeOfBlob = (m_data != nullptr) ? sizeof(PropertyIndex) + m_data->GetSize() : 0;
|
||||
const uint32_t sizeOfBlob = static_cast<uint32_t>((m_data != nullptr) ? sizeof(PropertyIndex) + m_data->GetSize() : 0);
|
||||
|
||||
if (m_hasValidPrefabId)
|
||||
{
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace Multiplayer
|
||||
AZ::Name spawnableName = AZ::Interface<INetworkSpawnableLibrary>::Get()->GetSpawnableNameFromAssetId(spawnableAssetId);
|
||||
PrefabEntityId prefabEntityId;
|
||||
prefabEntityId.m_prefabName = spawnableName;
|
||||
prefabEntityId.m_entityOffset = netEntityIndex;
|
||||
prefabEntityId.m_entityOffset = static_cast<uint32_t>(netEntityIndex);
|
||||
AZ::Interface<INetworkEntityManager>::Get()->SetupNetEntity(netEntity, prefabEntityId, NetEntityRole::Authority);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user