Commit Graph

10973 Commits

Author SHA1 Message Date
Gene Walters b3d996ea23 Adding automated test to ensure scripts attached to net-level-entities are started on the server
Signed-off-by: Gene Walters <genewalt@amazon.com>
2022-01-20 08:32:02 -08:00
Gene Walters a452da819d Dont allow spawning netbound entities by default, we first need to initialize multiplayer and know our network agent type (dedicated-server/client-server/client). This will stop the editor playmode (which doesn't init multiplayer until it connects to the server) from spawning netbound entities
Signed-off-by: Gene Walters <genewalt@amazon.com>
2022-01-19 14:36:36 -08:00
jromnoa bcc155049d Merge pull request #6916 from aws-lumberyard-dev/Atom/jromnoa/remove-old-light-component-test
Removes the old log lines test for Light component.
2022-01-19 13:01:36 -08:00
Vincent Liu 5cac67bfad Silence aws logging for unit test and have a new AWSNativeSDK as entry point for test env (#6865)
* Silence aws logging for unit test
* Create a new AWSNativeSDK entry point for test environment only
* Update naming for target and file
2022-01-19 12:11:39 -08:00
Karl Berg 57394bc81d Merge pull request #6958 from Bindless-Chicken/fix-imgui-multiplayer
Fix missing ImGui::End in multiplayer windows
2022-01-19 11:53:31 -08:00
Nicholas Van Sickle cfd721bce1 A bit of Generic DOM tidying/fixup (#6914)
* A bit of Generic DOM tidying/fixup

- Refactor out a test fixture for all DOM tests / benchmarks
- Optimize `GetType` implementation to not use `AZStd::variant::visit` (benchmark included to A/B the implementations)
- Tag a few more mutating Value functions with "Mutable" to avoid astonishing copy-on-writes

Benchmark results for GetType implementation:
```
DomValueBenchmark/AzDomValueGetType_UsingVariantIndex              18.2 ns         18.0 ns     40727273 items_per_second=443.667M/s
DomValueBenchmark/AzDomValueGetType_UsingVariantVisit              32.2 ns         32.2 ns     21333333 items_per_second=248.242M/s
```

Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-19 11:52:57 -08:00
dmcdiarmid-ly 8ec07031e3 Merge pull request #6959 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15740
Support supervariants in the PrecompiledShaderBuilder
2022-01-19 12:40:22 -07:00
Mike Balfour 83878e6377 Change GetValues() to take in const positions. (#6987)
* Change GetValues() to take in const positions.
To support this, span needed some template deductions to correctly convert from non-const containers to const ones.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Removed the most problematic template deduction rules.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Remove duplicate validate_iterator methods.
iterator type is a pointer, not a value, so "const iterator" and "const const_iterator" produce the same function signature.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Fixed the span types.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-19 12:57:52 -06:00
Junbo Liang ca56770655 [AWSMetrics] Update the auto-generated code to follow O3DE coding standard (#6910)
* [AWSMetrics] Update the auto-generated code to follow O3DE coding standard

Signed-off-by: Junbo Liang <68558268+junbo75@users.noreply.github.com>
2022-01-19 10:50:56 -08:00
Danilo Aimini a63ea12a1f System shortcuts crash the Editor when Global Preferences are open (#6994)
* Changes to the keyPressEvent override of the Editor Preferences Dialog to prevent infinite loops on focus switches.

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

* Renaming function to clarify its purpose.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2022-01-19 09:52:27 -08:00
Gene Walters 542d652776 Merge pull request #6979 from aws-lumberyard-dev/LYN-9668_UpdateNetSpawnLibToOnlyStoreNetSpawnables
Updating NetworkingSpawnableLibrary to Only Store Network Spawnables
2022-01-19 09:25:42 -08:00
Scott Romero 9d3f8e0b7d [development] minor Android toolchain updates (#6931)
Fixed issue with Android NDK r23 native only builds where the platform version was ignored
Bumped the default ANDROID_NATIVE_API_LEVEL to 24 so it matches the Android project generator scripts
Removed some unnecessary information from message strings

Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2022-01-19 09:09:32 -08:00
Ignacio Martinez 65a749494e Fix: Entity Outliner: Outliner is unusable with the Editor in slice mode (#6983)
* Fixed vertical offset

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>

* Fixed QPoint

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>

* Fixed Entry delegate

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>

* SetRenderHint in Entry delegate

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>

* Save and restore painter inside the highlighter

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>

* Restoring Painter

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>

* Removed comment

Signed-off-by: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com>
2022-01-19 16:45:52 +00:00
Benjamin Jillich 667a9df342 ImGui: Added new histogram group helper (#6998)
* Added a helper class for a group containing several histograms.
* The group is shown using collapsible header.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-01-19 08:20:27 -08:00
Guthrie Adams 88d3bf5b4a Merge pull request #6988 from aws-lumberyard-dev/Atom/guthadam/atom_tools_startup_disabling_unused_gems
Atom Tools: disabling auto load of unused gems in some atom tools
2022-01-19 09:37:49 -06:00
Guthrie Adams 843ca5a0ad Merge pull request #6960 from aws-lumberyard-dev/Atom/guthadam/atom_tools_shared_asset_browser
Atom Tools: moving custom asset browser code to common location
2022-01-19 09:37:09 -06:00
Guthrie Adams c0cbc41ba6 Merge pull request #6917 from aws-lumberyard-dev/Atom/guthadam/atom_tools_document_application_added
Atom Tools: Created base class for document-based applications
2022-01-19 09:36:46 -06:00
greerdv 85881b7a60 Merge pull request #6506 from tjmgd/bug-physX-wind-72
Wind Info
2022-01-19 10:31:08 +00:00
Gene Walters fbfea49b68 small comment tweak based on feedback
Signed-off-by: Gene Walters <genewalt@amazon.com>
2022-01-18 23:55:40 -08:00
santorac 3bbb8d78cd Merge pull request #6982 from aws-lumberyard-dev/Atom/santorac/MaterialAssetDeferredBaking_Recovery2
Formalized Material System Deferred Bake vs Pre Bake Asset Processing
2022-01-18 18:53:18 -08:00
santorac 5b19de2876 Merge remote-tracking branch 'origin/development' into Atom/santorac/MaterialAssetDeferredBaking_Recovery2 2022-01-18 17:44:23 -08:00
santorac 45429872d6 Switched back to making MaterialAsset::GetPropertyValues automatically finalize the material asset. I realized that it's too burdensome to expect client code to call Finalize on the MaterialAsset; every code that calls GetPropertyValues would have to call Finalize(). Instead of using const_cast in GetPropertyValues like I was doing before, I just changed GetPropertyValues to be a non-const function. There were a few places in Decal code I had to update to pass non-const MaterialAsset pointers. This isn't ideal, but I think it's better than the alternatives.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 17:39:44 -08:00
Gene Walters 54de15b0ec Adding '.network.spawnable' as a network constant
Signed-off-by: Gene Walters <genewalt@amazon.com>
2022-01-18 16:34:58 -08:00
Guthrie Adams eb51cd4c06 Atom Tools: moving custom asset browser code to common location
Consolidated duplicate asset browser code from multiple tools into single class in atom tools framework
Moved creation of asset browser and Python terminal windows into base main window class
Fixed docked window orientations
Added checks to asset browser to prevent crashes if tree state saver was null

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-01-18 18:05:23 -06:00
Guthrie Adams b09caa5e75 Atom Tools: disabling auto load of unused gems in some atom tools
Atom tools are set up to inherit and automatically load all of the gems used by the game project. This is a great simplification that saves us from having to manually update cmake settings for every game project to push dependencies to every tool. The tradeoff is that some dependencies will be added to certain tools that have no relevance whatsoever, potentially wasting initialization time, memory utilization, and some processing. This change follows an existing example to update a couple of tools to forego initializing unused gems. They can easily be reenabled as needed.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-01-18 17:14:49 -06:00
Luis Sempé 08d4ddeb8a Merge pull request #6562 from pollend/chore/rename-Graph-EditorGraph-Match
chore: Rename Graph to EditorGraph
2022-01-18 14:57:34 -08:00
Guthrie Adams b84ae37fcb Merge pull request #6977 from aws-lumberyard-dev/Atom/scottmur/ME_test_remove_unexpected
Material Editor tests for window pane function
2022-01-18 15:42:58 -06:00
Guthrie Adams c16cc96eba Merge pull request #6980 from aws-lumberyard-dev/Atom/guthadam/atom_tools_fix_ap_connection_and_thumbnails
Atom Tools: move asset processor connection to fix thumbnails
2022-01-18 15:23:34 -06:00
Guthrie Adams eea9532c4b Merge pull request #6942 from aws-lumberyard-dev/Atom/guthadam/atom_tools_application_pyexit
Atom Tools: Bind exit function for python tests
2022-01-18 15:23:14 -06:00
Guthrie Adams 75e294d94c Merge pull request #6921 from aws-lumberyard-dev/Atom/guthadam/atom_tools_document_count_function
Atom Tools: added function to get the number of active documents
2022-01-18 15:22:42 -06:00
Chris Galvan 3bc0e9f124 Merge pull request #6647 from tjmgd/bug-tube-75
Fix: Tube spline
2022-01-18 15:17:00 -06:00
Mike Balfour 4b9e53e623 Another batch of GetValues() overrides. (#6915)
* Another batch of GetValues() overrides.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Added missing headers.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Addressed PR feedback.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-18 15:05:17 -06:00
Scott Romero 3a3aa20545 [development] added required runtime dependency Gem::PhysX.Editor to WhiteBox.Editor.Physics.Tests (#6871)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2022-01-18 12:38:08 -08:00
Luis Sempé 891a13631e Merge branch 'development' into chore/rename-Graph-EditorGraph-Match 2022-01-18 12:35:58 -08:00
Chris Galvan f2b1970e8f Merge pull request #6818 from windbagjacket/development
Adding ray tracing toggle to mesh component UI
2022-01-18 14:33:01 -06:00
Chris Galvan 13d3399783 Merge pull request #6970 from aws-lumberyard-dev/cgalvan/RemovedMoreUnusedEditorCode
Removed some more unused Editor code and images
2022-01-18 14:32:40 -06:00
AMZN-byrcolin d9e636f77e fix edge case with deprecated pal functions (#6976)
* fix edge case with deprecated pal functions

Signed-off-by: byrcolin <byrcolin@amazon.com>
2022-01-18 12:12:55 -08:00
santorac 2627b507d3 Fixed unused variable warning
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 12:01:19 -08:00
jckand-amzn 4af918a4a8 Skipping ShapeIntersectionFilter test (#6975)
Signed-off-by: jckand-amzn <82226555+jckand-amzn@users.noreply.github.com>
2022-01-18 11:50:14 -08:00
Guthrie Adams 5c2e69d6d0 Atom Tools: move asset processor connection to fix thumbnails
Thumbnails for the AtomLyIntegration common feature gem were no longer being rendered. The setup code was modified to initialize the thumbnail system after receiving a new event that critical assets finished compiling. This event was being sent and handled correctly in the main editor. This process was failing in other tools because the event was sent before systems were registered to listen for it.

To resolve the problem, atom tools application now explicitly connects to the asset processor and processes critical assets after the base application StartCommon function is called. This ensures that the connection is established and the event gets sent after all of the system components have been activated.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-01-18 12:36:49 -06:00
santorac c24546a85d Fixed unused variable warning.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:30:01 -08:00
santorac 2d6d14abf7 Changed MaterialAsset::GetPropertyValues to not auto-finalize. Client code must call Finalize manually. It's better to avoid unexpected side-effects from a const getter function.
In some cases it may be acceptable to do non-const things in a const function as long as it is only manipulating internal data, and the public facing API returns the same values as before. But in this case, the IsFinalized function is a public facing API that would have a different result after GetPropertyValues was called.

I also updated a couple other minor things from code review feedback.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:56 -08:00
santorac 8084775d7a Updating code comments.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:55 -08:00
santorac aafd34679a Merged MaterialAssetCreatorCommon class into MaterialTypeAssetCreator because it is no longer needed for MaterialAssetCreator.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:53 -08:00
santorac 4ade6bc88a Fixed compile errors in Material Editor.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:51 -08:00
santorac 1fa1eaad15 Added unit tests for the new functionality.
I found a mistake where MaterialAssetCreator needs to clear the raw data when configured to finalize the material asset.
Since MaterialSourceData no longer relies on the material type source file at all, I was able to change MaterialSourceDataTest to avoid saving the source data to disk.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:49 -08:00
santorac a627cda5ae Got the unit tests working again.
I made MaterialAsset::Finalize private so I could add some parameters specifically for MaterialAssetCreator to use. Now MaterialAssetCreator::Begin has an option to finalize the material or not.
Moved MaterialAssetCreatorCommon::ValidateDataType to MaterialPropertyDescriptor as "ValidateMaterialPropertyDataType" so that MaterialAsset::Finalize could use it too

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:48 -08:00
santorac c5b128bec4 First pass at reworking and formalizing the way deferred material asset baking works. The feature basically works but needs more testing.
Before, the material builder was loading the MaterialTypeAsset and doing some processing with it, but was avoiding declaring job dependencies that would cause reprocessing lots of assets when a shader or .materialtype file changes. Reading the asset data isn't safe when not declaring a job dependency (or when declaring a weak job dependency like OrderOnce which is the case here). This caused to several known bugs.

The main change here is it no longer loads the MaterialTypeAsset at all; all other changes flow from there.

The biggest changes (when deferred material processing is enabled) are ...
1) MaterialSourceData no longer loads MaterialTypeAsset. All it really needs is to determine whether a string is an image file reference or an enum value, which is easy to do by just looking for the "." for the extension.
2) MaterialAssetCreator no longer produces a finalized material asset. It no longer uses MaterialAssetCreatorCommon because that only produces a non-finalized MaterialAsset, which has very different needs for the SetPropertyValue function. (We could consider merging MaterialAssetCreatorCommon into MaterialTypeAssetCreator since that's the only subclass at this point). And it doesn't do any validation against the properties layout since that can be done at runtime.
3) Moved processing of enum property values from MaterialSourceData to MaterialAsset::Finalize (this was the only thing being done in the builder that actually needed to read the material type asset data).

Also...
- Updated the MaterialAsset class mostly to clarify and formalize the two different modes it can be in: whether it is finalized or not.
- Merged the separate "IncludeMaterialPropertyNames" registry settings from MaterialConverterSystemComponent and MaterialBuilder into one "FinalizeMaterialAssets" setting used for both.
- Removed MaterialSourceData::ApplyVersionUpdates. Now the flow of data is the same regardless of whether the materials are finalized by the AP or at runtime. Version updates are always applied on the MaterialAsset.
- Added a validation check to MaterialTypeAssetCreator ensuring that once a property is renamed, the old name can never be used again for a new property. This assumption was already made previously, but not formalized, in that Material::FindPropertyIndex does not expect every caller to provide a version number for the material property name, also the material asset's list of raw property names was never versioned. The only way for this to be a safe assumption is to prevent reuse of old names.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:36 -08:00
Gene Walters 626b16dbae Updating NetworkingSpawnableLibrary to only store network spawnables, instead of all spawnables
Signed-off-by: Gene Walters <genewalt@amazon.com>
2022-01-18 10:27:10 -08:00
Gene Walters 786d6b5f85 minor code readability tweak
Signed-off-by: Gene Walters <genewalt@amazon.com>
2022-01-18 10:22:31 -08:00