Commit Graph

4529 Commits

Author SHA1 Message Date
Danilo Aimini 6bce0a9a8d LYN-7054 + LYN-7704 | Exit Focus Mode when starting Game Mode, correct painting of Prefab capsules in Outliner. (#5280)
* Add RefreshAllContainerEntities function to ContainerEntityInterface. It refreshes all registered containers so that listeners can refresh their state.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Move Prefab border painting to foreground, and invert foreground painting order. This ensures the Prefab capsules are drawn according to UX.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-11-04 09:52:35 -07:00
Alex Peterson 2f8de3e797 Keep gem repos pages in sync
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
2021-11-04 09:37:26 -07:00
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>
2021-11-04 11:02:18 -05:00
amzn-mike 73202c2091 [LYN-7245] Fix test thread being created multiple times (#5267)
* 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>
2021-11-04 10:45:18 -05:00
Michael Pollind 891a4f6782 bugfix: resolve crash with FBX Settings (#4813) (#4944)
-prevent export of ModuleInitISystem and ModuleShutdownISystem

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-11-04 08:22:20 -07:00
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>
2021-11-04 06:46:11 -07:00
Tom Hulton-Harrop 4c41a4dfc9 Ensure ImGui menu is displayed when the Viewport UI viewport border is showing (#5240)
* add optimize off code temporarily

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* ensure the imgui menu displays when the viewport border is active

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
2021-11-04 09:16:27 +00:00
nvsickle c9fb41d0e5 Fix Entity Outliner sort order with Prefabs enabled
The EditorEntitySortComponent was relying on serialization callbacks not exposed to the JSON serializer to marshal data between its serialized state and its runtime state, which led to the outliner sort order becoming disrupted every time a prefab propagation occurs (and the component is subsequently serialized and deserialized). This change:
- Forces `PrepareSave` and `PostLoad` for `EditorEntitySortComponent` to be called at update (direct descendant added or removed) and activation time respectively while prefabs are enabled. While this could be optimized, and this logic stands to be refactored once slices are fully removed, I was unable to gather any samples in which `PrepareSave` are called in a sampling profiler in a scene with 1000 top-level entities, so I don't anticipate this introducing a meaningful performance regression in the short term.
- Disables updates in `EditorEntitySortComponent` during prefab propagation, as any detected changes do not signal authored intent at this time
- Made `GetEntityChildOrder` in `EditorEntityHelpers` work with prefabs enabled, which restores the existing "Sort: A -> Z" and "Sort: Z -> A" behaviors (which have some preexisting issues this does not fix)
- Adds a Python regression test to the Editor suite to validate this behavior - the test is currently in TestSuite_Main and not TestSuite_Main_Optimized because it requires an Editor launch with prefabs enabled, this can be fixed once AutomatedTesting is further migrated away from slices

@AMZN-daimini has a larger change that improves the JSON serialization format (https://github.com/o3de/o3de/pull/1292) which we should absolutely bring in in the future to improve the legibility of the Prefab format, but this change fixes the functionality (including saving & reloading a level and keeping a consistent order) without altering the Prefab format - this lower impact radius fix is my preference for our stabilization period.

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-11-03 19:57:51 -07:00
kberg-amzn 7e65104155 Addressing PR feedback
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-11-03 19:40:20 -07:00
Chris Burel 0502ddbe2b [Linux] Return the active window when there's no cursor constraint window
The cursor constraint window is only set by the Editor. In the game
launcher, this function was returning a null window, which makes
`GetSystemCursorPositionNormalized()` unable to determine the cursor
position. This in turn causes mouse input in ImGui to not work.

Fixes #4722, LYN-7491

Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-03 17:06:36 -07:00
Chris Burel 43c83f13c6 [Linux] Add unit tests for xcb mouse input
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-03 17:06:36 -07:00
Chris Burel 7e67064ef8 [Linux] Style fixes: prefer nullptr to NULL, etc
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-03 17:06:36 -07:00
Chris Burel ae1b6d6729 [Linux] Unify Editor and Game raw mouse event handling
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-03 17:06:36 -07:00
kberg-amzn 70a1eb65d8 Improving comments around heartbeat sends + bumping number of heartbeats for increased keep-alive robustness under high packet loss
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-11-03 14:26:41 -07:00
kberg-amzn fda7a6353e Backing out some temporary debugging code
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-11-03 14:20:56 -07:00
kberg-amzn 5b734b9d41 A number of fixes to timeout and disconnect handling
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-11-03 14:17:20 -07:00
Esteban Papp e4c46ffb5d Merge pull request #5229 from aws-lumberyard-dev/issues/4683
Adds LuaIDE->GridHub dependency
2021-11-03 13:57:47 -07:00
Alex Peterson 861b29ffc7 Fix spelling change for member variable
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
2021-11-03 13:45:40 -07:00
Michael Pollind 4277414268 bugfix: cycle mouse to the other side of the screen when using scrollbox (#5048)
* bugfix: cycle mouse to the other side of the screen when using scrollbox

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: added comments to SpinBox

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-11-03 13:31:56 -07:00
amzn-sj 41d3a38781 Add missing header file
Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-11-03 12:42:22 -07:00
Michael Pollind d8c2088d1d bugifx: resolve crash with project manager (#5151)
- system allocator not configured in environment for AZQtComponents
- WA_DeleteOnClose will destroy the toast dialog causing a crashing when ToastNotificationsView tries to access the pointer

issue: https://github.com/o3de/o3de/issues/5129
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-11-03 12:26:49 -07:00
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
2021-11-03 12:24:34 -07:00
Alex Peterson 27c7e71516 WIP default gem sorting
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
2021-11-03 12:22:26 -07:00
amzn-sj 9a15b7cadc 1. Fix "Open Editor" button not launching Editor on Mac.
2. Update LaunchAssetProcessor() paths on Mac.
3. LaunchAssetProcessor() uses ProcessWatcher wrappers.
4. SDK Launcher registers the engine when launching.

Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-11-03 11:18:57 -07:00
Danilo Aimini 618777f8d4 LYN-7536 | Focus Mode - Introduce shortcuts to open/close prefab editing (#5230)
* Enable closing prefab by double-clicking it when it's in focus.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Enable double clicking on level prefab to close focus mode and return to editing the level.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Introduce API function to go up one level in the Prefab Focus Mode hierarchy.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Enable keyboard shortcuts to more easily navigate the prefab hierarchy.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Tie the "Open/Edit Prefab" action to the = key on top of +. This allows users with compact US keyboards to use either key, preventing them from having to press Shift and =.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Replace the behavior of the "Up one level" button in the breadcrumbs with the new function that serves the same purpose. Also show the - shortcut in the tooltip.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Fix FocusOnParentOfFocusedPrefab to require the entity context id (to conform with the other functions in the API that don't pass entityIds). Expand its usage to other functions that did the same operation manually.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Include fix for non-unity builds

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-11-03 11:15:11 -07:00
bosnichd ab76c62188 Allow input devices to be constructed with a custom implementation. (#5217)
* Allow input devices to be constructed with a custom implementation.

This augments the existing functionality that allows for an input device implementation to be swapped out at runtime,

Signed-off-by: bosnichd <bosnichd@amazon.com>

* Updates based on review feedback, and fix for clang builds.

Signed-off-by: bosnichd <bosnichd@amazon.com>

* Update based on review feedback, and change the InputDeviceImplementationRequest bus to use the same ImplementationFactory type alias.

Signed-off-by: bosnichd <bosnichd@amazon.com>
2021-11-03 09:07:00 -06:00
amzn-mike b3301414ad Remove AssetProcessorManagerTest AssertAbsorber and update test to use the one from the base class instead (#5216)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2021-11-03 06:54:00 -07:00
Esteban Papp 556847c93e Adds LuaIDE->GridHub dependency
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-11-02 17:37:31 -07:00
AMZN-Phil 99ef2735b7 Create download UI once and update existing UI with progress
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
2021-11-02 16:16:37 -07:00
Danilo Aimini 4e2c28105c LYN-7547 | Focus Mode - It is possible to create a child entity of a closed container (#5193) (#5220)
* Disable drag&drop of entities on closed containers.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Do not show the Create Entity context menu when right clicking a closed prefab container.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Disable entity creation on closed containers, both via the Create Entity flow and drag/drop of assets.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Minor changes to modernize old code.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-11-02 15:32:51 -07:00
Danilo Aimini 9dc85000a3 LYN-7547 | Focus Mode - It is possible to create a child entity of a closed container (#5193)
* Disable drag&drop of entities on closed containers.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Do not show the Create Entity context menu when right clicking a closed prefab container.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Disable entity creation on closed containers, both via the Create Entity flow and drag/drop of assets.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Minor changes to modernize old code.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-11-02 13:21:51 -07:00
rgba16f [Amazon] 5c072a5d51 Part 2 of enabling Atom to use TaskGraph
Enable Atom CullingScene to use TaskGraph
Enable Atom PNG save to use TaskGraph for red/blue color channel swap on save out.

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2021-11-02 15:02:08 -05:00
Mikhail Naumov 22b21acc97 No longer can create camera in an empty level (#5189)
Signed-off-by: Mikhail Naumov <mnaumov@amazon.com>
2021-11-02 12:24:14 -07:00
Mike Balfour 6d7be70133 Merge pull request #5202 from aws-lumberyard-dev/mbalfour/gitflow_211102_o3de
Merging stabilization/2110 to development
2021-11-02 13:33:14 -05:00
amzn-mike 3d61db8d1d [LYN-7245] AP unit test segfault - Clean up debug messages (#5192)
* Added newline to debug prints.  Added additional debug prints based on previous segfault log

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

* Add more debug messaging

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

* Add db path to output

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2021-11-02 10:51:36 -07:00
amzn-mike e11b1e2c9c [LYN-7774] wildcard source dependencies not refreshing with new files (#5054)
* Fix handling of absolute path dependencies when a newly added file satisfies a previously added dependency

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

* Fixed relative path wildcard dependencies matching absolute paths

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

* Update extra unit test to only run on windows since this problem doesn't apply to other OSes

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2021-11-02 10:51:28 -07:00
Allen Jackson 255e6894dc {} adding behavior for GraphData BoneData (#5061)
* adding behavior for AZ::SceneData::GraphData::BoneData
* adding behavior for AZ::SceneData::GraphData::RootBoneData


Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
2021-11-02 12:48:51 -05:00
Jeremy Ong 47b7ad1ec4 Merge pull request #5018 from aws-lumberyard-dev/burelc/linuxApTetherLifetime
[Linux] Terminate AssetProcessor when spawned by the parent project process
2021-11-02 11:08:47 -06:00
lumberyard-employee-dm a9f7ab4aaf Fixed the return value of the ConvertToAbsolutePath function (#5195)
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-11-02 11:48:09 -05:00
bosnichd 403e2ff1e3 Fix bug in LocalFileIO::ConvertToAliasBuffer when a resolved alias ends in a path separator. (#5136)
* Fix bug in LocalFileIO::ConvertToAliasBuffer when a resolved alias ends in a path separator, in which case we do not want to consume it when replacing it with the alias.

eg. If the @products@ alias resolves to "C:\" and we call ConvertToAliasBuffer with "C:\some_folder\some_file.txt", the current behaviour results in "@products@some_folder\some_file.txt", but it needs to be "@products@\some_folder\some_file.txt"

Signed-off-by: bosnichd <bosnichd@amazon.com>

* Update based on review feedback.

Signed-off-by: bosnichd <bosnichd@amazon.com>
2021-11-02 10:31:50 -06:00
srikappa-amzn 63e68f02e7 Add benchmarks for SpawnAllEntities call in SpawnableEntitiesManager (#5141)
* Add benchmarks for SpawnAllEntities call in SpawnableEntitiesManager

Signed-off-by: srikappa-amzn <srikappa@amazon.com>

* Minor changes to SpawnAllEntities benchmarks setup

Signed-off-by: srikappa-amzn <srikappa@amazon.com>

* Used aznumeric_cast and improved a function name

Signed-off-by: srikappa-amzn <srikappa@amazon.com>

* Fixed an invalid converstion from uint64_t to unsigned int

Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-11-02 09:23:43 -07:00
amzn-mike 6da75821c5 Move Exception PrintCallstack call before any ebus calls to help track down issue with crash during an exception (#5188)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2021-11-02 09:22:03 -07:00
AMZN-stankowi 6d592d78cd 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>
2021-11-02 09:03:38 -07:00
Scott Romero 797b8248e5 [development] Consolidated programmatic profiler capture API (#4969)
Merged overlapping profiler EBuses/Interfaces into AzCore
Fixed ambiguous LogLevel type in some unity file scenarios
Added cvar/console access for profiler capture
Added utilities for reflecting AZ::Interfaces through the BehaviorContext
Included profiler system sample python script

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2021-11-02 09:00:15 -07:00
Michael Pollind 32bebe1c8c bugifx: resolve crash with project manager (#5151)
- system allocator not configured in environment for AZQtComponents
- WA_DeleteOnClose will destroy the toast dialog causing a crashing when ToastNotificationsView tries to access the pointer

issue: https://github.com/o3de/o3de/issues/5129
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-11-02 08:59:19 -07:00
Mike Balfour d106c9aba5 Merge pull request #5174 from aws-lumberyard-dev/Prefab/RevertImmediatePropagation
Prefab/revert immediate propagation
2021-11-02 10:59:17 -05:00
AMZN-Phil a187ee09a1 Merge pull request #5093 from aws-lumberyard-dev/Prism/SearchForGemsFromTags
Scroll to and Select Gem When Gem Tag is Clicked
2021-11-02 08:27:13 -07:00
Mike Balfour a769a324fa Merge commit 'de6af361ab15a9fc504518368e5a8fca2db5a065' into mbalfour/gitflow_211102_o3de 2021-11-02 09:38:51 -05:00
Mike Balfour 008e825bd2 Merge commit 'bf6fd2a6d6b09a87c2478d389efc306d1215ecb5' into mbalfour/gitflow_211102_o3de 2021-11-02 09:38:46 -05:00
Mike Balfour a40700be2b Merge commit '49da85ca3a4acb633d9c63abcd43f485905aeb92' into mbalfour/gitflow_211102_o3de 2021-11-02 09:38:40 -05:00