Commit Graph

783 Commits

Author SHA1 Message Date
amzn-sean 38a03817bb Removal and Replacement of the CryTimer (gEnv->pTimer) (#5409)
Replaced and removed the CryTimer (gEnv->pTimer). The new TimeSystem is a merger of the current time functionality found in the engine.

* Rename TimeSystemComponent.h/.cpp to TimeSystem.h/.cpp
* Adding New TimeSystem
* remove old timer cvars
* small improvements to the time system.
 - updated parts to use the time conversion functions.
 - in AdvanceTickDeltaTimes applying t_simulationTickScale is now uses doubles instead of floats.
* Replace gEnv->pTimer / ITimer usages with TimeSystem
* Updating usages of AZ::TimeMs{ 0 } and AZ::TimeUs{ 0 } to AZ::Time::ZeroTimeMs and AZ::Time::ZeroTimeUs
* red code the CryTimer
* using TimeUs instead of TimeMs is some cases + updating usages of old cvars to new

Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
2021-11-15 12:11:58 +00:00
Nicholas Van Sickle 2c2c1d8137 Merge pull request #5562 from aws-lumberyard-dev/nvsickle/StabToDevNov21
Merge `stabilization/2110` as of `fac3d0b1bf` into `development`
2021-11-11 15:04:18 -08:00
Roman 2c58da46dc Follow character option (#5538)
* Follow character option

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

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-11 13:57:52 -08:00
Nicholas Van Sickle 8d5dd4e35f Merge remote-tracking branch 'upstream/stabilization/2110' into nvsickle/StabToDevNov21
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-11-11 10:15:52 -08:00
antonmic 3fd03479de Addressed PR feedback
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-11-10 11:56:45 -08:00
antonmic dcbcab68d2 merging latest to resolve auto-merge conflict
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-11-10 00:52:59 -08:00
antonmic dadf06edda Fixed issue where skin material wouldn't render if applied to a model with several submeshes and those submeshes had different material types applied to them.
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-11-09 19:03:26 -08:00
Roman aa229976f3 Render Colliders (#5434)
* Render Colliders

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

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-09 13:42:56 -08:00
Tom Hulton-Harrop 5047ba7f7b merge stabilization/2110 to development - 2021/11/09
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
2021-11-09 09:19:54 +00:00
dmcdiar dcb3ac4337 Set skybox exposure during ReflectionProbe bake
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-11-08 17:53:03 -07:00
dmcdiar be934a4b32 Merge branch 'stabilization/2110' into Atom/dmcdiar/ATOM-16247 2021-11-08 16:44:35 -07:00
dmcdiar fe005c9c50 Added exposure controls to the ReflectionProbe component
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-11-08 16:11:30 -07:00
Guthrie Adams dcc2890da3 Merge pull request #5382 from aws-lumberyard-dev/Atom/TechArt/FixUp
Fixed .bat chain for launching maya for AtomContent gems
2021-11-08 14:57:00 -06:00
Guthrie Adams 97bb01122f Add missing runtime dependency to atom ly integration
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-11-08 11:01:02 -06:00
Qing Tao 5a39361f77 ATOM-16747 RPISystemInterface::GetDefaultScene returns the scene crea… (#5153) (#5389)
* ATOM-16747 RPISystemInterface::GetDefaultScene returns the scene created by PreviewRenderer but not the Main Scene
Deprecate GetDefaultScene() function.
Update all the places which use GetDefaultScene to use Scene::GetFeatureProcessorFromEntityId or GetMainScene.
Tested with Editor, UI Editor, Material Editor, game launcher.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
(cherry picked from commit 8da6bea073)
2021-11-08 07:49:30 -08:00
Jonny Gallowy 060c217852 Fixed .bat chain for launching maya for AtomContent gems
Signed-off-by: Jonny Gallowy <gallowj@amazon.com>
2021-11-05 15:00:35 -05:00
rgba16f [Amazon] d484d358d1 Modify AtomDebugDisplayViewportInterface::DrawWireCircle2d to account for viewport aspect ratio (#5375)
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2021-11-05 14:00:40 -05:00
Chris Burel ffb9e2ae3b Merge branch stabilization/2110 into development
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-04 13:44:25 -07:00
Chris Burel d942c90c56 Merge branch stabilization/2110 into development
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-04 13:44:22 -07:00
Chris Burel 69059ba3e6 Merge branch stabilization/2110 into development
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-04 13:34:57 -07:00
Adi Bar-Lev cc1a265315 SpotLight debug draw to include display cone (#5309)
* SpotLight debug draw to include display cone

Signed-off-by: Adi Bar-Lev <82479970+Adi-Amazon@users.noreply.github.com>

* SpotLight debug draw - optimizing

Signed-off-by: Adi Bar-Lev <82479970+Adi-Amazon@users.noreply.github.com>
2021-11-04 16:15:18 -04:00
AMZN-nggieber 4721ef8298 License Info is Displayed as Clickable Link in Gem Catalog + Other Inspector Improvements (#5272)
Signed-off-by: nggieber <nggieber@amazon.com>
2021-11-04 13:04:06 -07:00
Chris Burel e6a132b91e Merge branch stabilization/2110 into development
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-11-04 11:10:26 -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
Guthrie Adams 6d896beb4b added version to material component exporter
deleted unnecessary checks

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-11-03 17:30:18 -05:00
Guthrie Adams 84ca17e7cb Created function to get relative paths to referenced files that will fall back to asset folder relative paths under certain conditions
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-11-03 17:30:10 -05:00
Guthrie Adams 620e522f86 material editor and exporter save source materials with relative paths
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-11-03 17:30:07 -05:00
Luis Sempé 8966380acf Merge pull request #5197 from aws-lumberyard-dev/animation/rhhong/render_settings_merge
[Merge] load render option in atom render plugin and use render actor setting in atom debug draw
2021-11-03 10:56:45 -07:00
rhhong 0c86198fd9 CR feedback; add ability to update the render in the preference window.
Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-02 23:09:42 -07:00
galibzon 6763e2a3ac Shaders changes require two or more change cycles before updating (#5142)
* Shaders changes require two or more change cycles before updating

This fixes the problem described in the title.

Consolidated the responsibility to update the root shader variant
asset into the Shader() class. It was unnecessarily spread across
Shader(), ShaderVariant() and ShaderAsset().
In particular OnAssetReloaded now makes a temporary copy of the root
ShaderVariantAsset and updates the ShaderAsset with such reference
only when OnAssetReloaded() is called on behalf of the ShaderAsset.

Signed-off-by: galibzon <66021303+galibzon@users.noreply.github.com>
2021-11-02 16:21:26 -05:00
Tommy Walton fab0326188 Creating default seedList.seed files for Atom gems (#5147)
Signed-off-by: Tommy Walton <waltont@amazon.com>
2021-11-02 13:42:11 -07:00
Mike Balfour 1d22eddf71 Merge commit 'ecd11a441ce08e6767ab2ce732513e963b9acbbe' into mbalfour/gitflow_211102_o3de 2021-11-02 09:38:20 -05:00
rhhong f089187f3a Merge branch 'development' into animation/rhhong/render_settings_merge
Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-01 23:06:09 -07:00
Qing Tao 8da6bea073 ATOM-16747 RPISystemInterface::GetDefaultScene returns the scene crea… (#5153)
* ATOM-16747 RPISystemInterface::GetDefaultScene returns the scene created by PreviewRenderer but not the Main Scene
Deprecate GetDefaultScene() function.
Update all the places which use GetDefaultScene to use Scene::GetFeatureProcessorFromEntityId or GetMainScene.
Tested with Editor, UI Editor, Material Editor, game launcher.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2021-11-01 14:26:55 -07:00
Guthrie Adams 68cb8792f7 fix header comments
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-31 15:12:27 -05:00
rhhong c79bf7a0c1 load render option in atom render plugin and use render actor settings in atom debug draw
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-30 22:37:05 -07:00
Guthrie Adams 799290aefc Created custom JSON serializer for editor material component
The editor component contains an editor specific, dynamically generated version of the material slots to display all the possible options, organize properties for the user interface, and add custom actions.
The critical data is already stored inside of the component controller configuration, which only stores a map of modified or overridden values.
This change disables serialization of the redundant data for prefabs.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-30 17:36:07 -05:00
ffarahmand-DPS 971e24285f Fixes debug console's "quit" issues (#4975)
* Fixes a crash caused when attempting to ‘quit’ the launcher from the debug console. The change simply ensures that the underlying font data the OnRenderTick() function relies on has not yet been released from memory.

Signed-off-by: ffarahmand-DPS <ffarahmand@digitalpilgrims.com>

* Fixes a crash caused when attempting to ‘quit’ the launcher from the debug console. An object created on the heap was never deleted, causing a chain reaction.

Signed-off-by: ffarahmand-DPS <ffarahmand@digitalpilgrims.com>

* Some quick clean-up for safety.

Signed-off-by: ffarahmand-DPS <ffarahmand@digitalpilgrims.com>

* Changes !defined(DEDICATED_SERVER) to a runtime check since macro is no longer defined.

Signed-off-by: ffarahmand-DPS <ffarahmand@digitalpilgrims.com>
2021-10-29 11:28:42 -07:00
Esteban Papp 72d6f2972e Adding support for multi-config/multi-permutation installer 2021-10-29 10:46:28 -07:00
Esteban Papp 475338cfad Merge branch 'development' into o3de_sdk/installer_configs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-10-28 18:29:52 -07:00
Adi Bar-Lev cd3891fe23 Merge commit '689f5b2a4ac376634439708637346e5a3157f085' into barlev/gitflow_211028_O3DE 2021-10-28 20:06:31 -04:00
Adi Bar-Lev 8dca689444 Merge commit 'caf247fcab0fc65773c6a95f1bbcfe10b184c5e0' into barlev/gitflow_211028_O3DE 2021-10-28 20:06:25 -04:00
Guthrie Adams 7d1b20d480 Merge pull request #5057 from aws-lumberyard-dev/Atom/guthadam/material_instance_editor_indicator_changes
Material component property inspector indicator changes
2021-10-28 17:06:13 -05:00
Guthrie Adams 689f5b2a4a Merge pull request #5076 from aws-lumberyard-dev/Atom/guthadam/material_component_supports_scripting_enums
Fix issue setting enum values on material component from script
2021-10-28 14:41:56 -05: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
Guthrie Adams b71e307de5 Fix issue setting enum values on material component from script
Replaced get and set functions with explicit types with templates
Added special case handling for setting enum values as strings or numbers from script

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-28 13:53:21 -05: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
Guthrie Adams 5ceb9ee214 Material component property inspector indicator changes
Shows indicator icon for differences between the overrides and the active material asset, not the material type.
So, the indicator will only be shown for property changes that have an effect and will be stored in the component.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-27 14:24:16 -05:00
Danilo Aimini b5f0375f1b Merge commit 'e22235ec5b850541d6a186a80b44050ebfd24d89' into daimini/gitflow_211027_o3de
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-10-27 11:22:25 -07:00
rhhong faa87f56c9 Fix build error
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-27 10:18:24 -07:00