Merge branch 'stabilization/2106' into Helios_LYN-3723-FixPBRNormalMapImport

This commit is contained in:
amzn-mike
2021-06-23 17:36:04 -05:00
151 changed files with 545 additions and 655 deletions
@@ -181,7 +181,7 @@ namespace AZ
//! @code{.cpp}
//! editContext->Class<ScriptEditorComponent>("Lua Script", "The Lua Script component allows you to add arbitrary Lua logic to an entity in the form of a Lua script")
//! ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
//! ->Attribute(AZ::Edit::Attributes::HelpPageURL, "http://docs.aws.amazon.com/lumberyard/latest/userguide/component-lua-script.html")
//! ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/lua-script/")
//! @endcode
const static AZ::Crc32 HelpPageURL = AZ_CRC("HelpPageURL", 0xa344d681);
@@ -19,7 +19,7 @@
* API refernce for all tools developers that are extending Open 3D Engine. The API reference
* is intended for C++ programmers building tools. For UX designers looking to understand
* the best patterns and practices when making a tool to comfortably integrate with
* the Open 3D Engine editor, see the [UI 2.0 design guide](https://docs.aws.amazon.com/lumberyard/latest/ui/).
* the Open 3D Engine editor, see the [UI 2.0 design guide](https://docs.o3de.org/docs/tools-ui/ui-dev-intro/).
*/
#include <AzCore/PlatformDef.h>
@@ -64,7 +64,7 @@ AzQtComponents::CardHeader* header = ui->functionalCard->header();
header->setIcon(QIcon(":/Cards/img/UI20/Cards/slice_item.png"));
// Set the help url to open in a browser if the user clicks the help button
header->setHelpURL("https://aws.amazon.com/documentation/lumberyard/");
header->setHelpURL("https://docs.o3de.org/docs/");
// Clear the help url
header->clearHelpURL();
@@ -103,7 +103,7 @@ card->mockDisabledState(true);
ui->disabledCard->setTitle("Actually Disabled Card");
ui->disabledCard->setContentWidget(new QWidget());
ui->disabledCard->header()->setIcon(QIcon(QStringLiteral(":/stylesheet/img/search.svg")));
ui->disabledCard->header()->setHelpURL("https://aws.amazon.com/documentation/lumberyard/");
ui->disabledCard->header()->setHelpURL("https://docs.o3de.org/docs/");
ui->disabledCard->setSecondaryTitle("Secondary Title");
ui->disabledCard->setSecondaryContentWidget(new QWidget());
ui->disabledCard->setEnabled(false);
@@ -111,7 +111,7 @@ card->mockDisabledState(true);
ui->disabledCard2->setTitle("Mock Disabled Card");
ui->disabledCard2->setContentWidget(new QWidget());
ui->disabledCard2->header()->setIcon(QIcon(QStringLiteral(":/stylesheet/img/search.svg")));
ui->disabledCard2->header()->setHelpURL("https://aws.amazon.com/documentation/lumberyard/");
ui->disabledCard2->header()->setHelpURL("https://docs.o3de.org/docs/");
ui->disabledCard2->setSecondaryTitle("Secondary Title");
ui->disabledCard2->setSecondaryContentWidget(new QWidget());
ui->disabledCard2->mockDisabledState(true);
@@ -122,7 +122,7 @@ card->mockDisabledState(true);
// put in an example icon
AzQtComponents::CardHeader* header = ui->functionalCard->header();
header->setIcon(QIcon(":/Cards/img/UI20/Cards/slice_item.png"));
header->setHelpURL("https://aws.amazon.com/documentation/lumberyard/");
header->setHelpURL("https://docs.o3de.org/docs/");
connect(ui->addButton, &QPushButton::clicked, this, &CardPage::addNotification);
@@ -316,7 +316,7 @@ See the documentation linked above for more details.
)";
ui->exampleText->setHtml(exampleText);
ui->hyperlinkLabel->setText(QStringLiteral(R"(<a href="https://docs.aws.amazon.com/lumberyard/latest/userguide/component-entity-system-reflect-component.html">Reflected Property Editor docs</a>)"));
ui->hyperlinkLabel->setText(QStringLiteral(R"(<a href="https://docs.o3de.org/docs/user-guide/components/development/reflection/">Reflected Property Editor docs</a>)"));
}
ReflectedPropertyEditorPage::~ReflectedPropertyEditorPage()
@@ -51,7 +51,7 @@ namespace AzToolsFramework
connect(ui->SCRIPT_INPUT, &QLineEdit::textChanged, this, &CScriptTermDialog::OnScriptInputTextChanged);
connect(ui->SCRIPT_HELP, &QToolButton::clicked, this, &CScriptTermDialog::OnScriptHelp);
connect(ui->SCRIPT_DOCS, &QToolButton::clicked, this, []() {
QDesktopServices::openUrl(QUrl("https://docs.aws.amazon.com/lumberyard/latest/tutorials/tutorials-python.html"));
QDesktopServices::openUrl(QUrl("https://docs.o3de.org/docs/user-guide/scripting/"));
});
InitCompleter();
@@ -2670,7 +2670,7 @@ namespace AzToolsFramework
"You can also review and update your save locations in the AssetProcessorPlatformConfig.ini file.";
AZ_Error("Slice", false, errorMessage.c_str());
QString learnMoreLink(QObject::tr("https://docs.aws.amazon.com/console/lumberyard/slices/save"));
QString learnMoreLink(QObject::tr(""));
QString learnMoreDescription(QObject::tr(" <a href='%1'>Learn more</a>").arg(learnMoreLink));
// Display a pop-up, the logs are easy to miss. This will make sure a user who encounters this error immediately knows their slice save has failed.
@@ -1023,7 +1023,7 @@ namespace AzToolsFramework
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/LuaScript.svg")
->Attribute(AZ::Edit::Attributes::PrimaryAssetType, AZ::AzTypeInfo<AZ::ScriptAsset>::Uuid())
->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Script.png")
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.aws.amazon.com/lumberyard/latest/userguide/component-lua-script.html")
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/lua-script/")
->DataElement("AssetRef", &ScriptEditorComponent::m_scriptAsset, "Script", "Which script to use")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &ScriptEditorComponent::ScriptHasChanged)
->Attribute("BrowseIcon", ":/stylesheet/img/UI20/browse-edit-select-files.svg")
@@ -47,7 +47,7 @@ namespace AzToolsFramework
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Tag.png")
->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Tag.png")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://www.amazongames.com/")
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components")
->DataElement(AZ::Edit::UIHandlers::Default, &EntitySearch_TestComponent1::m_boolValue, "Bool", "")
->DataElement(AZ::Edit::UIHandlers::Default, &EntitySearch_TestComponent1::m_intValue, "Int", "")
;
@@ -106,7 +106,7 @@ namespace AzToolsFramework
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Tag.png")
->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Tag.png")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://www.amazongames.com/")
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components")
->DataElement(AZ::Edit::UIHandlers::Default, &EntitySearch_TestComponent2::m_floatValue, "Float", "")
;
}
@@ -118,7 +118,7 @@ namespace UnitTest
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Tag.png")
->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Tag.png")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://www.amazongames.com/")
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components")
->DataElement(AZ::Edit::UIHandlers::Default, &Inspector_TestComponent2::m_data, "Data", "The component's Data");
}
}
@@ -187,7 +187,7 @@ namespace UnitTest
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Tag.png")
->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Tag.png")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://www.amazongames.com/")
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components")
->DataElement(AZ::Edit::UIHandlers::Default, &Inspector_TestComponent3::m_data, "Data", "The component's Data");
}
}
+2 -2
View File
@@ -81,12 +81,12 @@ void CAboutDialog::mouseReleaseEvent(QMouseEvent* event)
void CAboutDialog::OnCustomerAgreement()
{
QDesktopServices::openUrl(QUrl(QStringLiteral("http://aws.amazon.com/agreement/")));
QDesktopServices::openUrl(QUrl(QStringLiteral("https://lfprojects.org/policies/terms-of-use/")));
}
void CAboutDialog::OnPrivacyNotice()
{
QDesktopServices::openUrl(QUrl(QStringLiteral("http://aws.amazon.com/privacy/")));
QDesktopServices::openUrl(QUrl(QStringLiteral("https://lfprojects.org/policies/privacy-policy/")));
}
#include <moc_AboutDialog.cpp>
+1 -1
View File
@@ -154,7 +154,7 @@
<item>
<widget class="ClickableLabel" name="m_transparentAgreement">
<property name="text">
<string>AWS Customer Agreement</string>
<string>Terms of Use</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
@@ -19,7 +19,7 @@ AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
static const char* g_assetProcessorLink = "<a href=\"https://docs.aws.amazon.com/console/lumberyard/userguide/asset-processor\">Asset Processor</a>";
static const char* g_assetProcessorLink = "<a href=\"https://docs.o3de.org/docs/user-guide/assets/pipeline/processor-ui/\">Asset Processor</a>";
static const char* g_copyFilesMessage = "The original file will remain outside of the project and the %1 will not monitor the file.";
static const char* g_moveFilesMessage = "The original file will be moved inside of the project and the %1 will monitor the file for changes.";
static const char* g_selectDestinationFilesPath = "AssetImporter/SelectDestinationFilesPath";
@@ -798,7 +798,7 @@ QMenu* LevelEditorMenuHandler::CreateHelpMenu()
auto text = lineEdit->text();
if (text.isEmpty())
{
QDesktopServices::openUrl(QUrl("https://aws.amazon.com/documentation/lumberyard/"));
QDesktopServices::openUrl(QUrl("https://docs.o3de.org/docs/"));
}
else
{
@@ -836,9 +836,6 @@ QMenu* LevelEditorMenuHandler::CreateHelpMenu()
// Documentation
auto documentationMenu = helpMenu.AddMenu(tr("Documentation"));
// Glossary
documentationMenu.AddAction(ID_DOCUMENTATION_GLOSSARY);
// Open 3D Engine Documentation
documentationMenu.AddAction(ID_DOCUMENTATION_O3DE);
@@ -854,9 +851,6 @@ QMenu* LevelEditorMenuHandler::CreateHelpMenu()
// Game Dev Blog
gameDevResourceMenu.AddAction(ID_DOCUMENTATION_GAMEDEVBLOG);
// GameDev Twitch Channel
gameDevResourceMenu.AddAction(ID_DOCUMENTATION_TWITCHCHANNEL);
// Forums
gameDevResourceMenu.AddAction(ID_DOCUMENTATION_FORUMS);
@@ -865,12 +859,6 @@ QMenu* LevelEditorMenuHandler::CreateHelpMenu()
helpMenu.AddSeparator();
// Give Us Feedback
helpMenu.AddAction(ID_DOCUMENTATION_FEEDBACK);
// Report a Bug???
// auto reportBugMenu = helpMenu.Get()->addAction(tr("Report a Bug"));
// About Open 3D Engine
helpMenu.AddAction(ID_APP_ABOUT);
+6 -32
View File
@@ -111,7 +111,6 @@ AZ_POP_DISABLE_WARNING
#include "LevelInfo.h"
#include "EditorPreferencesDialog.h"
#include "GraphicsSettingsDialog.h"
#include "FeedbackDialog/FeedbackDialog.h"
#include "AnimationContext.h"
#include "GotoPositionDlg.h"
@@ -355,17 +354,13 @@ void CCryEditApp::RegisterActionHandlers()
{
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
ON_COMMAND(ID_APP_SHOW_WELCOME, OnAppShowWelcomeScreen)
ON_COMMAND(ID_DOCUMENTATION_GETTINGSTARTEDGUIDE, OnDocumentationGettingStartedGuide)
ON_COMMAND(ID_DOCUMENTATION_TUTORIALS, OnDocumentationTutorials)
ON_COMMAND(ID_DOCUMENTATION_GLOSSARY, OnDocumentationGlossary)
ON_COMMAND(ID_DOCUMENTATION_O3DE, OnDocumentationO3DE)
ON_COMMAND(ID_DOCUMENTATION_GAMELIFT, OnDocumentationGamelift)
ON_COMMAND(ID_DOCUMENTATION_RELEASENOTES, OnDocumentationReleaseNotes)
ON_COMMAND(ID_DOCUMENTATION_GAMEDEVBLOG, OnDocumentationGameDevBlog)
ON_COMMAND(ID_DOCUMENTATION_TWITCHCHANNEL, OnDocumentationTwitchChannel)
ON_COMMAND(ID_DOCUMENTATION_FORUMS, OnDocumentationForums)
ON_COMMAND(ID_DOCUMENTATION_AWSSUPPORT, OnDocumentationAWSSupport)
ON_COMMAND(ID_DOCUMENTATION_FEEDBACK, OnDocumentationFeedback)
ON_COMMAND(ID_FILE_EXPORT_SELECTEDOBJECTS, OnExportSelectedObjects)
ON_COMMAND(ID_EDIT_HOLD, OnEditHold)
ON_COMMAND(ID_EDIT_FETCH, OnEditFetch)
@@ -2012,40 +2007,33 @@ void CCryEditApp::OnUpdateShowWelcomeScreen(QAction* action)
&& !m_savingLevel);
}
// App command to open online documentation page
void CCryEditApp::OnDocumentationGettingStartedGuide()
{
QString webLink = tr("https://docs.aws.amazon.com/lumberyard/latest/gettingstartedguide");
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationTutorials()
{
QString webLink = tr("https://www.youtube.com/amazonlumberyardtutorials");
QString webLink = tr("https://o3deorg.netlify.app/docs/learning-guide/");
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationGlossary()
{
QString webLink = tr("https://docs.aws.amazon.com/lumberyard/userguide/glossary");
QString webLink = tr("https://docs.o3de.org/docs/user-guide/appendix/glossary/");
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationO3DE()
{
QString webLink = tr("https://docs.aws.amazon.com/lumberyard/userguide");
QString webLink = tr("https://o3deorg.netlify.app/docs/");
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationGamelift()
{
QString webLink = tr("https://docs.aws.amazon.com/gamelift/developerguide");
QString webLink = tr("https://docs.aws.amazon.com/gamelift/");
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationReleaseNotes()
{
QString webLink = tr("https://docs.aws.amazon.com/lumberyard/releasenotes");
QString webLink = tr("https://o3deorg.netlify.app/docs/release-notes/");
QDesktopServices::openUrl(QUrl(webLink));
}
@@ -2055,15 +2043,9 @@ void CCryEditApp::OnDocumentationGameDevBlog()
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationTwitchChannel()
{
QString webLink = tr("http://twitch.tv/amazongamedev");
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationForums()
{
QString webLink = tr("https://gamedev.amazon.com/forums");
QString webLink = tr("https://o3deorg.netlify.app/community/");
QDesktopServices::openUrl(QUrl(webLink));
}
@@ -2073,14 +2055,6 @@ void CCryEditApp::OnDocumentationAWSSupport()
QDesktopServices::openUrl(QUrl(webLink));
}
void CCryEditApp::OnDocumentationFeedback()
{
FeedbackDialog dialog;
dialog.show();
dialog.adjustSize();
dialog.exec();
}
bool CCryEditApp::FixDanglingSharedMemory(const QString& sharedMemName) const
{
QSystemSemaphore sem(sharedMemName + "_sem", 1);
-3
View File
@@ -193,11 +193,8 @@ public:
void OnDocumentationGamelift();
void OnDocumentationReleaseNotes();
void OnDocumentationGameDevBlog();
void OnDocumentationGettingStartedGuide();
void OnDocumentationTwitchChannel();
void OnDocumentationForums();
void OnDocumentationAWSSupport();
void OnDocumentationFeedback();
void OnCommercePublish();
void OnCommerceMerch();
void SaveTagLocations();
@@ -1,41 +0,0 @@
/*
* Copyright (c) Contributors to the Open 3D Engine Project
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include "EditorDefs.h"
#include "FeedbackDialog.h"
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
#include <FeedbackDialog/ui_FeedbackDialog.h>
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
namespace {
QString feedbackText = "<h3>We love getting feedback from our customers.</h3>"
"Feedback from our community helps us to constantly improve Open 3D Engine.<br/><br/>"
"In addition to using our forums and AWS support channels, you can always email us with your comments and suggestions at "
"<a href=\"mailto:o3de-feedback@amazon.com\" style=\"color: #4285F4;\">o3de-feedback@amazon.com</a>. "
"While we do not respond to everyone who submits feedback, we read everything and aspire to use your feedback to improve Open 3D Engine for everyone.";
}
FeedbackDialog::FeedbackDialog(QWidget* pParent)
: QDialog(pParent)
, ui(new Ui::FeedbackDialog)
{
ui->setupUi(this);
ui->feedbackLabel->setText(feedbackText);
resize(size().expandedTo(sizeHint()));
}
FeedbackDialog::~FeedbackDialog()
{
}
#include <FeedbackDialog/moc_FeedbackDialog.cpp>
@@ -1,31 +0,0 @@
/*
* Copyright (c) Contributors to the Open 3D Engine Project
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#if !defined(Q_MOC_RUN)
#include <QDialog>
#endif
namespace Ui {
class FeedbackDialog;
}
class QStringListModel;
class FeedbackDialog
: public QDialog
{
Q_OBJECT
public:
FeedbackDialog(QWidget* pParent = nullptr);
~FeedbackDialog();
private:
QScopedPointer<Ui::FeedbackDialog> ui;
};
@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FeedbackDialog</class>
<widget class="QWidget" name="FeedbackDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>580</width>
<height>204</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
</property>
<property name="windowTitle">
<string>Give us Feedback</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="Contents" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>20</number>
</property>
<property name="topMargin">
<number>20</number>
</property>
<property name="rightMargin">
<number>20</number>
</property>
<property name="bottomMargin">
<number>20</number>
</property>
<item>
<widget class="QLabel" name="feedbackLabel">
<property name="text">
<string>&lt;h3&gt;We love putting in placeholder text for our dialogs. &lt;/h3&gt; Placeholder text like this helps us to see how this dialog will look in Qt Designer without having to recompile for every change.&lt;br/&gt;&lt;br/&gt;In addition to using placeholder text and placeholder text, you can always use this place holder text to hold your place and show how an html link will look. WHile we do not always use placeholder text like this text, we do use it when we are designing our dialog boxes and we know that the text will need to be in a localization file which we have not yet setup.</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="FeedbackDialog.qrc"/>
<include location="WelcomeScreenDialog.qrc"/>
</resources>
<connections/>
</ui>
-8
View File
@@ -1022,13 +1022,9 @@ void MainWindow::InitActions()
.Connect(&QAction::triggered, this, &MainWindow::RefreshStyle);
// Help actions
am->AddAction(ID_DOCUMENTATION_GETTINGSTARTEDGUIDE, tr("Getting Started"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_TUTORIALS, tr("Tutorials"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_GLOSSARY, tr("Glossary"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_O3DE, tr("Open 3D Engine Documentation"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_GAMELIFT, tr("GameLift Documentation"))
@@ -1038,15 +1034,11 @@ void MainWindow::InitActions()
am->AddAction(ID_DOCUMENTATION_GAMEDEVBLOG, tr("GameDev Blog"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_TWITCHCHANNEL, tr("GameDev Twitch Channel"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_FORUMS, tr("Forums"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_AWSSUPPORT, tr("AWS Support"))
.SetReserved();
am->AddAction(ID_DOCUMENTATION_FEEDBACK, tr("Give Us Feedback"))
.SetReserved();
am->AddAction(ID_APP_ABOUT, tr("&About Open 3D Engine"))
.SetStatusTip(tr("Display program information, version number and copyright"))
.SetReserved();
@@ -477,9 +477,6 @@ set(FILES
Export/OBJExporter.h
Export/OCMExporter.cpp
Export/OCMExporter.h
FeedbackDialog/FeedbackDialog.h
FeedbackDialog/FeedbackDialog.cpp
FeedbackDialog/FeedbackDialog.ui
EditorFileMonitor.cpp
EditorFileMonitor.h
Include/IEditorFileMonitor.h
@@ -199,7 +199,7 @@ namespace AssetBundler
void MainWindow::OnSupportClicked()
{
QDesktopServices::openUrl(
QStringLiteral("https://docs.aws.amazon.com/lumberyard/latest/userguide/asset-bundler-overview.html"));
QStringLiteral("https://docs.o3de.org/docs/user-guide/packaging/asset-bundler/"));
}
void MainWindow::ShowLogContextMenu(const QPoint& pos)
@@ -782,16 +782,6 @@ namespace AssetProcessor
}
// if we get here, we are good to go in terms of disk space and sources existing, so we make the best attempt we can.
// first, we broadcast the name of ALL of the outputs we are about to change:
for (const QPair<QString, QString>& filePair : outputsToCopy)
{
const QString& productAbsolutePath = filePair.second;
// note that this absolute path is a real file system path, and the following API requires normalized paths:
QString normalized = AssetUtilities::NormalizeFilePath(productAbsolutePath);
AssetProcessor::ProcessingJobInfoBus::Broadcast(&AssetProcessor::ProcessingJobInfoBus::Events::BeginCacheFileUpdate, normalized.toUtf8().constData());
}
// after we do the above notify its important that we do not early exit this function without undoing those locks.
bool anyFileFailed = false;
@@ -815,16 +805,6 @@ namespace AssetProcessor
AZ_TracePrintf(AssetBuilderSDK::WarningWindow, "Unable to change permission for the file: %s.\n", productAbsolutePath.toUtf8().data());
}
}
// once we're done, regardless of success or failure, we 'unlock' those files for further process.
// if we failed, also re-trigger them to rebuild (the bool param at the end of the ebus call)
for (const QPair<QString, QString>& filePair : outputsToCopy)
{
const QString& productAbsolutePath = filePair.second;
// note that this absolute path is a real file system path, and the following API requires normalized paths:
QString normalized = AssetUtilities::NormalizeFilePath(productAbsolutePath);
AssetProcessor::ProcessingJobInfoBus::Broadcast(&AssetProcessor::ProcessingJobInfoBus::Events::EndCacheFileUpdate, normalized.toUtf8().constData(), anyFileFailed);
}
return !anyFileFailed;
}
@@ -509,7 +509,7 @@ void MainWindow::OnRescanButtonClicked()
void MainWindow::OnSupportClicked(bool /*checked*/)
{
QDesktopServices::openUrl(
QStringLiteral("https://docs.aws.amazon.com/lumberyard/latest/userguide/asset-pipeline-processor.html"));
QStringLiteral("https://docs.o3de.org/docs/user-guide/assets/pipeline/"));
}
void MainWindow::EditConnection(const QModelIndex& index)
@@ -438,7 +438,7 @@ namespace AssetProcessor
void ProductAssetDetailsPanel::OnSupportClicked(bool /*checked*/)
{
QDesktopServices::openUrl(
QStringLiteral("https://docs.aws.amazon.com/lumberyard/latest/userguide/asset-bundler-assets-resolving.html"));
QStringLiteral("https://docs.o3de.org/docs/user-guide/packaging/asset-bundler/assets-resolving/"));
}
@@ -83,6 +83,10 @@ namespace AssetUtilsInternal
timer.start();
do
{
QString normalized = AssetUtilities::NormalizeFilePath(outputFile);
AssetProcessor::ProcessingJobInfoBus::Broadcast(
&AssetProcessor::ProcessingJobInfoBus::Events::BeginCacheFileUpdate, normalized.toUtf8().constData());
//Removing the old file if it exists
if (outFile.exists())
{
@@ -133,11 +137,19 @@ namespace AssetUtilsInternal
}
}
} while (!timer.hasExpired(waitTimeInSeconds * 1000)); //We will keep retrying until the timer has expired the inputted timeout
// once we're done, regardless of success or failure, we 'unlock' those files for further process.
// if we failed, also re-trigger them to rebuild (the bool param at the end of the ebus call)
QString normalized = AssetUtilities::NormalizeFilePath(outputFile);
AssetProcessor::ProcessingJobInfoBus::Broadcast(
&AssetProcessor::ProcessingJobInfoBus::Events::EndCacheFileUpdate, normalized.toUtf8().constData(), !operationSucceeded);
if (!operationSucceeded)
{
//operation failed for the given timeout
AZ_Warning(AssetProcessor::ConsoleChannel, false, "WARNING: Could not copy/move source %s to %s, giving up\n", sourceFile.toUtf8().constData(), outputFile.toUtf8().constData());
AZ_Warning(AssetProcessor::ConsoleChannel, false, "WARNING: Could not %s source from %s to %s, giving up\n",
isCopy ? "copy" : "move (via rename)",
sourceFile.toUtf8().constData(), outputFile.toUtf8().constData());
return false;
}
else if (failureOccurredOnce)
@@ -458,22 +458,20 @@ namespace AZ
decltype(boneAnimations) fillerAnimations;
// Go through all the animations and make sure we create animations for bones who's parents don't have an animation
// Go through all the animations and make sure we create placeholder animations for any bones missing them
for (auto&& anim : boneAnimations)
{
const aiNode* node = scene->mRootNode->FindNode(anim.first.c_str());
const aiNode* parent = node->mParent;
while (parent && parent != scene->mRootNode)
for (auto boneName : boneList)
{
if (!IsPivotNode(parent->mName))
if (!IsPivotNode(aiString(boneName.c_str())))
{
if (!boneAnimations.contains(parent->mName.C_Str()) &&
!fillerAnimations.contains(parent->mName.C_Str()))
if (!boneAnimations.contains(boneName) &&
!fillerAnimations.contains(boneName))
{
// Create 1 key for each type that just copies the current transform
ConsolidatedNodeAnim emptyAnimation;
aiMatrix4x4 globalTransform = GetConcatenatedLocalTransform(parent);
auto node = scene->mRootNode->FindNode(boneName.c_str());
aiMatrix4x4 globalTransform = GetConcatenatedLocalTransform(node);
aiVector3D position, scale;
aiQuaternion rotation;
@@ -490,13 +488,11 @@ namespace AZ
emptyAnimation.m_ownedScalingKeys.emplace_back(0, scale);
emptyAnimation.mScalingKeys = emptyAnimation.m_ownedScalingKeys.data();
fillerAnimations.insert(AZStd::make_pair(
parent->mName.C_Str(), AZStd::make_pair(anim.second.first, AZStd::move(emptyAnimation))));
fillerAnimations.insert(
AZStd::make_pair(boneName, AZStd::make_pair(anim.second.first, AZStd::move(emptyAnimation))));
}
}
parent = parent->mParent;
}
}