Merge remote-tracking branch 'upstream/stabilization/2106' into santorac/stabilization/2106/HotReloadFixes

This commit is contained in:
Chris Santora
2021-06-16 17:23:06 -07:00
10 changed files with 44 additions and 30 deletions
+1 -8
View File
@@ -4060,17 +4060,10 @@ void CCryEditApp::SetEditorWindowTitle(QString sTitleStr, QString sPreTitleStr,
{
if (MainWindow::instance() || m_pConsoleDialog)
{
QString platform = "";
#ifdef WIN64
platform = "[x64]";
#else
platform = "[x86]";
#endif //WIN64
if (sTitleStr.isEmpty())
{
sTitleStr = QObject::tr("Open 3D Engine Editor Beta %1 - Build %2").arg(platform).arg(LY_BUILD);
sTitleStr = QObject::tr("O3DE Editor [Developer Preview]");
}
if (!sPreTitleStr.isEmpty())
@@ -47,8 +47,6 @@ CEditorPreferencesPage_AWS::CEditorPreferencesPage_AWS()
{
m_settingsRegistry = AZStd::make_unique<AZ::SettingsRegistryImpl>();
InitializeSettings();
// TODO Update with AWS svg.
m_icon = QIcon(":/res/AWS_preferences_icon.svg");
}
@@ -43,7 +43,7 @@ namespace AWSCore
bool UseAWSCredentials()
{
return false;
return true;
}
//! Request body for the service API request.
@@ -25,20 +25,24 @@
#include <AzCore/Module/ModuleManagerBus.h>
#include <ResourceMapping/AWSResourceMappingUtils.h>
#include <QSysInfo>
#include <QString>
namespace AWSCore
{
static constexpr const char* EngineVersionJsonKey = "O3DEVersion";
constexpr const char* EngineVersionJsonKey = "O3DEVersion";
constexpr char EditorAWSPreferencesFileName[] = "editor_aws_preferences.setreg";
constexpr char AWSAttributionSettingsPrefixKey[] = "/Amazon/AWS/Preferences";
constexpr char AWSAttributionEnabledKey[] = "/Amazon/AWS/Preferences/AWSAttributionEnabled";
constexpr char AWSAttributionDelaySecondsKey[] = "/Amazon/AWS/Preferences/AWSAttributionDelaySeconds";
constexpr char AWSAttributionLastTimeStampKey[] = "/Amazon/AWS/Preferences/AWSAttributionLastTimeStamp";
constexpr char AWSAttributionApiId[] = "xbzx78kvbk";
constexpr char AWSAttributionApiId[] = "2zxvvmv8d7";
constexpr char AWSAttributionChinaApiId[] = "";
constexpr char AWSAttributionApiStage[] = "prod";
const int AWSAttributionDefaultDelayInDays = 7;
AWSAttributionManager::AWSAttributionManager()
{
@@ -58,12 +62,11 @@ namespace AWSCore
{
if (ShouldGenerateMetric())
{
// 1. Gather metadata and assemble metric
// Gather metadata and assemble metric
AttributionMetric metric;
UpdateMetric(metric);
// 2. Identify region and chose attribution endpoint
// 3. Post metric
// Post metric
SubmitMetric(metric);
}
}
@@ -104,8 +107,7 @@ namespace AWSCore
AZ::u64 delayInSeconds = 0;
if (!m_settingsRegistry->Get(delayInSeconds, AWSAttributionDelaySecondsKey))
{
AZ_Warning("AWSAttributionManager", false, "AWSAttribution delay key not found. Defaulting to delay to day");
delayInSeconds = 86400;
delayInSeconds = 86400 * AWSAttributionDefaultDelayInDays;
m_settingsRegistry->Set(AWSAttributionDelaySecondsKey, delayInSeconds);
}
@@ -243,7 +245,8 @@ namespace AWSCore
metric.SetO3DEVersion(engineVersion);
AZStd::string platform = this->GetPlatform();
metric.SetPlatform(platform, "");
QString productName = QSysInfo::prettyProductName();
metric.SetPlatform(platform, productName.toStdString().c_str());
AZStd::vector<AZStd::string> gemNames;
GetActiveAWSGems(gemNames);
@@ -256,6 +259,7 @@ namespace AWSCore
void AWSAttributionManager::SubmitMetric(AttributionMetric& metric)
{
AWSCore::ServiceAPI::AWSAttributionRequestJob::Config* config = ServiceAPI::AWSAttributionRequestJob::GetDefaultConfig();
// Identify region and chose attribution endpoint
SetApiEndpointAndRegion(config);
ServiceAPI::AWSAttributionRequestJob* requestJob = ServiceAPI::AWSAttributionRequestJob::Create(
@@ -266,7 +270,12 @@ namespace AWSCore
UpdateLastSend();
AZ_Printf("AWSAttributionManager", "AWSAttribution metric submit success");
}, {}, config);
},
[this](ServiceAPI::AWSAttributionRequestJob* failJob)
{
AZ_Error("AWSAttributionManager", false, "Metrics send error: %s", failJob->error.message.c_str());
},
config);
requestJob->parameters.metric = metric;
requestJob->Start();
@@ -19,14 +19,16 @@
namespace AWSCore
{
constexpr char AWSAttributionMetricDefaultO3DEVersion[] = "1.1";
AttributionMetric::AttributionMetric(const AZStd::string& timestamp)
: m_version("1.1")
: m_version(AWSAttributionMetricDefaultO3DEVersion)
, m_timestamp(timestamp)
{
}
AttributionMetric::AttributionMetric()
: m_version("1.1")
: m_version(AWSAttributionMetricDefaultO3DEVersion)
{
m_timestamp = AttributionMetric::GenerateTimeStamp();
}
@@ -32,6 +32,8 @@
#include <AzCore/Module/ModuleManagerBus.h>
#include <TestFramework/AWSCoreFixture.h>
#include <QSysInfo>
#include <QString>
using namespace AWSCore;
@@ -405,6 +407,7 @@ namespace AWSAttributionUnitTest
AZStd::string serializedMetricValue = metric.SerializeToJson();
ASSERT_TRUE(serializedMetricValue.find("\"o3de_version\":\"1.0.0.0\"") != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find(AZ::GetPlatformName(AZ::g_currentPlatform)) != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find(QSysInfo::prettyProductName().toStdString().c_str()) != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find("AWSCore.Editor") != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find("AWSClientAuth") != AZStd::string::npos);
@@ -61,6 +61,11 @@ namespace AZ
{
const PassAttachmentBinding& binding = m_attachmentBindings[slotIndex];
if (!binding.m_attachment)
{
continue;
}
// Handle the depth-stencil attachment. There should be only one.
if (binding.m_scopeAttachmentUsage == RHI::ScopeAttachmentUsage::DepthStencil)
{
@@ -98,6 +103,10 @@ namespace AZ
{
continue;
}
if (!binding.m_attachment)
{
continue;
}
if (binding.m_scopeAttachmentUsage == RHI::ScopeAttachmentUsage::RenderTarget
|| binding.m_scopeAttachmentUsage == RHI::ScopeAttachmentUsage::DepthStencil)
@@ -826,7 +826,7 @@ enum class NetworkProperties
#}
{% macro DefineNetworkPropertyBehaviorReflection(Component, ReplicateFrom, ReplicateTo, ClassName) %}
{% call(Property) AutoComponentMacros.ParseNetworkProperties(Component, ReplicateFrom, ReplicateTo) %}
{% if (Property.attrib['IsPublic'] | booleanTrue == true) and (Property.attrib['GenerateEventBindings'] | booleanTrue == true) -%}
{% if (Property.attrib['IsPublic'] | booleanTrue == true) and (Property.attrib['ExposeToScript'] | booleanTrue == true) -%}
// {{ UpperFirst(Property.attrib['Name']) }}: Replicate from {{ ReplicateFrom }} to {{ ReplicateTo }}
{% if Property.attrib['Container'] == 'Vector' or Property.attrib['Container'] == 'Array' %}
->Method("Get{{ UpperFirst(Property.attrib['Name']) }}", [](AZ::EntityId id, int32_t index) -> {{ Property.attrib['Type'] }}
@@ -17,7 +17,7 @@
<Include File="Source/NetworkInput/NetworkInputMigrationVector.h"/>
<Include File="AzNetworking/DataStructures/ByteBuffer.h"/>
<NetworkProperty Type="Multiplayer::ClientInputId" Name="LastInputId" Init="Multiplayer::ClientInputId{ 0 }" ReplicateFrom="Authority" ReplicateTo="Server" IsRewindable="false" IsPredictable="false" IsPublic="false" Container="Object" ExposeToEditor="false" GenerateEventBindings="false" />
<NetworkProperty Type="Multiplayer::ClientInputId" Name="LastInputId" Init="Multiplayer::ClientInputId{ 0 }" ReplicateFrom="Authority" ReplicateTo="Server" IsRewindable="false" IsPredictable="false" IsPublic="false" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="false" />
<RemoteProcedure Name="SendClientInput" InvokeFrom="Autonomous" HandleOn="Authority" IsPublic="true" IsReliable="false" GenerateEventBindings="false" Description="Client to server move / input RPC">
<Param Type="Multiplayer::NetworkInputArray" Name="inputArray" />
@@ -12,12 +12,12 @@
<Include File="Multiplayer/MultiplayerTypes.h"/>
<NetworkProperty Type="AZ::Quaternion" Name="rotation" Init="AZ::Quaternion::CreateIdentity()" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" GenerateEventBindings="true" />
<NetworkProperty Type="AZ::Vector3" Name="translation" Init="AZ::Vector3::CreateZero()" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" GenerateEventBindings="true" />
<NetworkProperty Type="float" Name="scale" Init="1.0f" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" GenerateEventBindings="true" />
<NetworkProperty Type="uint8_t" Name="resetCount" Init="0" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="false" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" GenerateEventBindings="true" />
<NetworkProperty Type="NetEntityId" Name="parentEntityId" Init="InvalidNetEntityId" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" GenerateEventBindings="true" />
<NetworkProperty Type="int32_t" Name="parentAttachmentBoneId" Init="-1" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" GenerateEventBindings="true" />
<NetworkProperty Type="AZ::Quaternion" Name="rotation" Init="AZ::Quaternion::CreateIdentity()" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="true" />
<NetworkProperty Type="AZ::Vector3" Name="translation" Init="AZ::Vector3::CreateZero()" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="true" />
<NetworkProperty Type="float" Name="scale" Init="1.0f" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="true" />
<NetworkProperty Type="uint8_t" Name="resetCount" Init="0" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="false" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="true" />
<NetworkProperty Type="NetEntityId" Name="parentEntityId" Init="InvalidNetEntityId" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="true" />
<NetworkProperty Type="int32_t" Name="parentAttachmentBoneId" Init="-1" ReplicateFrom="Authority" ReplicateTo="Client" IsRewindable="true" IsPredictable="true" IsPublic="true" Container="Object" ExposeToEditor="false" ExposeToScript="false" GenerateEventBindings="true" />
<!--
<ArchetypeProperty Type="bool" Name="snapToGround" Init="false" ExposeToEditor="true" />