Commit Graph

790 Commits (289d783f25a61d1789ef443190fb0d8fb4b7d7ab)

Author SHA1 Message Date
Steve Pham 289d783f25 Fixes for Project Manager on Linux
- Fix error with EngineFinder using the wrong path to locate project.json
- Simplified and expanded clang detection
- Remove forcing clang-12 for builds and will rely on the new cmake detection of clang by default

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
AMZN-stankowi 6e70097ad7
Fixed all errors with default seeds (#5489)
* Cleaning up errors with default assets, used in bundled release builds

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updated simple asset references to be to the product, not source assets

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
4 years ago
AMZN-stankowi 2df8d5b620
Fixed crash if you save a bundle outside the default bundle folder (#4974) (#5255)
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
4 years ago
amzn-mike e0cc86e898
Remove AssetProcessorManagerTest AssertAbsorber and update test to use the one from the base class instead (#5216) (#5381)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
(cherry picked from commit b3301414ad)

# Conflicts:
#	Code/Tools/AssetProcessor/native/tests/assetmanager/AssetProcessorManagerTest.cpp
4 years ago
Alex Peterson 461b63c61a
Temporarily disable the platform filter (#5454)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
AMZN-Phil c7e5a0fe12 Merge branch 'stabilization/2110' of https://github.com/aws-lumberyard/o3de into Prism/clouddownloadicon
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
AMZN-Phil e9c3a453c5
Merge pull request #5341 from aws-lumberyard-dev/Prism/CheckGemUpdates
Add ability to overwrite o3de object when downloading
4 years ago
lumberyard-employee-dm 5fc4551ac0
[LYN-8041] Enable relocation of the Project Game Release Layout (#5380)
* Enable relocation of the Project Game Release Layout

Relocating the Project Game Release Layout to another directory on the file system failed due to the querying of the engine root failing due to the ComponentApplication::m_engineRoot not using the project path stored in the SettingsRegisry if the engine root cannot be detected

Removed the ApplicationRequestBus GetEngineRoot function.
The ComponentApplicationRequestBus has a function of the same name that returns the same path.

Removed the deprecated GetAppRoot function.
The path it returns has no defined value. It was not the engine root or the project root.
Removed unused CFileUtil and CFileUtil_impl functions that were invoking the ApplicationREquestBus GetEngineRoot function.
On the way to update the functions it was discovered that they aren't called

Added a CalculateBranchToken overload that can populate a fixed_string to avoid heap allocations

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Protect against an empty list of artifacts to remove when generating the
engine.pak

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Alex Peterson d053a03b5f
Don't update status filter when filling gem model (#5427)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 431f80510f
Merge pull request #5414 from aws-lumberyard-dev/Prism/DisplayAddGemInfo
Fix Additional Gem Info Handling and Display
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
nggieber 14a1206274 Add additional info handling and proper display for gems
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
Alex Peterson a297ceece4 Merge remote-tracking branch 'upstream/stabilization/2110' into Prism/show-gem-repos-update
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 0295aa7070 revert change to cancel label href
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 21c02b195f Update signals/slots to match upstream changes
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 4ce39ea167 Fix tags, downloads, and several vector copies
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
AMZN-Phil c6e77f8e32 Code readability improvements
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
amzn-mike 1399159908
Fix Assert Absorber being leaked due to one of the tests setting m_errorAbsorber to nullptr without deleting the object (#5176) (#5348)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
(cherry picked from commit 916fb413c9)
4 years ago
Chris Galvan fdc56b4a57
Merge pull request #5337 from aws-lumberyard-dev/cgalvan/MakeProcessingOverlayWidgetAlwaysOnTop
Set window flags so the processing overlay widget always appears on top.
4 years ago
AMZN-Phil 31382d080e Remove duplication, additional readability and added missed file
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
Alex Peterson c69142b73b Merge branch upstream/stabilization/2110
* Conflict GemModel.h

Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson d582715321
Merge pull request #5318 from aws-lumberyard-dev/StablizationMacPMLaunchEditor
[MacOS] Launching Editor from ProjectManager and other misc. fixes
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
AMZN-Phil 393f08fc4b Merge remote-tracking branch 'upstream/stabilization/2110' into Prism/clouddownloadicon
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
AMZN-Phil 9d977e81da Uncomment temporary disabling of toast notifications
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
Chris Galvan c37767f92a Set window flags so the processing overlay widget always appears on top.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
amzn-mike 20edb35cdc
[LYN-7245] Fix test thread being created multiple times (#5267) (#5315)
* Fix test thread being created multiple times

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Update test to not use a callback

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Add some more comments

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Add back the callback, remove the use of a thread/sleep

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
(cherry picked from commit 73202c2091)
4 years ago
AMZN-nggieber 4721ef8298
License Info is Displayed as Clickable Link in Gem Catalog + Other Inspector Improvements (#5272)
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
amzn-sj 9958e5f012 [MacOS] Launching Editor from ProjectManager and other misc. fixes
Signed-off-by: amzn-sj <srikkant@amazon.com>
4 years ago
Alex Peterson 774b7c2593 Fixed minor logic issue with gem removal warning
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 2f8de3e797 Keep gem repos pages in sync
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
lumberyard-employee-dm 627012840d
Update how Project Filepaths are calculated when not supplied via command line (#5194)
* Fixed the return value of the ConvertToAbsolutePath function

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added the generated cmake_dependencies.*.setreg files to engine.pak (#5073)

* Copied the generated cmake_dependencies.*.setreg file to the Cache
directory

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed the platform name from the bootstrap.game.*.setreg

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Update how the project related file paths are determined when not
supplied.

The project-path determination now goes back to only detecting a "project.json" file.
It no longer attempts to detect a "Cache" directory

The project-cache-path determination now in addition to checking the
project_cache_path key searches for a "Cache" directory.

The project-path defaults to executable folder if it cannot be detected.

The copying of generated executable folder Registry directory contents
to the product cache is now removed after the archive step.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the invocation of the AssetProcessor in Jenkins to supply an
absolute path to the project.

The project-path is no longer treated as relative to the engine root,
but instead relative to the current working directory at application
startup.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added constant for the storing the name of Cache directory

Fixed typos and grammatical errors in the SettingsRegistryMergeUtils.cpp

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated UnitTest prepend the EngineRoot path to "AutomatedTesting" when
setting the project path.

This is needed now that the project-path isn't treated relative to the
EngineRoot if it is not absolute.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fix AssetSeedManagerTest and PlatformAddressedAssetCatalogManagerTest

Instead of trying to used the AutomatedTesting directory as the project root, the temp directory created during the test is used as the project root.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Moved the setting of the project cache root folder and project
asset platform root folder into the `if (!projectCachePath.empty())`
block

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removing the scan up logic for the "Cache" directory.

This is no longer needed to locate the project cache path in a Project Game Release Layout.

Because the project path defaults to the executable directory if, it is not found, the Cache directory will be set to the "Cache" directory within the executable directory.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
AMZN-stankowi 6b5f5bc666
Bundled release build bug fixes cherry picked from development (#5270)
* Fixed some files missed when groundplane_521 was renamed to 512 (#4958)

* Fixed references to 521x521 to reference the correct 512x512 FBX file

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Fixed asset hints

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Moved the Asset Catalog loading from LmbrCentral to the AzFramework::Application (#4568)

* Moved the loading of the AssetCatalog from LmbrCentralSystemComponent to AzFramework Application

Modified the AssetCatalog::InitializeCatalog function to no longer rely on the TickBus to send out the `AssetCatalogEventBus::OnCatalogLoaded` event.
It now queues a function on the AssetCatalogRequestBus to send the OnCatalogLoaded event as soon as the dispatching for the AssetCatalogRequestBus has completed on the current thread.
This is done by updating the AssetCatalogRequestBus to use EBus ThreadDispatchPolicy to add a callback to invoke any queued function has soon a thread has finished dispatching and has released its DispatchMutex

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AssetCatalogRequestBus to add a custom DispatchLockGuard

The AssetCatalogRequestBus uses the custom lock guard to dispatch queued
events after it has unlocked it's context mutex for the current thread.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed GetContext call from the
AssetCatalogRequests::PostThreadDispatchInvoker

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the definition of FileTagQueryManager::GetDefaultFileTagFilePath
function to return a path

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AZ_CONSOLEFREEFUNC macro to actually use the _NAME

The _NAME parameter was not being used before, resulting in the Console
stringified name of the function being used.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed CrySystem dependencies from the BundlingSystemComponent

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Moved the loading of the AssetCatalog from LmbrCentralSystemComponent to AzFramework Application

Modified the AssetCatalog::InitializeCatalog function to no longer rely on the TickBus to send out the `AssetCatalogEventBus::OnCatalogLoaded` event.
It now queues a function on the AssetCatalogRequestBus to send the OnCatalogLoaded event as soon as the dispatching for the AssetCatalogRequestBus has completed on the current thread.
This is done by updating the AssetCatalogRequestBus to use EBus ThreadDispatchPolicy to add a callback to invoke any queued function has soon a thread has finished dispatching and has released its DispatchMutex

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AssetCatalogRequestBus to add a custom DispatchLockGuard

The AssetCatalogRequestBus uses the custom lock guard to dispatch queued
events after it has unlocked it's context mutex for the current thread.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed GetContext call from the
AssetCatalogRequests::PostThreadDispatchInvoker

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the definition of FileTagQueryManager::GetDefaultFileTagFilePath
function to return a path

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AZ_CONSOLEFREEFUNC macro to actually use the _NAME

The _NAME parameter was not being used before, resulting in the Console
stringified name of the function being used.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed CrySystem dependencies from the BundlingSystemComponent

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Addded missing template parameter to AssetCatalogRequests

The fixes the compile error.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding AssetBus::MultiHandler::BusDisconnect call

The BlastSystemComponent was connecting to the Bus, but not
disconnecting from it, causing an assert to fire to it being a
multi-thread bus

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added support for DataDrive lifecycle events to the ComponentApplication

The events are using the SettingsRegistry NotifyEvent to track when
certain keys are modified to signal handlers.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Corrected invalid JSON creation in ModuleManager::DeactivateEntities

Resolved clang warning about used type alias

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fix for dangling reference in lambda registered to the SettingsRegistry
Notifier event

This was causing the EditorPythonBinding tests to crash due to the
following circumstances.

First Python has created an instance of a SettingsRegistryProxy
Second the SettingsRegistry sends an event during the time when the
SettingsRegistryProxy exists.

This issue was exposed due to the ComponentApplication Lifecycle events
using the SettingsRegistry to dispatch during various times of the
application workflow.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added the generated cmake_dependencies.*.setreg files to engine.pak (#5073)

* Copied the generated cmake_dependencies.*.setreg file to the Cache
directory

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed the platform name from the bootstrap.game.*.setreg

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixes for release builds with DCO fix (#5164)

* This set of changes is work toward allowing release builds to work with asset bundler generated bundles and legacy, non-prefab levels. This requires some other in-flight changes before this work is complete.

    Updated engine seed list + fixed automated test
    ComponentApplicationLifecycle has the ability to automatically register events if asked to register a handler and the event doesn't exist. This is only intended for cases where you need to register a handler early in startup before the settings registry file is loaded.
    Added two new lifecycle events: One after the system entity has been activated, and one after the system interface has been created.
    If you load an archive before the system entity has been activated, archive.cpp caches information about those archives until that time, so it can finish registration. This is because the serialization system and BundlingSystemComponent both need to be available to do this registration, but the bundles have to be loaded before those are initialized so that the settings registry file can be loaded.
    Fixed an error were mounted pak files were searching for levels.pak and not level.pak, and not finding them. I'm pretty sure this logic doesn't do anything functional either way, but I've been testing legacy levels with this change and they work now.
    Moved wildcard pak loading to where engine.pak is loaded. This is because the settings registry file that defines the IO stack to spin up must be available early in application startup, and this file must be within a mounted pak file. If you're using asset bundler generated bundles, they need to be loaded at this time so that file can be loaded.
    Atom's BootstrapSystemComponent.cpp no longer initializes on AssetCatalogLoaded, and instead initializes on the ApplicationLifecycle event SystemInterfaceCreated. This is because the base assetcatalog.xml file is really just a development time concept, this file should not be used in packaged release builds, because those builds will make use of delta catalogs in each bundle loaded. The asset catalog contains the list of all assets that were in the cache at development time, and this contains content that developers don't want to ship, and they may want to specifically hide from their customers, so data miners don't find secrets about upcoming game content.

Recovering from a branch that had incorrect DCO

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Fixed an incorrect ebus disconnect and removed an include that's no longer needed

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Fixed a copy and paste typo from trying to recover the previous pull request

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updated product IDs for the settings registry builder to no longer collide with the JSON builder. Now they are based on a hash of the configuration.
Updated the engine default seed list to include the new asset ID info for the renamed bootstrap file

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updated the path to the application lifecycle events, because runtime settings aren't included in the merged bootstrap file.
Addressed some feedback on printing out a string view on an error

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Removed a test that uses old assets that aren't relevant. We may not need this test anymore, but if we do we've backlogged a task to create a new test to cover this behavior without using old assets.

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Renamed SystemInterfaceCreated event to LegacySystemInterfaceCreated
Removed SystemEntityActivated event. Now that I have the rest of the fixes in this pull request, this new event wasn't needed, the already existing SystemComponentsActivated event does what I need.
Changed list to vector

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Alex Peterson 861b29ffc7 Fix spelling change for member variable
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 523f2e6465 Merge remote-tracking branch 'upstream/stabilization/2110' into Prism/show-gem-repos-update
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>

# Conflicts:
#	Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.cpp
4 years ago
Alex Peterson 27c7e71516 WIP default gem sorting
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
AMZN-Phil 99ef2735b7 Create download UI once and update existing UI with progress
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
AMZN-Phil a187ee09a1
Merge pull request #5093 from aws-lumberyard-dev/Prism/SearchForGemsFromTags
Scroll to and Select Gem When Gem Tag is Clicked
4 years ago
Alex Peterson 49da85ca3a
Fix new project path when enabling gem (#5173)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
nggieber 2ae927c754 Fix minor indent issue
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
Alex Peterson 259ee654ae WIP refresh gem catalog in place
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
nggieber 858e287b1f Removed unused set filter function
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
nggieber 08255d2eda Clicking tag now select gem and scrolls to it, it also resets filters if gem is filtered out, also gem filter creation was refactored
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
Alex Peterson 781eaabd94 Access gem repos from catalog non-destructively
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 65d23c7ed6
Merge pull request #5086 from aws-lumberyard-dev/Prism/RefreshRepoButtonDisablesRepo
Removed Gem Repo Enable Button
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 5db6ffb6f3
Disable custom titlebar on Mac, Linux, fix resize (#4973) (#5114)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson b4dd4c8f02
Add engine name, folder and fix refresh crash (#5112)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 6cce184340
Enforce unique gem names in catalog (#5063)
Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Alex Peterson 00a49fa251
Use source model data instead of filtered (#5071)
Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Tommy Walton f350ba3042
Modify the AssetBundler to correctly identify the Gems that are enabled in the current active project (#5072)
* Modify the AssetBundler to correctly identify the Gems that are enabled in the current active project

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Removed unnecessary if() statement and updated the comment.

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Disabling gem loading in the asset bundler tests, just like the asset bundler itself.

Signed-off-by: Tommy Walton <waltont@amazon.com>
4 years ago
nggieber 37243c74ec Make gem tags clickable and filter by their text in the Gem Catalog when clicked
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
nggieber 8117798949 Removed gem repo enable button
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago