Commit Graph

8629 Commits (6651ae3d784d9e2eb7a7f30f36f9729c3cba9852)
 

Author SHA1 Message Date
Jonny Gallowy 7d1e1474b5 fixed typo
Signed-off-by: Jonny Gallowy <gallowj@amazon.com>
4 years ago
Ken Pruiksma a2efc587cc
Rendered World Size in the Terrain World Render component set to invisible (#5378)
It's not currently hooked up, so setting invisible for now until it does something.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Jonny Gallowy 060c217852 Fixed .bat chain for launching maya for AtomContent gems
Signed-off-by: Jonny Gallowy <gallowj@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
rgba16f [Amazon] d484d358d1
Modify AtomDebugDisplayViewportInterface::DrawWireCircle2d to account for viewport aspect ratio (#5375)
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
4 years ago
amzn-phist 6cba64f226
Fix issue with Server Launcher debug console not accepting keystrokes (#5325)
* Fix issue with debug console ignoring some keys

This problem was reported for Server only, the Enter/Backspace keys were
being ignored in the ImGui Debug Console.
This wasn't an issue if the Server had loaded a map.
The problem was with XConsole explicitly setting a bool in dedicated
server mode.  This caused text input to be processed by XConsole code
and not passed further along to DebugConsole where it should have been
handling it via ImGui.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Fix missing runtime dependency of ServerLauncher

ServerLauncher in non-monolithic config was missing a runtime dependency
on Legacy::CrySystem.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
4 years ago
Ken Pruiksma 0b061d2e00
GHI-5338 - Fixing incorrect calculation of sector bounds for negative values (#5352)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Qing Tao f8f9fb96d1
ATOM-15086 Image Pipeline Unexpectedly Pre-Multiplying Alpha into Color Channels (#5358)
Applied the discard alpha in the begining of converting.

Also deleted some unused processing settings and steps.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
4 years ago
Mike Balfour 6a21d4f50d
Merge pull request #5351 from aws-lumberyard-dev/terrain/mbalfour/use_ground_plane_non_functional
Use Ground Plane non functional
Added functionality to the "Use Ground Plane" toggle. Now, when it's enabled, the Terrain Layer Spawner will always provide valid terrain data at the minimum height of the spawner box, even if no Terrain Height Gradient List exists. If it's disabled, it won't provide any terrain data unless the Terrain Height Gradient List exists.
4 years ago
Ken Pruiksma 9c28d134db
Fix for alignment issue with terrain heights. (#5274)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
moraaar 356fec5490
bugfix: resolve crash with FBX Settings (#4813) (#4944) (#5365)
-prevent export of ModuleInitISystem and ModuleShutdownISystem

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

Co-authored-by: Michael Pollind <mpollind@gmail.com>
4 years ago
santorac fbc35a8169 Applied a fix from @jeremyong-az to get ThinObject transmission working.
Also added a new test material for ThinObject transmission.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
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 81515b922f Additional readability
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
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
Mike Balfour df0403a5e6
Merge pull request #5333 from aws-lumberyard-dev/terrain/mbalfour/debugger_wireframe_refresh_bug
Fix terrain wireframe refresh.
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
Mike Balfour b0abb8dbc3 Merge branch 'stabilization/2110' into terrain/mbalfour/use_ground_plane_non_functional
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

# Conflicts:
#	Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.cpp
4 years ago
Mike Balfour 97b0eddcb4 Hook up the "Use Ground Plane" toggle.
The "Use Ground Plane" toggle is now functional.  When disabled, the terrain layer spawner will say "terrain exists = false" for any point in its bounds unless there's also a Terrain Height Gradient List component with a valid entry.  When enabled, it will always say "terrain exists = true", and it will return the min height of the spawner box as the ground plane if there's no valid Terrain Height Gradient List height provider.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@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
Mike Balfour 0478da621d
Merge pull request #5328 from aws-lumberyard-dev/terrain/mbalfour/altitude_gradient_infinite_recursion_bug
Prevent infinite recursion with Altitude Gradient.
4 years ago
AMZN-Phil 9d977e81da Uncomment temporary disabling of toast notifications
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
AMZN-Phil 047c5f2231 Add ability to overwrite o3de object when downloading, and to check the last_updated field to check for updates.
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
Mike Balfour e32e1ce572 Fix terrain wireframe refresh.
If a terrain layer spawner went outside the world bounds, the debug wireframe wouldn't update correctly because the heights were outside the wireframe sector AABBs.  Adjusted the logic to account for this.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.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
Mike Balfour 5b504086f9 Prevent infinite recursion with Altitude Gradient.
Using the Altitude Gradient as an input to the Height Gradient List can cause infinite recursion since it is both setting and fetching the same height value.  Added guards to warn if this occurs and gracefully handles the situation.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
4 years ago
Chris Burel 46d1b19816
Merge pull request #5275 from aws-lumberyard-dev/burelc/LYN-6480
[Linux] Unify Editor and Game raw mouse event handling

Signed-off-by: Chris Burel burelc@amazon.com
4 years ago
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>
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
Steve Pham add5b17053
Fix minor repeated AMAZON_LINUX in the code comment (#5312)
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
nvsickle 9a4cc6bde9 Merge remote-tracking branch 'upstream/stabilization/2110' into nvsickle/FixEntityOrdering 4 years ago
nvsickle 52604d79f6 Address some review feedback
Signed-off-by: nvsickle <nvsickle@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
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>
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
Guthrie Adams f91ba36665
Merge pull request #5273 from aws-lumberyard-dev/Atom/guthadam/material_editor_and_graph_canvas_crash_on_shutdown
Fix material editor crash on shutdown if graph canvas gem is loaded
4 years ago
Adi Bar-Lev d85a17536b
Merge pull request #5289 from aws-lumberyard-dev/Atom/barlev/AtomTressFX_ShortCutt_BackLightCorrection
Hair - crucial optimization and bug fix
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
moraaar e553eb0116
Fixed editor crash dropping an fbx to entity inspector (#5242)
The issue was that EditorActorComponent (added by the drag and drop of the FBX into the entity) continued with the loading of an actor asset even though the component is not activated due to incompatible services, which ultimately lead to logic which should never have been reached and crashing.

Also fixed EditorActorComponent missing activation and deactivation of the base editor component class, which is necessary.

All tests from EMotionFX.Editor.Tests passed.

Signed-off-by: moraaar <moraaar@amazon.com>
4 years ago
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>
4 years ago
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>
4 years ago
Adi Bar-Lev ce713fad5e Hair - crucial optimization and bug fix:
- Back light correction.  This fix will block TT lobe (back lobe) from allowing light transfer
- By doing this we remove the requirement to add self shadowing in most cases, hence removing heavy render pass.

Exception:
- Thin hair will still pass light and therefor there is still a need to read depth buffer and compare as a second step to avoid adding heavy shadowing pass / comparison.

Signed-off-by: Adi Bar-Lev <82479970+Adi-Amazon@users.noreply.github.com>
4 years ago
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>
4 years ago
Chris Burel 43c83f13c6 [Linux] Add unit tests for xcb mouse input
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 7e67064ef8 [Linux] Style fixes: prefer `nullptr` to `NULL`, etc
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel ae1b6d6729 [Linux] Unify Editor and Game raw mouse event handling
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago