Commit Graph

2106 Commits

Author SHA1 Message Date
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
Vincent Liu 96159c1e3a Add missing exclamation mark for documentation (#5144)
* Add missing exclamation mark for documentation

Signed-off-by: onecent1101 <liug@amazon.com>

* Add more

Signed-off-by: onecent1101 <liug@amazon.com>
2021-11-01 14:52:40 -07:00
AMZN-ScottR 2d7c6af97c Merge branch 'development' into profiler_capture_api
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-29 17:21:29 -07:00
AMZN-ScottR 4721f44b92 [profiler_capture_api] more changes based on PR feedback
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-29 17:19:38 -07:00
AMZN-ScottR b2e6711196 [profiler_capture_api] fixed clang compile error
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-29 14:45:25 -07:00
AMZN-AlexOteiza e871dff70e Added two complex prefab tests (#5089)
* Added two complex prefab tests

* Fix compile error

* Added extra methods, fixed test failure

* Addressed PR commments

* More PR comments

* Fix space

* Fix ar error
2021-10-29 22:32:33 +01:00
Adi Bar-Lev 66612cac28 Merge pull request #5116 from aws-lumberyard-dev/barlev/gitflow_211028_O3DE
Barlev/gitflow 211028 O3DE
2021-10-29 10:00:14 -04:00
Michael Pollind f40191dd8c bugfix: resolve broken focus for viewport (#5059)
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-10-29 10:15:22 +01:00
Adi Bar-Lev 8dca689444 Merge commit 'caf247fcab0fc65773c6a95f1bbcfe10b184c5e0' into barlev/gitflow_211028_O3DE 2021-10-28 20:06:25 -04:00
Adi Bar-Lev 8119fe4d86 Merge commit '8d7eb4767afff80992bebe4619afc10aef04a93b' into barlev/gitflow_211028_O3DE 2021-10-28 19:17:33 -04:00
AMZN-ScottR 90509c7fa2 [profiler_capture_api] removed now unnecessary ProfilerRequests EBus alias after AZ::Interface conversion
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-28 14:18:04 -07:00
AMZN-ScottR eb713fb3a8 Merge branch 'development' into profiler_capture_api
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-28 12:19:50 -07:00
Guthrie Adams e5729fbefe Fix clearing material component default material not clearing materials or updating preview
• Changed thumbnail property control to track asset key even if image is overridden so that it will be restored if the image is cleared.
• Changed property asset control to disable the thumbnail image by default whenever the attribute is applied. It will only enable the thumbnail image if the pixmap is valid.
• Changed the material component controller to always use an empty material assignment map on deactivation so that no persistent materials are reapplied.
• Changed the material component controller to immediately send a notification that materials have updated if no materials were queued for load but the configuration contained pre created or persistent material instances. This mainly affects the material editor because it manages its own material instances.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-28 13:58:47 -05:00
AMZN-ScottR fc94ede439 [profiler_capture_api] fixed runtime issues with BehaviorInterfaceProxy reflection
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-28 11:55:49 -07:00
lumberyard-employee-dm b9147c60a0 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>
2021-10-28 13:45:19 -05:00
greerdv 9b2afbc39b fix explicit qualification of member function addresses
Signed-off-by: greerdv <greerdv@amazon.com>
2021-10-28 12:51:33 +01:00
greerdv dd0780f6ec make sure joint frame rotations are editable for ragdoll setup
Signed-off-by: greerdv <greerdv@amazon.com>
2021-10-28 12:26:05 +01:00
AMZN-ScottR e7ed2c2a83 [profiler_capture_api] updated ProfilerRequests reflection to be as AZ::Interface
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-27 15:55:02 -07:00
AMZN-ScottR f90074adb6 [profiler_capture_api] added utility for reflecting AZ::Interfaces through the BehaviorContext
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-27 15:54:03 -07:00
Danilo Aimini 1435d8b096 Merge branch 'development' of https://github.com/o3de/o3de into daimini/gitflow_211027_o3de 2021-10-27 14:18:01 -07:00
Alex Peterson 59c898fc48 Fix notification queue and add gem action (#4985) (#5024)
Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
2021-10-27 13:55:32 -07:00
srikappa-amzn 6f8890c2ef Improve error messaging when duplicating entities before they are created (#4922)
* Improved error messaging when user tries to duplicate before entities are created

Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-10-27 12:46:06 -07:00
Danilo Aimini 732b8c2d1b Merge commit 'd332f7c4c70343d7e1a8ca72723ac99ebdd30ca6' into daimini/gitflow_211027_o3de
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-27 11:22:58 -07:00
Danilo Aimini bc844dc6c9 Merge commit 'a2eca9de3d2e5abca3d5f52f58ff6afd613d8d0d' into daimini/gitflow_211027_o3de
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-27 11:22:00 -07:00
Danilo Aimini 1a65250b96 Merge commit '22a287d046c606ccb79ff19c1c15075d8cd71dbc' into daimini/gitflow_211027_o3de
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-27 11:21:56 -07:00
Danilo Aimini 657b1026b5 Merge commit '1bc2968330c7f700759d68b4b4a8e59d81007027' into daimini/gitflow_211027_o3de
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-27 11:21:27 -07:00
Danilo Aimini f960d6466c Merge commit '3b4b8c354903f6c0fb9b579b13ae5d336c761382' into daimini/gitflow_211027_o3de
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-27 11:21:17 -07:00
Nicholas Van Sickle c5c043ecc5 Add Generic DOM visitor interface (#4852)
* Add Generic DOM visitor interface

Just the visitor interface from the [Generic DOM RFC](https://github.com/o3de/sig-content/blob/main/rfcs/rfc-10-generic-dom.md) with a few hardening changes so that we can align on it early:
- Clarified Lifetimes with an enum, extended it to cover the by-ref opaque values as well
- Added an explicit error type so that serializers can provide logging friendly rejections
- Did a first pass on documentation
- Added Visitor capabilities introspection and support for raw strings
2021-10-27 08:46:31 -07:00
Michael Pollind 3e3f27e65c bugfix: improve viewport overlay (#4939)
* bugfix: improve viewport overlay

- disable animation for window
- fix problem where vieport is offset from main window

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

* update geometry of m_uiOverlay

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-10-27 10:28:22 +01:00
AMZN-ScottR a2c42ab072 [profiler_capture_api] started migration of ProfilerRequests EBus to AZ::Interface
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-26 15:15:52 -07:00
Alex Peterson 7a0246530a Fix notification queue and add gem action (#4985)
Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
2021-10-26 14:37:47 -07:00
Chris Galvan 78b0683313 Added GetComponentTypeEditorIcon API and replaced old macro style ebus calls.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-10-26 15:47:17 -05:00
AMZN-ScottR 57a69978b9 [profiler_capture_api] replace profiler capture location cvar with setting registry entry
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-26 12:15:30 -07:00
jonawals a2eca9de3d Merge pull request #4998 from aws-lumberyard-dev/LYN-5265_state_tracker_impl
Add Focus Mode integration tests.
2021-10-26 17:16:25 +01:00
AMZN-ScottR 6b1198584b Merge branch 'development' into profiler_capture_api
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-26 09:02:57 -07:00
Steve Pham 22a287d046 Fix to set the Taskbar name and Game Launcher window title to the name of the Project (#4986)
Signed-off-by: Steve Pham <spham@amazon.com>
2021-10-26 08:56:37 -07:00
lumberyard-employee-dm b3b646dad9 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>
2021-10-26 10:31:31 -05:00
John c2105b0631 Address PR comments.
Signed-off-by: John <jonawals@amazon.com>
2021-10-26 15:30:08 +01:00
Michael Pollind 5374860444 Bug Fix: resolve entity ordering for EntityOutliner (#4798) (#4938)
* bugifx: resolve dragging behaviour for EntityOutliner (#4798)

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

* chore: cleanup and rework logic

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-10-26 10:29:12 +01:00
Danilo Aimini 1bc2968330 Resolve minor hover state bugs on the Entity Outlier (branches detect hover state separately from the rest of the columns) (#4977)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-25 17:47:54 -07:00
AMZN-ScottR c6d3e7900c [profiler_capture_api] updated ProfilerRequests::StartCapture signature as per PR feedback
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-25 15:51:12 -07:00
Danilo Aimini 3b4b8c3549 Move the initialization of m_editorEntityUiInterface higher so that it's initialized when the interface is set up. (#4972)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-25 15:12:34 -07:00
AMZN-ScottR 471436b0fc [profiler_capture_api] added cvar/console access for profiler capture
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-25 11:51:36 -07:00
AMZN-ScottR 6ddfb6500f [profiler_capture_api] fixed ambiguous LogLevel type in some unity file scenarios
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-25 11:51:34 -07:00
AMZN-ScottR 1f2eaface9 [profiler_capture_api] merging overlapping profiler EBuses into AzCore
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-25 11:51:32 -07:00
galibzon 4d4deb1211 Added Hydra API to extract all the classes, globals and EBuses exposed (#4953)
* Added Hydra API to extract all the classes, globals and EBuses exposed
to lua:

azlmbr.script.LuaSymbolsReporterBus:
GetListOfClasses
GetListOfGlobalProperties
GetListOfGlobalFunctions
GetListOfEBuses

Also exposed to Hydra the classes that can be used to dump
the symbols
azlmbr.script.LuaPropertySymbol
azlmbr.script.LuaMethodSymbol
azlmbr.script.LuaClassSymbol
azlmbr.script.LuaEBusSender
azlmbr.script.LuaEBusSymbol

The python file Assets/Editor/Scripts/lua_symbols.py
can be used with "pyRunFile <script_name> [output.txt]"
to create Game/output.txt will all the symbols
OR
passing up to three additional arguments "c" or "g" or "e" to dump only
classes, globals or ebuses or a combination of those. Example:
To create an output file with only classes and Ebuses:
"pyRunFile <script_name> [output.txt] c e"

Signed-off-by: garrieta <garrieta@amazon.com>
2021-10-25 13:26:53 -05:00