diff --git a/.gitattributes b/.gitattributes
index 1755def66a..d7f9d36c50 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -117,3 +117,11 @@
*.wem filter=lfs diff=lfs merge=lfs -text
*.wxs filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
+*.tbscene filter=lfs diff=lfs merge=lfs -text
+*.spp filter=lfs diff=lfs merge=lfs -text
+Gems/Atom/Tools/MaterialEditor/Assets/MaterialEditor/ViewportModels/Hermanubis.fbx filter=lfs diff=lfs merge=lfs -text
+Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/Lucy_High.fbx filter=lfs diff=lfs merge=lfs -text
+Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/Lucy_low.fbx filter=lfs diff=lfs merge=lfs -text
+Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/.wip/marmoset_bake.tbscene filter=lfs diff=lfs merge=lfs -text
+Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/.wip/Brass/brass_bake.spp filter=lfs diff=lfs merge=lfs -text
+Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/.wip/stone/stone_bake.spp filter=lfs diff=lfs merge=lfs -text
diff --git a/Assets/Engine/Config/engine_core.thread_config b/Assets/Engine/Config/engine_core.thread_config
deleted file mode 100644
index f9183d9174..0000000000
--- a/Assets/Engine/Config/engine_core.thread_config
+++ /dev/null
@@ -1,402 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Assets/Engine/Config/engine_sandbox.thread_config b/Assets/Engine/Config/engine_sandbox.thread_config
deleted file mode 100644
index 7c0dc00b71..0000000000
--- a/Assets/Engine/Config/engine_sandbox.thread_config
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/AutomatedTesting/AssetProcessorGamePlatformConfig.setreg b/AutomatedTesting/AssetProcessorGamePlatformConfig.setreg
deleted file mode 100644
index c9876cb1f9..0000000000
--- a/AutomatedTesting/AssetProcessorGamePlatformConfig.setreg
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "Amazon": {
- "AssetProcessor": {
- "Settings": {
- "RC cgf": {
- "ignore": true
- },
- "RC fbx": {
- "ignore": true
- }
- }
- }
- }
-}
diff --git a/AutomatedTesting/Assets/BadAssets/three_same_named_nodes.fbx b/AutomatedTesting/Assets/BadAssets/three_same_named_nodes.fbx
new file mode 100644
index 0000000000..8eadb16d86
--- /dev/null
+++ b/AutomatedTesting/Assets/BadAssets/three_same_named_nodes.fbx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:45b58009dc2f9340e08cafd5e68f142d15d77e19e7cef142933f2dff3cfb9293
+size 38352
diff --git a/AutomatedTesting/Gem/Code/Platform/Mac/runtime_dependencies.cmake b/AutomatedTesting/Gem/Code/Platform/Mac/runtime_dependencies.cmake
index f9d1e60dda..ffcaf7293a 100644
--- a/AutomatedTesting/Gem/Code/Platform/Mac/runtime_dependencies.cmake
+++ b/AutomatedTesting/Gem/Code/Platform/Mac/runtime_dependencies.cmake
@@ -10,6 +10,4 @@
#
set(GEM_DEPENDENCIES
- Gem::Atom_RHI_Metal.Private
- Gem::Atom_RHI_Null.Private
)
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/Code/Platform/Mac/tool_dependencies.cmake b/AutomatedTesting/Gem/Code/Platform/Mac/tool_dependencies.cmake
index 2e9d450ab8..ffcaf7293a 100644
--- a/AutomatedTesting/Gem/Code/Platform/Mac/tool_dependencies.cmake
+++ b/AutomatedTesting/Gem/Code/Platform/Mac/tool_dependencies.cmake
@@ -10,10 +10,4 @@
#
set(GEM_DEPENDENCIES
- Gem::Atom_RHI_Null.Private
- Gem::Atom_RHI_Null.Builders
- Gem::Atom_RHI_Metal.Private
- Gem::Atom_RHI_Metal.Builders
- Gem::Atom_RHI_Vulkan.Builders
- Gem::Atom_RHI_DX12.Builders
)
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/Code/Platform/Windows/runtime_dependencies.cmake b/AutomatedTesting/Gem/Code/Platform/Windows/runtime_dependencies.cmake
index 0a1541bcfc..ffcaf7293a 100644
--- a/AutomatedTesting/Gem/Code/Platform/Windows/runtime_dependencies.cmake
+++ b/AutomatedTesting/Gem/Code/Platform/Windows/runtime_dependencies.cmake
@@ -10,7 +10,4 @@
#
set(GEM_DEPENDENCIES
- Gem::Atom_RHI_Vulkan.Private
- Gem::Atom_RHI_DX12.Private
- Gem::Atom_RHI_Null.Private
)
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/Code/Platform/Windows/tool_dependencies.cmake b/AutomatedTesting/Gem/Code/Platform/Windows/tool_dependencies.cmake
index ddd3bfa6a7..933dd7927b 100644
--- a/AutomatedTesting/Gem/Code/Platform/Windows/tool_dependencies.cmake
+++ b/AutomatedTesting/Gem/Code/Platform/Windows/tool_dependencies.cmake
@@ -11,11 +11,4 @@
set(GEM_DEPENDENCIES
Gem::QtForPython.Editor
- Gem::Atom_RHI_Vulkan.Private
- Gem::Atom_RHI_Vulkan.Builders
- Gem::Atom_RHI_DX12.Private
- Gem::Atom_RHI_DX12.Builders
- Gem::Atom_RHI_Null.Private
- Gem::Atom_RHI_Null.Builders
- Gem::Atom_RHI_Metal.Builders
)
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/Code/runtime_dependencies.cmake b/AutomatedTesting/Gem/Code/runtime_dependencies.cmake
index 62a6ed7f8c..280c25bcf7 100644
--- a/AutomatedTesting/Gem/Code/runtime_dependencies.cmake
+++ b/AutomatedTesting/Gem/Code/runtime_dependencies.cmake
@@ -42,17 +42,7 @@ set(GEM_DEPENDENCIES
Gem::SurfaceData
Gem::GradientSignal
Gem::Vegetation
- Gem::Atom_RHI.Private
- Gem::Atom_RPI.Private
- Gem::Atom_Feature_Common
- Gem::Atom_Bootstrap
- Gem::Atom_Component_DebugCamera
- Gem::AtomImGuiTools
- Gem::AtomLyIntegration_CommonFeatures
- Gem::EMotionFX_Atom
- Gem::ImguiAtom
Gem::Atom_AtomBridge
- Gem::AtomFont
Gem::NvCloth
Gem::Blast
)
diff --git a/AutomatedTesting/Gem/Code/tool_dependencies.cmake b/AutomatedTesting/Gem/Code/tool_dependencies.cmake
index a6bbeee350..fc50707c12 100644
--- a/AutomatedTesting/Gem/Code/tool_dependencies.cmake
+++ b/AutomatedTesting/Gem/Code/tool_dependencies.cmake
@@ -50,24 +50,9 @@ set(GEM_DEPENDENCIES
Gem::Vegetation.Editor
Gem::GraphModel.Editor
Gem::LandscapeCanvas.Editor
- Gem::Atom_RHI.Private
Gem::EMotionFX.Editor
- Gem::Atom_RPI.Builders
- Gem::Atom_RPI.Editor
- Gem::Atom_Feature_Common.Builders
- Gem::Atom_Feature_Common.Editor
Gem::ImGui.Editor
- Gem::Atom_Bootstrap
- Gem::Atom_Asset_Shader.Builders
- Gem::Atom_Component_DebugCamera
- Gem::AtomImGuiTools
- Gem::AtomLyIntegration_CommonFeatures.Editor
- Gem::EMotionFX_Atom.Editor
- Gem::ImageProcessingAtom.Editor
Gem::Atom_AtomBridge.Editor
- Gem::ImguiAtom
- Gem::AtomFont
- Gem::AtomToolsFramework.Editor
Gem::NvCloth.Editor
Gem::Blast.Editor
)
diff --git a/Code/CryEngine/CryCommon/Platform/AppleTV/crycommon_appletv.cmake b/AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt
similarity index 55%
rename from Code/CryEngine/CryCommon/Platform/AppleTV/crycommon_appletv.cmake
rename to AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt
index f5b9ea77a2..61bb2e8355 100644
--- a/Code/CryEngine/CryCommon/Platform/AppleTV/crycommon_appletv.cmake
+++ b/AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt
@@ -9,3 +9,17 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::BlastTests
+ TEST_SUITE main
+ TEST_SERIAL TRUE
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT Blast
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/CMakeLists.txt
index 3124f1048a..d6f9ecff4b 100644
--- a/AutomatedTesting/Gem/PythonTests/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/CMakeLists.txt
@@ -15,373 +15,46 @@
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
+include(${pal_dir}/PAL_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
+
+## Asset pipeline ##
add_subdirectory(assetpipeline)
+
+## Atom Renderer ##
add_subdirectory(atom_renderer)
## Physics ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::PhysicsTests_Main
- TEST_SUITE main
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Main.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- Physics
- )
- ly_add_pytest(
- NAME AutomatedTesting::PhysicsTests_Periodic
- TEST_SUITE periodic
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Periodic.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- Physics
- )
- ly_add_pytest(
- NAME AutomatedTesting::PhysicsTests_Sandbox
- TEST_SUITE sandbox
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Sandbox.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- Physics
- )
-endif()
+add_subdirectory(physics)
## ScriptCanvas ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::ScriptCanvasTests
- TEST_SUITE periodic
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Active.py
- TIMEOUT 3000
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- ScriptCanvas
- )
- ly_add_pytest(
- NAME AutomatedTesting::ScriptCanvasTests_Sandbox
- TEST_SUITE sandbox
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Sandbox.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- )
-endif()
+add_subdirectory(scripting)
## White Box ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::WhiteBoxTests
- TEST_SUITE main
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/WhiteBox/TestSuite_Active.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- WhiteBox
- )
-endif()
+add_subdirectory(WhiteBox)
## NvCloth ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::NvClothTests_Main
- TEST_SUITE main
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/NvCloth/TestSuite_Active.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- NvCloth
- )
-endif()
+add_subdirectory(NvCloth)
+
+## Prefab ##
+add_subdirectory(prefab)
## Editor Python Bindings ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::EditorPythonBindings
- TEST_SUITE sandbox
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/EditorPythonBindings
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- Gem::EditorPythonBindings.Editor
- COMPONENT TestTools
- )
-endif()
+add_subdirectory(EditorPythonBindings)
## Python Asset Builder ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::PythonAssetBuilder
- TEST_SUITE periodic
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/PythonAssetBuilder
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- Gem::EditorPythonBindings.Editor
- Gem::PythonAssetBuilder.Editor
- COMPONENT TestTools
- )
-endif()
+add_subdirectory(PythonAssetBuilder)
## Blast ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- ly_add_pytest(
- NAME AutomatedTesting::BlastTests
- TEST_SUITE main
- TEST_SERIAL TRUE
- PATH ${CMAKE_CURRENT_LIST_DIR}/Blast/TestSuite_Active.py
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT Blast
- )
-endif()
-
-#############
+add_subdirectory(Blast)
## Large Worlds ##
-
-include(${pal_dir}/PAL_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_LARGE_WORLDS_TEST_SUPPORTED)
-
-## DynVeg ##
- # Temporarily moving all tests to periodic suite - SPEC-6553
- #ly_add_pytest(
- # NAME AutomatedTesting::DynamicVegetationTests_Main
- # TEST_SERIAL
- # TEST_SUITE main
- # PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- # PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
- # TIMEOUT 1500
- # RUNTIME_DEPENDENCIES
- # AZ::AssetProcessor
- # Legacy::Editor
- # AutomatedTesting.GameLauncher
- # AutomatedTesting.Assets
- # COMPONENT
- # LargeWorlds
- #)
-
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationTests_Sandbox
- TEST_SERIAL
- TEST_SUITE sandbox
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_sandbox"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.GameLauncher
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationFilterTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_periodic and dynveg_filter"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationModifierTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_periodic and dynveg_modifier"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationRegressionTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_periodic and dynveg_regression"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationAreaTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_periodic and dynveg_area"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationMiscTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_periodic and dynveg_misc"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
- ly_add_pytest(
- NAME AutomatedTesting::DynamicVegetationSurfaceTagTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
- PYTEST_MARKS "SUITE_periodic and dynveg_surfacetagemitter"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-## LandscapeCanvas ##
- # Temporarily moving all tests to periodic suite - SPEC-6553
- #ly_add_pytest(
- # NAME AutomatedTesting::LandscapeCanvasTests_Main
- # TEST_SERIAL
- # TEST_SUITE main
- # PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
- # PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
- # TIMEOUT 1500
- # RUNTIME_DEPENDENCIES
- # AZ::AssetProcessor
- # Legacy::Editor
- # AutomatedTesting.Assets
- # COMPONENT
- # LargeWorlds
- #)
-
- ly_add_pytest(
- NAME AutomatedTesting::LandscapeCanvasTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
- PYTEST_MARKS "SUITE_periodic"
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
-## GradientSignal ##
- ly_add_pytest(
- NAME AutomatedTesting::GradientSignalTests_Periodic
- TEST_SERIAL
- TEST_SUITE periodic
- PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/gradient_signal
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- AZ::AssetProcessor
- Legacy::Editor
- AutomatedTesting.Assets
- COMPONENT
- LargeWorlds
- )
-
-endif()
+add_subdirectory(largeworlds)
## Editor ##
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED)
- ly_add_pytest(
- NAME AutomatedTesting::EditorTests_Periodic
- TEST_SUITE periodic
- TEST_SERIAL
- PATH ${CMAKE_CURRENT_LIST_DIR}/editor
- TIMEOUT 1500
- RUNTIME_DEPENDENCIES
- Legacy::Editor
- AZ::AssetProcessor
- AutomatedTesting.Assets
- COMPONENT
- Editor
- )
-endif()
+add_subdirectory(editor)
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- # Unstable, SPEC-3838 will restore
- #ly_add_pytest(
- # NAME AutomatedTesting::asset_load_benchmark_test
- # TEST_SERIAL
- # TEST_SUITE benchmark
- # PATH ${CMAKE_CURRENT_LIST_DIR}/streaming/benchmark/asset_load_benchmark_test.py
- # RUNTIME_DEPENDENCIES
- # AZ::AssetProcessor
- # AZ::AssetProcessorBatch
- # AutomatedTesting.GameLauncher
- #)
-endif()
+## Streaming ##
+add_subdirectory(streaming)
+## Streaming ##
+add_subdirectory(smoke)
diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/CMakeLists.txt
new file mode 100644
index 0000000000..20a0ca8e65
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/CMakeLists.txt
@@ -0,0 +1,26 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::EditorPythonBindings
+ TEST_SUITE sandbox
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ Gem::EditorPythonBindings.Editor
+ COMPONENT TestTools
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py
index 625c9772bd..5cfc57fd5f 100755
--- a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py
+++ b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py
@@ -11,7 +11,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# Test case ID : C18977329
# Test Case Title : Add cloth simulation to a Mesh
-# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18977329
# fmt: off
class Tests:
diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py
index 9b3135cd2b..c21df8ea4c 100755
--- a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py
+++ b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py
@@ -11,7 +11,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# Test case ID : C18977330
# Test Case Title : Add cloth simulation to an Actor
-# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18977330
# fmt: off
class Tests:
diff --git a/Code/Tools/CryXML/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt
similarity index 55%
rename from Code/Tools/CryXML/CMakeLists.txt
rename to AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt
index a154fb6bd5..058cc9ad94 100644
--- a/Code/Tools/CryXML/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt
@@ -9,24 +9,18 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
-if (NOT PAL_TRAIT_BUILD_HOST_TOOLS)
- return()
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::NvClothTests_Main
+ TEST_SUITE main
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ NvCloth
+ )
endif()
-ly_add_target(
- NAME CryXML MODULE
- NAMESPACE Legacy
- FILES_CMAKE
- cryxml_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- .
- COMPILE_DEFINITIONS
- PRIVATE
- CRYTOOLS
- RESOURCE_COMPILER
- BUILD_DEPENDENCIES
- PRIVATE
- 3rdParty::expat
- Legacy::CryCommon
- Legacy::CryCommonTools
-)
diff --git a/AutomatedTesting/Gem/PythonTests/PythonAssetBuilder/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/PythonAssetBuilder/CMakeLists.txt
new file mode 100644
index 0000000000..0a550de539
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/PythonAssetBuilder/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::PythonAssetBuilder
+ TEST_SUITE periodic
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ Gem::EditorPythonBindings.Editor
+ Gem::PythonAssetBuilder.Editor
+ COMPONENT TestTools
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py
index dabc04575f..86a27e588e 100755
--- a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py
+++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# Test case ID : C28798177
# Test Case Title : White Box Tool Component can be added to an Entity
-# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/28798177
# fmt:off
diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py
index 18a5c3164e..7a2a08a8ce 100755
--- a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py
+++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# Test case ID : C28798205
# Test Case Title : From the White Box Component Card the White Box Mesh can be set to be invisible in Game View
-# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/28798205
# fmt:off
diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py
index e892285dde..635c804914 100755
--- a/AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py
+++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# Test case ID : C29279329
# Test Case Title : White Box mesh shape can be changed with the Default Shape dropdown on the Component
-# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/29279329
# fmt:off
diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt
new file mode 100644
index 0000000000..a6c0a9aa21
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt
@@ -0,0 +1,26 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::WhiteBoxTests
+ TEST_SUITE main
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ WhiteBox
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/assetpipeline/CMakeLists.txt
index 74ef6c97a7..f453a38486 100644
--- a/AutomatedTesting/Gem/PythonTests/assetpipeline/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/CMakeLists.txt
@@ -13,8 +13,6 @@ add_subdirectory(asset_processor_tests)
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
## AP Python Tests ##
-
-
ly_add_pytest(
NAME AssetPipelineTests.AuxiliaryContent
PATH ${CMAKE_CURRENT_LIST_DIR}/auxiliary_content_tests/auxiliary_content_tests.py
@@ -22,7 +20,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
TEST_SUITE periodic
)
-
ly_add_pytest(
NAME AssetPipelineTests.BankInfoParser
PATH ${CMAKE_CURRENT_LIST_DIR}/wwise_bank_dependency_tests/bank_info_parser_tests.py
@@ -33,4 +30,3 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
)
endif()
-
diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/CMakeLists.txt
index 6a865ee690..a2002f2d15 100644
--- a/AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/CMakeLists.txt
@@ -141,4 +141,3 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
# )
endif()
-
diff --git a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py
index f84e367d1d..0b75760e05 100644
--- a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py
+++ b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py
@@ -18,7 +18,7 @@ import pytest
import editor_python_test_tools.hydra_test_utils as hydra
logger = logging.getLogger(__name__)
-EDITOR_TIMEOUT = 120
+EDITOR_TIMEOUT = 300
TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "atom_hydra_scripts")
diff --git a/AutomatedTesting/Gem/PythonTests/editor/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/editor/CMakeLists.txt
new file mode 100644
index 0000000000..44e3ed0425
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/editor/CMakeLists.txt
@@ -0,0 +1,26 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED)
+ ly_add_pytest(
+ NAME AutomatedTesting::EditorTests_Periodic
+ TEST_SUITE periodic
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ Editor
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt
new file mode 100644
index 0000000000..72e3bec3df
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt
@@ -0,0 +1,186 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_LARGE_WORLDS_TEST_SUPPORTED)
+
+## DynVeg ##
+
+ # Temporarily moving all tests to periodic suite - SPEC-6553
+ #ly_add_pytest(
+ # NAME AutomatedTesting::DynamicVegetationTests_Main
+ # TEST_SERIAL
+ # TEST_SUITE main
+ # PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ # PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
+ # TIMEOUT 1500
+ # RUNTIME_DEPENDENCIES
+ # AZ::AssetProcessor
+ # Legacy::Editor
+ # AutomatedTesting.GameLauncher
+ # AutomatedTesting.Assets
+ # COMPONENT
+ # LargeWorlds
+ #)
+
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationTests_Sandbox
+ TEST_SERIAL
+ TEST_SUITE sandbox
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_sandbox"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.GameLauncher
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationFilterTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_periodic and dynveg_filter"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationModifierTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_periodic and dynveg_modifier"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationRegressionTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_periodic and dynveg_regression"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationAreaTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_periodic and dynveg_area"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationMiscTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_periodic and dynveg_misc"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+ ly_add_pytest(
+ NAME AutomatedTesting::DynamicVegetationSurfaceTagTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
+ PYTEST_MARKS "SUITE_periodic and dynveg_surfacetagemitter"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+## LandscapeCanvas ##
+ # Temporarily moving all tests to periodic suite - SPEC-6553
+ #ly_add_pytest(
+ # NAME AutomatedTesting::LandscapeCanvasTests_Main
+ # TEST_SERIAL
+ # TEST_SUITE main
+ # PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
+ # PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
+ # TIMEOUT 1500
+ # RUNTIME_DEPENDENCIES
+ # AZ::AssetProcessor
+ # Legacy::Editor
+ # AutomatedTesting.Assets
+ # COMPONENT
+ # LargeWorlds
+ #)
+
+ ly_add_pytest(
+ NAME AutomatedTesting::LandscapeCanvasTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/landscape_canvas
+ PYTEST_MARKS "SUITE_periodic"
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+## GradientSignal ##
+ ly_add_pytest(
+ NAME AutomatedTesting::GradientSignalTests_Periodic
+ TEST_SERIAL
+ TEST_SUITE periodic
+ PATH ${CMAKE_CURRENT_LIST_DIR}/gradient_signal
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ Legacy::Editor
+ AutomatedTesting.Assets
+ COMPONENT
+ LargeWorlds
+ )
+
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius.py
index 1ccfc43585..d0c6fc3c5a 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius.py
@@ -82,42 +82,34 @@ class TestDistanceBetweenFilterComponentOverrides(EditorTestHelper):
editor.EditorComponentAPIBus(bus.Broadcast, "SetComponentProperty", veg_system_settings_component,
'Configuration|Area System Settings|Sector Point Density', 16)
- # Add a Vegetation Debugger component to allow area refreshes
- hydra.add_level_component("Vegetation Debugger")
-
# 5) Add a Vegetation Distance Between Filter, toggle overrides on both the component and descriptor,
# and verify initial instance counts are accurate
spawner_entity.add_component("Vegetation Distance Between Filter")
spawner_entity.get_set_test(3, "Configuration|Allow Per-Item Overrides", True)
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Override Enabled", True)
- general.run_console('veg_debugClearAllAreas')
- self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 2), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 2), 5.0) and \
- self.test_success
+ num_expected = 16 * 16
+ initial_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected), 5.0)
+ self.test_success = self.test_success and initial_success
# 6) Change Radius Min to 1.0, refresh, and verify instance counts are accurate
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Radius Min", 1.0)
- general.run_console('veg_debugClearAllAreas')
- self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0) and \
- self.test_success
+ point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
+ point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
+ point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0)
+ self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
# 7) Change Radius Min to 2.0, refresh, and verify instance counts are accurate
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Radius Min", 2.0)
- general.run_console('veg_debugClearAllAreas')
- self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0) and \
- self.test_success
+ point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
+ point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
+ point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0)
+ self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
# 8) Change Radius Min to 16.0, refresh, and verify instance counts are accurate, only a single instance should plant
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Radius Min", 16.0)
- general.run_console('veg_debugClearAllAreas')
num_expected_instances = 1
final_check_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
- self.test_success = final_check_success and self.test_success
+ self.test_success = self.test_success and final_check_success
test = TestDistanceBetweenFilterComponentOverrides()
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius.py
index 09c5fd63cf..d342afd7ca 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius.py
@@ -80,35 +80,29 @@ class TestDistanceBetweenFilterComponent(EditorTestHelper):
editor.EditorComponentAPIBus(bus.Broadcast, "SetComponentProperty", veg_system_settings_component,
'Configuration|Area System Settings|Sector Point Density', 16)
- # Add a Vegetation Debugger component to allow area refreshes
- hydra.add_level_component("Vegetation Debugger")
-
# 5) Add a Vegetation Distance Between Filter and verify initial instance counts are accurate
spawner_entity.add_component("Vegetation Distance Between Filter")
- self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 2), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 2), 5.0) and \
- self.test_success
+ num_expected = 16 * 16
+ num_expected = 16 * 16
+ initial_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected), 5.0)
+ self.test_success = self.test_success and initial_success
# 6) Change Radius Min to 1.0, refresh, and verify instance counts are accurate
spawner_entity.get_set_test(3, "Configuration|Radius Min", 1.0)
- general.run_console('veg_debugClearAllAreas')
- self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0) and \
- self.test_success
+ point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
+ point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
+ point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0)
+ self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
# 7) Change Radius Min to 2.0, refresh, and verify instance counts are accurate
spawner_entity.get_set_test(3, "Configuration|Radius Min", 2.0)
- general.run_console('veg_debugClearAllAreas')
- self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
- self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0) and \
- self.test_success
+ point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
+ point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
+ point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0)
+ self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
# 8) Change Radius Min to 16.0, refresh, and verify instance counts are accurate
spawner_entity.get_set_test(3, "Configuration|Radius Min", 16.0)
- general.run_console('veg_debugClearAllAreas')
num_expected_instances = 1
final_check_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
self.test_success = final_check_success and self.test_success
diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py b/AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py
index c76c5cab80..8400364626 100755
--- a/AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py
+++ b/AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py
@@ -68,7 +68,7 @@ def C14976308_ScriptCanvas_SetKinematicTargetTransform():
the script deactivates Signal, Sphere's transform will update to that of Transform_Target.
NOTE: There is a known bug (LY-107723) which causes the rotation to update to a value that is not sufficiently close
to the expected result when using Set Kinematic Target which will cause the test to fail:
- https://jira.agscollab.com/browse/LY-107723
+ LY-107723
Test Steps:
1) Open level and enter game mode
diff --git a/AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py b/AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py
index 4ae10288bd..e714da9de7 100755
--- a/AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py
+++ b/AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py
@@ -13,7 +13,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# Test case ID : C3510644
# Test Case Title : Check that the collision layer and collision group of the terrain can be changed
# and the collision behavior of the terrain changes accordingly
-# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/3510644
# fmt: off
diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py b/AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py
index 4b0b036970..08083a7868 100755
--- a/AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py
+++ b/AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py
@@ -239,7 +239,7 @@ def C6321601_Force_HighValuesDirectionAxes():
force_notification_handler.add_callback("OnCalculateNetForce", on_calc_net_force)
# Wait for 3 secs, because there is a known bug identified and filed in
- # JIRA https://jira.agscollab.com/browse/LY-107677
+ # JIRA LY-107677
# The error "[Error] Huge object being added to a COctreeNode, name: 'MeshComponentRenderNode', objBox:"
# will show (if occured) in about 3 sec into the game mode.
helper.wait_for_condition(has_physx_error, 3.0)
diff --git a/AutomatedTesting/Gem/PythonTests/physics/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/physics/CMakeLists.txt
new file mode 100644
index 0000000000..4f89e841df
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/physics/CMakeLists.txt
@@ -0,0 +1,52 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::PhysicsTests_Main
+ TEST_SUITE main
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ Physics
+ )
+ ly_add_pytest(
+ NAME AutomatedTesting::PhysicsTests_Periodic
+ TEST_SUITE periodic
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Periodic.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ Physics
+ )
+ ly_add_pytest(
+ NAME AutomatedTesting::PhysicsTests_Sandbox
+ TEST_SUITE sandbox
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Sandbox.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ Physics
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py
index 8f098941ea..8986c1024a 100755
--- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py
+++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py
@@ -50,7 +50,7 @@ class TestAutomation(TestAutomationBase):
unexpected_lines = ["Assert"]
self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines)
- # BUG: https://jira.agscollab.com/browse/LY-107723")
+ # BUG: LY-107723")
def test_C14976308_ScriptCanvas_SetKinematicTargetTransform(self, request, workspace, editor):
from . import C14976308_ScriptCanvas_SetKinematicTargetTransform as test_module
diff --git a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py b/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py
index 5f24f41083..b6d7c610e3 100755
--- a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py
+++ b/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
'''
This unittest might have to be refactored once changes to Physmaterial_Editor.py are made.
These changes will occur after the but, reverence below is resloved.
-Bug: https://jira.agscollab.com/browse/LY-107392
+Bug: LY-107392
'''
class Tests:
opening_bad_file = ("Bad file could not be opened", "Bad file was opened")
diff --git a/Code/CryEngine/CryCommon/Platform/Android/crycommon_android.cmake b/AutomatedTesting/Gem/PythonTests/prefab/CMakeLists.txt
similarity index 56%
rename from Code/CryEngine/CryCommon/Platform/Android/crycommon_android.cmake
rename to AutomatedTesting/Gem/PythonTests/prefab/CMakeLists.txt
index f5b9ea77a2..61f1944974 100644
--- a/Code/CryEngine/CryCommon/Platform/Android/crycommon_android.cmake
+++ b/AutomatedTesting/Gem/PythonTests/prefab/CMakeLists.txt
@@ -9,3 +9,17 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
+## Prefab ##
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::PrefabTests
+ TEST_SUITE main
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py
new file mode 100644
index 0000000000..3401c6a0a9
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py
@@ -0,0 +1,76 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+# fmt:off
+class Tests():
+ find_empty_entity = ("Entity: 'EmptyEntity' found", "Entity: 'EmptyEntity' *not* found in level")
+ empty_entity_pos = ("'EmptyEntity' position is at the expected position", "'EmptyEntity' position is *not* at the expected position")
+ find_pxentity = ("Entity: 'EntityWithPxCollider' found", "Entity: 'EntityWithPxCollider' *not* found in level")
+ pxentity_component = ("Entity: 'EntityWithPxCollider' has a Physx Collider", "Entity: 'EntityWithPxCollider' does *not* have a Physx Collider")
+
+# fmt:on
+
+def PrefabLevel_OpensLevelWithEntities():
+ """
+ Opens the level that contains 2 entities, "EmptyEntity" and "EntityWithPxCollider".
+ This test makes sure that both entities exist after opening the level and that:
+ - EmptyEntity is at Position: (10, 20, 30)
+ - EntityWithPxCollider has a PhysXCollider component
+ """
+
+ import os
+ import sys
+
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.utils import TestHelper as helper
+
+ import editor_python_test_tools.hydra_editor_utils as hydra
+
+ import azlmbr.entity as entity
+ import azlmbr.bus as bus
+ from azlmbr.math import Vector3
+
+ EXPECTED_EMPTY_ENTITY_POS = Vector3(10.00, 20.0, 30.0)
+
+ helper.init_idle()
+ helper.open_level("prefab", "PrefabLevel_OpensLevelWithEntities")
+
+ def find_entity(entity_name):
+ searchFilter = entity.SearchFilter()
+ searchFilter.names = [entity_name]
+ entityIds = entity.SearchBus(bus.Broadcast, 'SearchEntities', searchFilter)
+ if entityIds[0].IsValid():
+ return entityIds[0]
+ return None
+#Checks for an entity called "EmptyEntity"
+ helper.wait_for_condition(lambda: find_entity("EmptyEntity").IsValid(), 5.0)
+ empty_entity_id = find_entity("EmptyEntity")
+ Report.result(Tests.find_empty_entity, empty_entity_id.IsValid())
+
+# Checks if the EmptyEntity is in the correct position and if it fails, it will provide the expected postion and the actual postion of the entity in the Editor log
+ empty_entity_pos = azlmbr.components.TransformBus(azlmbr.bus.Event, "GetWorldTranslation", empty_entity_id)
+ is_at_position = empty_entity_pos.IsClose(EXPECTED_EMPTY_ENTITY_POS)
+ Report.result(Tests.empty_entity_pos, is_at_position)
+ if not is_at_position:
+ Report.info(f'Expected position: {EXPECTED_EMPTY_ENTITY_POS.ToString()}, actual position: {empty_entity_pos.ToString()}')
+
+#Checks for an entity called "EntityWithPxCollider" and if it has the PhysX Collider component
+ pxentity = find_entity("EntityWithPxCollider")
+ Report.result(Tests.find_pxentity, pxentity.IsValid())
+
+ pxcollider_id = hydra.get_component_type_id("PhysX Collider")
+ hasComponent = azlmbr.editor.EditorComponentAPIBus(azlmbr.bus.Broadcast, 'HasComponentOfType', pxentity, pxcollider_id)
+ Report.result(Tests.pxentity_component, hasComponent)
+
+if __name__ == "__main__":
+
+ from editor_python_test_tools.utils import Report
+ Report.start_test (PrefabLevel_OpensLevelWithEntities)
diff --git a/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py
new file mode 100644
index 0000000000..51c78a99e2
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py
@@ -0,0 +1,35 @@
+"""
+ All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+ its licensors.
+
+ For complete copyright and license terms please see the LICENSE at the root of this
+ distribution (the "License"). All use of this software is governed by the License,
+ or, if provided, by the license below or the license accompanying this file. Do not
+ remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+ """
+
+# This suite consists of all test cases that are passing and have been verified.
+
+import pytest
+import os
+import sys
+
+from ly_test_tools import LAUNCHERS
+
+sys.path.append (os.path.dirname (os.path.abspath (__file__)) + '/../automatedtesting_shared')
+
+from base import TestAutomationBase
+
+@pytest.mark.SUITE_main
+@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
+@pytest.mark.parametrize("project", ["AutomatedTesting"])
+class TestAutomation(TestAutomationBase):
+
+ def _run_prefab_test(self, request, workspace, editor, test_module):
+ self._run_test(request, workspace, editor, test_module, ["--regset=/Amazon/Preferences/EnablePrefabSystem=true"])
+
+ def test_PrefabLevel_OpensLevelWithEntities(self, request, workspace, editor, launcher_platform):
+ from . import PrefabLevel_OpensLevelWithEntities as test_module
+ self._run_prefab_test(request, workspace, editor, test_module)
diff --git a/AutomatedTesting/Gem/PythonTests/prefab/__init__.py b/AutomatedTesting/Gem/PythonTests/prefab/__init__.py
new file mode 100644
index 0000000000..79f8fa4422
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/prefab/__init__.py
@@ -0,0 +1,10 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/scripting/CMakeLists.txt
new file mode 100644
index 0000000000..58507c680c
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/scripting/CMakeLists.txt
@@ -0,0 +1,37 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::ScriptCanvasTests_Perodic
+ TEST_SUITE periodic
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Periodic.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ COMPONENT
+ ScriptCanvas
+ )
+ ly_add_pytest(
+ NAME AutomatedTesting::ScriptCanvasTests_Sandbox
+ TEST_SUITE sandbox
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Sandbox.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ )
+endif()
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleEntities.py b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleEntities.py
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleEntities.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleEntities.py
index a26cb4f923..2c36062acf 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleEntities.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleEntities.py
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92568856
-Test Case Title: Multiple Entities can be targeted in the Debugger tool
-URLs of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568856
"""
@@ -26,20 +21,20 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-def Debugging_TargetMultipleEntities():
+def Debugger_HappyPath_TargetMultipleEntities():
"""
Summary:
Multiple Entities can be targeted in the Debugger tool
Expected Behavior:
- Selected files can be checked for logging.
+ Multiple selected files can be checked for logging.
Upon checking, checkboxes of the parent folders change to either full or partial check.
Test Steps:
1) Create temp level
2) Create two entities with scriptcanvas components
3) Set values for scriptcanvas
- 4) Open Script Canvas window and get sc opbject
+ 4) Open Script Canvas window and get sc object
5) Open Debugging(Logging) window
6) Click on Entities tab in logging window
7) Verify if the scriptcanvas exist under entities
@@ -54,7 +49,6 @@ def Debugging_TargetMultipleEntities():
:return: None
"""
-
from PySide2 import QtWidgets
from PySide2.QtCore import Qt
import azlmbr.legacy.general as general
@@ -141,4 +135,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(Debugging_TargetMultipleEntities)
+ Report.start_test(Debugger_HappyPath_TargetMultipleEntities)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleGraphs.py b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleGraphs.py
similarity index 91%
rename from AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleGraphs.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleGraphs.py
index 4aa5c822a7..906c198d43 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleGraphs.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleGraphs.py
@@ -7,30 +7,25 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569137
-Test Case Title: Multiple Graphs can be targeted in the Debugger tool
-URLs of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569137
"""
# fmt: off
class Tests():
- select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
+ select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
# fmt: on
GENERAL_WAIT = 0.5 # seconds
-def Debugging_TargetMultipleGraphs():
+def Debugger_HappyPath_TargetMultipleGraphs():
"""
Summary:
Multiple Graphs can be targeted in the Debugger tool
Expected Behavior:
- Selected files can be checked for logging.
+ Multiple elected files can be checked for logging.
Upon checking, checkboxes of the parent folders change to either full or partial check.
Test Steps:
@@ -50,7 +45,6 @@ def Debugging_TargetMultipleGraphs():
:return: None
"""
-
from PySide2 import QtWidgets
from PySide2.QtCore import Qt
import azlmbr.legacy.general as general
@@ -107,7 +101,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Debugging_TargetMultipleGraphs)
+ Report.start_test(Debugger_HappyPath_TargetMultipleGraphs)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_UndoRedo.py b/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_Default_UndoRedo.py
similarity index 88%
rename from AutomatedTesting/Gem/PythonTests/scripting/EditMenu_UndoRedo.py
rename to AutomatedTesting/Gem/PythonTests/scripting/EditMenu_Default_UndoRedo.py
index a87d9e9be9..34345cf36b 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_UndoRedo.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_Default_UndoRedo.py
@@ -7,14 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569049
-Test Case Title: Edit > Undo undoes the last action
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569049
-Test case ID: T92569051
-Test Case Title: Edit > Redo redoes the last undone action
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569051
"""
@@ -26,7 +18,7 @@ class Tests():
# fmt: on
-def EditMenu_UndoRedo():
+def EditMenu_Default_UndoRedo():
"""
Summary:
Edit > Undo undoes the last action
@@ -35,8 +27,8 @@ def EditMenu_UndoRedo():
redo it and verify if the variable is created again.
Expected Behavior:
- The last action is undone.
- The last undone action is redone.
+ The last action is undone upon selecting Undo.
+ The last undone action is redone upon selecting Redo.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -46,7 +38,7 @@ def EditMenu_UndoRedo():
5) Create new variable
6) Verify if the variable is created initially
7) Trigger Undo action and verify if variable is removed in Variable Manager
- 8) Trigger Redo action and verify if variable is readded in Variable Manager
+ 8) Trigger Redo action and verify if variable is re-added in Variable Manager
9) Close SC window
Note:
@@ -56,13 +48,12 @@ def EditMenu_UndoRedo():
:return: None
"""
-
from PySide2 import QtWidgets, QtCore
- import azlmbr.legacy.general as general
-
import pyside_utils
+ import azlmbr.legacy.general as general
+
# 1) Open Script Canvas window
general.idle_enable(True)
general.open_pane("Script Canvas")
@@ -117,7 +108,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(EditMenu_UndoRedo)
+ Report.start_test(EditMenu_Default_UndoRedo)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Entity_AddScriptCanvasComponent.py b/AutomatedTesting/Gem/PythonTests/scripting/Entity_HappyPath_AddScriptCanvasComponent.py
similarity index 88%
rename from AutomatedTesting/Gem/PythonTests/scripting/Entity_AddScriptCanvasComponent.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Entity_HappyPath_AddScriptCanvasComponent.py
index fd8e9b1173..22530c90c1 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Entity_AddScriptCanvasComponent.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Entity_HappyPath_AddScriptCanvasComponent.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562978
-Test Case Title: Script Canvas Component can be added to an entity
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562978
"""
@@ -24,13 +20,13 @@ class Tests():
# fmt: on
-def Entity_AddScriptCanvasComponent():
+def Entity_HappyPath_AddScriptCanvasComponent():
"""
Summary:
- verify if Script Canvas component can be added to Entity without any issue
+ Script Canvas Component can be added to an entity
Expected Behavior:
- Script Canvas Component is added to the entity successfully without issue.
+ Script Canvas Component is added to the entity successfully without issue
Test Steps:
1) Create temp level
@@ -47,7 +43,6 @@ def Entity_AddScriptCanvasComponent():
:return: None
"""
-
from utils import TestHelper as helper
from utils import Tracer
from editor_entity_utils import EditorEntity
@@ -85,4 +80,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(Entity_AddScriptCanvasComponent)
+ Report.start_test(Entity_HappyPath_AddScriptCanvasComponent)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_New_Open.py b/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_Default_NewAndOpen.py
similarity index 85%
rename from AutomatedTesting/Gem/PythonTests/scripting/FileMenu_New_Open.py
rename to AutomatedTesting/Gem/PythonTests/scripting/FileMenu_Default_NewAndOpen.py
index f72ac8ea01..4771a95ab7 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_New_Open.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_Default_NewAndOpen.py
@@ -7,24 +7,15 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569037
-Test Case Title: File > New Script creates a new script
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569037
-Test case ID: T92569039
-Test Case Title: File > Open opens the Open... dialog
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569039
"""
-
-import os
-import sys
from PySide2 import QtWidgets
-import azlmbr.legacy.general as general
import editor_python_test_tools.pyside_utils as pyside_utils
from editor_python_test_tools.utils import Report
+import azlmbr.legacy.general as general
+
+
# fmt: off
class Tests():
new_action = "File->New action working as expected"
@@ -35,10 +26,11 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-class TestFileMenuNewOpen:
+class TestFileMenuDefaultNewOpen:
"""
Summary:
- When clicked on File->New, new script opens and File->Open should open the FileBrowser
+ When clicked on File->New, new script opens
+ File->Open should open the FileBrowser
Expected Behavior:
New and Open actions should work as expected.
@@ -94,5 +86,5 @@ class TestFileMenuNewOpen:
general.close_pane("Script Canvas")
-test = TestFileMenuNewOpen()
+test = TestFileMenuDefaultNewOpen()
test.run_test()
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_SavePrompt.py b/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_Default_SavePrompt.py
similarity index 87%
rename from AutomatedTesting/Gem/PythonTests/scripting/GraphClose_SavePrompt.py
rename to AutomatedTesting/Gem/PythonTests/scripting/GraphClose_Default_SavePrompt.py
index ce610b159b..9720c846c7 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_SavePrompt.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_Default_SavePrompt.py
@@ -7,26 +7,17 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92563070
-Test Case Title: Graphs can be closed by clicking X on the Graph name tab
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563070
-Test case ID: T92563068
-Test Case Title: Save Prompt: User is prompted to save a graph on close after
-creating a new graph
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563068
"""
-import os
-import sys
from PySide2 import QtWidgets
-import azlmbr.legacy.general as general
import editor_python_test_tools.pyside_utils as pyside_utils
from editor_python_test_tools.utils import TestHelper as helper
from editor_python_test_tools.utils import Report
+import azlmbr.legacy.general as general
+
+
# fmt: off
class Tests():
new_graph = "New graph created"
@@ -38,14 +29,15 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-class TestGraphCloseSavePrompt:
+class TestGraphClose_Default_SavePrompt:
"""
Summary:
The graph is closed when x button is clicked.
Save Prompt is opened before closing.
Expected Behavior:
- New and Open actions should work as expected.
+ The Graph is closed.
+ Upon closing the graph, User is prompted whether or not to save changes.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -106,5 +98,5 @@ class TestGraphCloseSavePrompt:
general.close_pane("Script Canvas")
-test = TestGraphCloseSavePrompt()
+test = TestGraphClose_Default_SavePrompt()
test.run_test()
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Graph_ZoomInZoomOut.py b/AutomatedTesting/Gem/PythonTests/scripting/Graph_HappyPath_ZoomInZoomOut.py
similarity index 88%
rename from AutomatedTesting/Gem/PythonTests/scripting/Graph_ZoomInZoomOut.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Graph_HappyPath_ZoomInZoomOut.py
index a93b6e61d1..11c83bb779 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Graph_ZoomInZoomOut.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Graph_HappyPath_ZoomInZoomOut.py
@@ -7,14 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569079
-Test Case Title: View > Zoom In zooms the graph in
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569079
-Test case ID: T92569081
-Test Case Title: View > Zoom In zooms the graph out
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569081
"""
@@ -28,7 +20,7 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-def Graph_ZoomInZoomOut():
+def Graph_HappyPath_ZoomInZoomOut():
"""
Summary:
The graph can be zoomed in and zoomed out.
@@ -93,7 +85,7 @@ def Graph_ZoomInZoomOut():
zin = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomIn", "type": QtWidgets.QAction})
zin.trigger()
result = helper.wait_for_condition(
- lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT,
+ lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT
)
Report.result(Tests.zoom_in, result)
@@ -102,7 +94,7 @@ def Graph_ZoomInZoomOut():
zout = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomOut", "type": QtWidgets.QAction})
zout.trigger()
result = helper.wait_for_condition(
- lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT,
+ lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT
)
Report.result(Tests.zoom_out, result)
@@ -114,7 +106,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Graph_ZoomInZoomOut)
+ Report.start_test(Graph_HappyPath_ZoomInZoomOut)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py
index a45024cebf..ef794433f0 100755
--- a/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py
@@ -9,9 +9,10 @@ remove or modify any license notices. This file is distributed on an "AS IS" BAS
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
"""
+
def init():
import os
import sys
- sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
- sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../EditorPythonTestTools/editor_python_test_tools')
-
\ No newline at end of file
+
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../automatedtesting_shared")
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../EditorPythonTestTools/editor_python_test_tools")
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_NewScriptEvent.py b/AutomatedTesting/Gem/PythonTests/scripting/NewScriptEventButton_HappyPath_ContainsSCCategory.py
similarity index 92%
rename from AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_NewScriptEvent.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NewScriptEventButton_HappyPath_ContainsSCCategory.py
index 1f801d4eeb..acc0880a73 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_NewScriptEvent.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NewScriptEventButton_HappyPath_ContainsSCCategory.py
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92568942
-Test Case Title: Clicking the "+" button and selecting "New Script Event" opens the
-Asset Editor with a new Script Event asset
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568942
"""
from PySide2 import QtWidgets
@@ -36,11 +30,10 @@ GENERAL_WAIT = 0.5 # seconds
class TestAssetEditor_NewScriptEvent:
"""
Summary:
- Clicking the "+" button in Node Palette and creating New Script Event opens Asset Editor
+ Verifying logic flow of the "+" button on the Script Canvas pane's Node Palette is as expected
Expected Behavior:
- Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a
- new Script Event asset
+ Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a new Script Event asset
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py b/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py
new file mode 100644
index 0000000000..81e23dc35e
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py
@@ -0,0 +1,127 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+
+# fmt: off
+class Tests():
+ pane_open = ("Script Canvas pane successfully opened", "Script Canvas pane failed to open")
+ click_expand = ("Category expanded on left click", "Category failed to expand on left click")
+ click_collapse = ("Category collapsed on left click", "Category failed to collapse on left click")
+ dClick_expand = ("Category expanded on double click", "Category failed to expand on double click")
+ dClick_collapse = ("Category collapsed on double click", "Category failed to collapse on double click")
+# fmt: on
+
+
+def NodeCategory_ExpandOnClick():
+ """
+ Summary:
+ Verifying the expand/collapse functionality on node categories
+
+ Expected Behavior:
+ The node category should expand when double clicked or when the drop down indicator is
+ left-clicked. Once expanded, it should be collapsed via the same actions.
+
+ Test Steps:
+ 1) Open Script Canvas pane
+ 2) Get the SC window objects
+ 3) Ensure all categories are collapsed for a clean state
+ 4) Left-Click on a node category arrow to expand it
+ 5) Verify it expanded
+ 6) Left-Click on a node category arrow to collapse it
+ 7) Verify it collapsed
+ 8) Double-Click on a node category to expand it
+ 9) Verify it expanded
+ 10) Double-Click on a node category to collapse it
+ 11) Verify it collapsed
+
+ Note:
+ - This test file must be called from the Open 3D Engine Editor command terminal
+ - Any passed and failed tests are written to the Editor.log file.
+ Parsing the file or running a log_monitor are required to observe the test results.
+
+ :return: None
+ """
+ from utils import Report
+ from PySide2 import QtCore, QtWidgets, QtTest
+ from PySide2.QtTest import QTest
+ import pyside_utils
+ import azlmbr.legacy.general as general
+
+ def left_click_arrow(item_view, index):
+ original_state = item_view.isExpanded(index)
+ rect_center_y = item_view.visualRect(index).center().y()
+ rect_left_x = item_view.visualRect(index).left()
+ for i in range(5): # this range can be increased for safe side
+ QtTest.QTest.mouseClick(
+ item_view.viewport(),
+ QtCore.Qt.LeftButton,
+ QtCore.Qt.NoModifier,
+ QtCore.QPoint(rect_left_x - i, rect_center_y),
+ )
+ if item_view.isExpanded(index) != original_state:
+ break
+
+ def double_click(item_view, index):
+ item_index_center = item_view.visualRect(index).center()
+ # Left click on the item before trying to double click, will otherwise fail to expand
+ # as first click would highlight and second click would be a 'single click'
+ pyside_utils.item_view_index_mouse_click(item_view, index)
+ QTest.mouseDClick(item_view.viewport(), QtCore.Qt.LeftButton, QtCore.Qt.NoModifier, item_index_center)
+
+ # 1) Open Script Canvas pane
+ general.open_pane("Script Canvas")
+ Report.critical_result(Tests.pane_open, general.is_pane_visible("Script Canvas"))
+
+ # 2) Get the SC window objects
+ editor_window = pyside_utils.get_editor_main_window()
+ sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
+ if sc.findChild(QtWidgets.QDockWidget, "NodePalette") is None:
+ action = pyside_utils.find_child_by_pattern(sc, {"text": "Node Palette", "type": QtWidgets.QAction})
+ action.trigger()
+ node_palette = sc.findChild(QtWidgets.QDockWidget, "NodePalette")
+ nodeTree = node_palette.findChild(QtWidgets.QTreeView, "treeView")
+ ai_index = pyside_utils.find_child_by_pattern(nodeTree, "AI")
+
+ # 3) Ensure all categories are collapsed for a clean state
+ nodeTree.collapseAll()
+
+ # 4) Left-Click on a node category arrow to expand it
+ left_click_arrow(nodeTree, ai_index)
+
+ # 5) Verify it expanded
+ Report.result(Tests.click_expand, nodeTree.isExpanded(ai_index))
+
+ # 6) Left-Click on a node category arrow to collapse it
+ left_click_arrow(nodeTree, ai_index)
+
+ # 7) Verify it collapsed
+ Report.result(Tests.click_collapse, not nodeTree.isExpanded(ai_index))
+
+ # 8) Double-Click on a node category to expand it
+ double_click(nodeTree, ai_index)
+
+ # 9) Verify it expanded
+ Report.result(Tests.dClick_expand, nodeTree.isExpanded(ai_index))
+
+ # 10) Double-Click on a node category to collapse it
+ double_click(nodeTree, ai_index)
+
+ # 11) Verify it collapsed
+ Report.result(Tests.dClick_collapse, not nodeTree.isExpanded(ai_index))
+
+
+if __name__ == "__main__":
+ import ImportPathHelper as imports
+
+ imports.init()
+ from utils import Report
+
+ Report.start_test(NodeCategory_ExpandOnClick)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_RenameVariable.py b/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_HappyPath_VariableRenames.py
similarity index 95%
rename from AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_RenameVariable.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_HappyPath_VariableRenames.py
index 33d3f4137a..c235db6256 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_RenameVariable.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_HappyPath_VariableRenames.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92568982
-Test Case Title: Renaming variables in the Node Inspector
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568982
"""
@@ -25,7 +21,7 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-def NodeInspector_RenameVariable():
+def NodeInspector_HappyPath_VariableRenames():
"""
Summary:
Renaming variables in the Node Inspector, renames the actual variable.
@@ -51,16 +47,16 @@ def NodeInspector_RenameVariable():
:return: None
"""
-
- TEST_NAME = "test name"
-
from PySide2 import QtWidgets, QtCore, QtTest
from PySide2.QtCore import Qt
- import azlmbr.legacy.general as general
import pyside_utils
from utils import TestHelper as helper
+ import azlmbr.legacy.general as general
+
+ TEST_NAME = "test name"
+
def open_tool(sc, dock_widget_name, pane_name):
if sc.findChild(QtWidgets.QDockWidget, dock_widget_name) is None:
action = pyside_utils.find_child_by_pattern(sc, {"text": pane_name, "type": QtWidgets.QAction})
@@ -121,12 +117,10 @@ def NodeInspector_RenameVariable():
general.close_pane("Script Canvas")
-
if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(NodeInspector_RenameVariable)
+ Report.start_test(NodeInspector_HappyPath_VariableRenames)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SelectNode.py b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_CanSelectNode.py
similarity index 87%
rename from AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SelectNode.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_CanSelectNode.py
index 2ab76071a6..2fb1830b8f 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SelectNode.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_CanSelectNode.py
@@ -7,31 +7,27 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92568940
-Test Case Title: Categories and Nodes can be selected
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568940
"""
# fmt: off
class Tests():
- category_selected = ("Category can be selected", "Category cannot be selected")
- node_selected = ("Node can be selected", "Node cannot be selected")
+ category_selected = ("Category can be selected", "Category cannot be selected")
+ node_selected = ("Node can be selected", "Node cannot be selected")
# fmt: on
GENERAL_WAIT = 0.5 # seconds
-def NodePalette_SelectNode():
+def NodePalette_HappyPath_CanSelectNode():
"""
Summary:
Categories and Nodes can be selected
Expected Behavior:
- When clicked on Node Palette, nodes and categories can be selected.
+ A category can be selected inside the Node Palette
+ A Node can be selected inside the Node Palette
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -54,11 +50,12 @@ def NodePalette_SelectNode():
NODE = "Find Path To Entity"
from PySide2 import QtWidgets
- import azlmbr.legacy.general as general
import pyside_utils
from utils import TestHelper as helper
+ import azlmbr.legacy.general as general
+
# 1) Open Script Canvas window (Tools > Script Canvas)
general.idle_enable(True)
general.open_pane("Script Canvas")
@@ -98,7 +95,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(NodePalette_SelectNode)
+ Report.start_test(NodePalette_HappyPath_CanSelectNode)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_ClearSelection.py b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_ClearSelection.py
similarity index 87%
rename from AutomatedTesting/Gem/PythonTests/scripting/NodePalette_ClearSelection.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_ClearSelection.py
index de30e46767..93254dd377 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_ClearSelection.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_ClearSelection.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562993
-Test Case Title: Clicking the X button on the Search Box clears the currently entered string
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562993
"""
@@ -21,14 +17,14 @@ class Tests():
# fmt: on
-def NodePalette_ClearSelection():
+def NodePalette_HappyPath_ClearSelection():
"""
Summary:
- We enter some string in the Node Palette Search box, and click on the X button to verify if the
- search string got cleared.
+ Clicking the X button on the Search Box clears the currently entered string
Expected Behavior:
- Clicking the X button on the Search Box clears the currently entered string
+ After entering a string value into the Node Palette's search box and click on
+ the X button, the search box should be cleared
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -45,15 +41,13 @@ def NodePalette_ClearSelection():
:return: None
"""
-
from PySide2 import QtWidgets
+ import pyside_utils
from utils import TestHelper as helper
import azlmbr.legacy.general as general
- import pyside_utils
-
TEST_STRING = "Test String"
# 1) Open Script Canvas window (Tools > Script Canvas)
@@ -91,4 +85,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(NodePalette_ClearSelection)
+ Report.start_test(NodePalette_HappyPath_ClearSelection)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SearchText_Deletion.py b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SearchText_Deletion.py
new file mode 100644
index 0000000000..0739a8e637
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SearchText_Deletion.py
@@ -0,0 +1,91 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+
+# fmt: off
+class Tests():
+ set_search_string = ("Search string is set", "Search string is not set")
+ search_string_deleted = ("Search string deleted as expected", "Search string not deleted")
+# fmt: on
+
+
+def NodePalette_SearchText_Deletion():
+ """
+ Summary:
+ We enter some string in the Node Palette Search box, select that text and delete it.
+
+ Expected Behavior:
+ After RightClick->Delete the text in the Searchbox should be deleted.
+
+ Test Steps:
+ 1) Open Script Canvas window (Tools > Script Canvas)
+ 2) Get the SC window object
+ 3) Open Node Manager if not opened already
+ 4) Set some string in the Search box
+ 5) Verify if the test string is set
+ 6) Delete search string using right click and verify if it is cleared
+
+ Note:
+ - This test file must be called from the Open 3D Engine Editor command terminal
+ - Any passed and failed tests are written to the Editor.log file.
+ Parsing the file or running a log_monitor are required to observe the test results.
+
+ :return: None
+ """
+
+ from PySide2 import QtWidgets, QtTest, QtCore
+
+ from utils import TestHelper as helper
+
+ import azlmbr.legacy.general as general
+
+ import pyside_utils
+
+ TEST_STRING = "TestString"
+
+ # 1) Open Script Canvas window (Tools > Script Canvas)
+ general.idle_enable(True)
+ general.open_pane("Script Canvas")
+ helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 3.0)
+
+ # 2) Get the SC window object
+ editor_window = pyside_utils.get_editor_main_window()
+ sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
+
+ # 3) Open Node Manager if not opened already
+ if sc.findChild(QtWidgets.QDockWidget, "NodePalette") is None:
+ action = pyside_utils.find_child_by_pattern(sc, {"text": "Node Palette", "type": QtWidgets.QAction})
+ action.trigger()
+ node_palette = sc.findChild(QtWidgets.QDockWidget, "NodePalette")
+ search_frame = node_palette.findChild(QtWidgets.QFrame, "searchFrame")
+
+ # 4) Set some string in the Search box
+ search_box = search_frame.findChild(QtWidgets.QLineEdit, "searchFilter")
+ search_box.setText(TEST_STRING)
+
+ # 5) Verify if the test string is set
+ result = helper.wait_for_condition(lambda: search_box.text() == TEST_STRING, 1.0)
+ Report.result(Tests.set_search_string, result)
+
+ # 6) Delete search string using right click and verify if it is cleared
+ QtTest.QTest.keyClick(search_box, QtCore.Qt.Key_A, QtCore.Qt.ControlModifier)
+ pyside_utils.trigger_context_menu_entry(search_box, "Delete")
+ result = helper.wait_for_condition(lambda: search_box.text() == "", 2.0)
+ Report.result(Tests.search_string_deleted, result)
+
+
+if __name__ == "__main__":
+ import ImportPathHelper as imports
+
+ imports.init()
+ from utils import Report
+
+ Report.start_test(NodePalette_SearchText_Deletion)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Node_HappyPath_DuplicateNode.py b/AutomatedTesting/Gem/PythonTests/scripting/Node_HappyPath_DuplicateNode.py
new file mode 100644
index 0000000000..77d3b2fcde
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Node_HappyPath_DuplicateNode.py
@@ -0,0 +1,117 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+
+# fmt: off
+class Tests():
+ node_duplicated = ("Successfully duplicated node", "Failed to duplicate the node")
+# fmt: on
+
+
+def Node_HappyPath_DuplicateNode():
+ """
+ Summary:
+ Duplicating node in graph
+
+ Expected Behavior:
+ Upon selecting a node and pressing Ctrl+D, the node will be duplicated
+
+ Test Steps:
+ 1) Open Script Canvas window (Tools > Script Canvas)
+ 2) Open a new graph
+ 3) Add node to graph
+ 4) Duplicate node
+ 5) Verify the node was duplicated6) Verify the node was duplicated
+
+ Note:
+ - This test file must be called from the Open 3D Engine Editor command terminal
+ - Any passed and failed tests are written to the Editor.log file.
+ Parsing the file or running a log_monitor are required to observe the test results.
+
+ :return: None
+ """
+ from PySide2 import QtWidgets, QtTest
+ from PySide2.QtCore import Qt
+
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.utils import TestHelper as helper
+ import editor_python_test_tools.pyside_utils as pyside_utils
+
+ import azlmbr.legacy.general as general
+
+ WAIT_FRAMES = 200
+
+ NODE_NAME = "Print"
+ NODE_CATEGORY = "Debug"
+ EXPECTED_STRING = f"{NODE_NAME} - {NODE_CATEGORY} (2 Selected)"
+
+ def command_line_input(command_str):
+ cmd_action = pyside_utils.find_child_by_pattern(
+ sc_main, {"objectName": "action_ViewCommandLine", "type": QtWidgets.QAction}
+ )
+ cmd_action.trigger()
+ textbox = sc.findChild(QtWidgets.QLineEdit, "commandText")
+ QtTest.QTest.keyClicks(textbox, command_str)
+ QtTest.QTest.keyClick(textbox, Qt.Key_Enter, Qt.NoModifier)
+
+ def grab_title_text():
+ scroll_area = node_inspector.findChild(QtWidgets.QScrollArea, "")
+ QtTest.QTest.keyClick(graph, "a", Qt.ControlModifier, WAIT_FRAMES)
+ background = scroll_area.findChild(QtWidgets.QFrame, "Background")
+ title = background.findChild(QtWidgets.QLabel, "Title")
+ text = title.findChild(QtWidgets.QLabel, "Title")
+ return text.text()
+
+ # 1) Open Script Canvas window (Tools > Script Canvas)
+ general.idle_enable(True)
+ general.open_pane("Script Canvas")
+ helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
+
+ # 2) Open a new graph
+ editor_window = pyside_utils.get_editor_main_window()
+ sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
+ sc_main = sc.findChild(QtWidgets.QMainWindow)
+ create_new_graph = pyside_utils.find_child_by_pattern(
+ sc_main, {"objectName": "action_New_Script", "type": QtWidgets.QAction}
+ )
+ if sc.findChild(QtWidgets.QDockWidget, "NodeInspector") is None:
+ action = pyside_utils.find_child_by_pattern(sc, {"text": "Node Inspector", "type": QtWidgets.QAction})
+ action.trigger()
+ node_inspector = sc.findChild(QtWidgets.QDockWidget, "NodeInspector")
+ create_new_graph.trigger()
+
+ # 3) Add node
+ command_line_input("add_node Print")
+
+ # 4) Duplicate node
+ graph_view = sc.findChild(QtWidgets.QFrame, "graphicsViewFrame")
+ graph = graph_view.findChild(QtWidgets.QWidget, "")
+ # There are currently no utilities available to directly duplicate the node,
+ # therefore the node is selected using CTRL+A on the graph to select
+ # it and then CTRL+D to duplicate
+ sc_main.activateWindow()
+ QtTest.QTest.keyClick(graph, "a", Qt.ControlModifier, WAIT_FRAMES)
+ QtTest.QTest.keyClick(graph, "d", Qt.ControlModifier, WAIT_FRAMES)
+
+ # 5) Verify the node was duplicated
+ # As direct interaction with node is not available the text on the label
+ # inside the Node Inspector is validated showing two nodes exist
+ after_dup = grab_title_text()
+ Report.result(Tests.node_duplicated, after_dup == EXPECTED_STRING)
+
+
+if __name__ == "__main__":
+ import ImportPathHelper as imports
+
+ imports.init()
+ from editor_python_test_tools.utils import Report
+
+ Report.start_test(Node_HappyPath_DuplicateNode)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Pane_RetainOnSCRestart.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Default_RetainOnSCRestart.py
similarity index 77%
rename from AutomatedTesting/Gem/PythonTests/scripting/Pane_RetainOnSCRestart.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_Default_RetainOnSCRestart.py
index fa5e9e6068..626b1cf0bd 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Pane_RetainOnSCRestart.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Default_RetainOnSCRestart.py
@@ -7,35 +7,30 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702821 // C1702832
-Test Case Title: Retain visibility, size and location upon Script Canvas restart
-URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702821 and
- https://testrail.agscollab.com/index.php?/cases/view/1702832
"""
# fmt: off
class Tests():
- relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
- test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
- close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
- visiblity_retained = ("Test pane retained its visiblity on SC restart", "Failed to retain visiblity of test pane on SC restart")
- resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
- size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
- location_changed = ("Location of test pane 2 changed successfully", "Failed to change locatio of test pane 2")
- location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
+ relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
+ test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
+ close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
+ visibility_retained = ("Test pane retained its visibility on SC restart", "Failed to retain visibility of test pane on SC restart")
+ resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
+ size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
+ location_changed = ("Location of test pane 2 changed successfully", "Failed to change location of test pane 2")
+ location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
# fmt: on
-def Pane_RetainOnSCRestart():
+def Pane_Default_RetainOnSCRestart():
"""
Summary:
The Script Canvas window is opened to verify if Script canvas panes can retain its visibility, size and location
upon ScriptCanvas restart.
Expected Behavior:
- The ScriptCanvas pane retain it's visiblity, size and location upon ScriptCanvas restart.
+ The ScriptCanvas pane retain it's visibility, size and location upon ScriptCanvas restart.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -44,7 +39,7 @@ def Pane_RetainOnSCRestart():
4) Change dock location of test pane 2
5) Resize test pane 3
6) Relaunch Script Canvas
- 7) Verify if test pane 1 retain its visiblity
+ 7) Verify if test pane 1 retain its visibility
8) Verify if location of test pane 2 is retained
9) Verify if size of test pane 3 is retained
10) Restore default layout and close SC window
@@ -57,6 +52,10 @@ def Pane_RetainOnSCRestart():
:return: None
"""
+ # Pyside imports
+ from PySide2 import QtCore, QtWidgets
+ from PySide2.QtCore import Qt
+
# Helper imports
from utils import Report
from utils import TestHelper as helper
@@ -65,11 +64,6 @@ def Pane_RetainOnSCRestart():
# Open 3D Engine Imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtCore, QtWidgets
- from PySide2.QtCore import Qt
-
- # Constants
TEST_PANE_1 = "NodePalette" # test visibility
TEST_PANE_2 = "VariableManager" # test location
TEST_PANE_3 = "NodeInspector" # test size
@@ -130,10 +124,10 @@ def Pane_RetainOnSCRestart():
sc_visible = helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
Report.result(Tests.relaunch_sc, sc_visible)
- # 7) Verify if test pane 1 retain its visiblity
+ # 7) Verify if test pane 1 retain its visibility
editor_window = pyside_utils.get_editor_main_window()
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
- Report.result(Tests.visiblity_retained, not find_pane(sc, TEST_PANE_1).isVisible())
+ Report.result(Tests.visibility_retained, not find_pane(sc, TEST_PANE_1).isVisible())
# 8) Verify if location of test pane 2 is retained
sc_main = sc.findChild(QtWidgets.QMainWindow)
@@ -158,7 +152,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Pane_RetainOnSCRestart)
+ Report.start_test(Pane_Default_RetainOnSCRestart)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Docking_Pane.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_DocksProperly.py
old mode 100755
new mode 100644
similarity index 86%
rename from AutomatedTesting/Gem/PythonTests/scripting/Docking_Pane.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_DocksProperly.py
index 4fa1e1257f..2186a8a54a
--- a/AutomatedTesting/Gem/PythonTests/scripting/Docking_Pane.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_DocksProperly.py
@@ -7,25 +7,21 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702824
-Test Case Title: Docking
-URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702824
"""
# fmt: off
class Tests():
- pane_opened = ("Pane is opened successfully", "Failed to open pane")
- dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
+ pane_opened = ("Pane is opened successfully", "Failed to open pane")
+ dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
# fmt: on
-def Docking_Pane():
+def Pane_HappyPath_DocksProperly():
"""
Summary:
- The Script Canvas window is opened to verify if Script canvas panes can be docked into
- every possible area of Script Canvas main window.
+ The Script Canvas window is opened to verify if Script canvas panes can be docked into every
+ possible area of Script Canvas main window. (top, bottom, right and left sides of the window)
Expected Behavior:
The pane docks successfully.
@@ -44,12 +40,6 @@ def Docking_Pane():
:return: None
"""
-
- # Helper imports
- import ImportPathHelper as imports
-
- imports.init()
-
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
import editor_python_test_tools.pyside_utils as pyside_utils
@@ -111,7 +101,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from editor_python_test_tools.utils import Report
- Report.start_test(Docking_Pane)
+ Report.start_test(Pane_HappyPath_DocksProperly)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Opening_Closing_Pane.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_OpenCloseSuccessfully.py
old mode 100755
new mode 100644
similarity index 90%
rename from AutomatedTesting/Gem/PythonTests/scripting/Opening_Closing_Pane.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_OpenCloseSuccessfully.py
index 666f052240..cedd68cd87
--- a/AutomatedTesting/Gem/PythonTests/scripting/Opening_Closing_Pane.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_OpenCloseSuccessfully.py
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702834 // C1702823
-Test Case Title: Opening pane // Closing pane
-URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702834 and
- https://testrail.agscollab.com/index.php?/cases/view/1702823
"""
@@ -23,13 +18,13 @@ class Tests():
# fmt: on
-def Opening_Closing_Pane():
+def Pane_HappyPath_OpenCloseSuccessfully():
"""
Summary:
- The Script Canvas window is opened to verify if Script canvas panes can be opened and closed.
+ The Script Canvas window is opened to verify if Script Canvas panes can be opened and closed.
Expected Behavior:
- The pane opens and closes successfully.
+ The panes open and close successfully.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -115,7 +110,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from editor_python_test_tools.utils import Report
- Report.start_test(Opening_Closing_Pane)
+ Report.start_test(Pane_HappyPath_OpenCloseSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Resizing_Pane.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_ResizesProperly.py
old mode 100755
new mode 100644
similarity index 91%
rename from AutomatedTesting/Gem/PythonTests/scripting/Resizing_Pane.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_ResizesProperly.py
index 180f577953..36d734049d
--- a/AutomatedTesting/Gem/PythonTests/scripting/Resizing_Pane.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_ResizesProperly.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702829
-Test Case Title: Resizing pane
-URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702829
"""
@@ -21,10 +17,10 @@ class Tests():
# fmt: on
-def Resizing_Pane():
+def Pane_HappyPath_ResizesProperly():
"""
Summary:
- The Script Canvas window is opened to verify if Script canvas panes can be resized and scaled
+ The Script Canvas window is opened to verify if Script Canvas panes can be resized and scaled
Expected Behavior:
The pane is resized and scaled appropriately.
@@ -33,7 +29,7 @@ def Resizing_Pane():
1) Open Script Canvas window (Tools > Script Canvas)
2) Restore default layout
3) Make sure pane is opened
- 4) Resize pane
+ 4) Resize pane and verify change
5) Restore default layout
6) Close Script Canvas window
@@ -45,6 +41,8 @@ def Resizing_Pane():
:return: None
"""
+ from PySide2 import QtWidgets
+
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
import editor_python_test_tools.pyside_utils as pyside_utils
@@ -52,9 +50,6 @@ def Resizing_Pane():
# Open 3D Engine imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtWidgets
-
PANE_WIDGET = "NodePalette"
SCALE_INT = 10
@@ -87,7 +82,7 @@ def Resizing_Pane():
Report.result(Tests.open_pane, pane.isVisible())
- # 4) Resize pane
+ # 4) Resize pane and verify change
initial_size = pane.frameSize()
pane.resize(initial_size.width() + SCALE_INT, initial_size.height() + SCALE_INT)
new_size = pane.frameSize()
@@ -110,4 +105,4 @@ if __name__ == "__main__":
imports.init()
from editor_python_test_tools.utils import Report
- Report.start_test(Resizing_Pane)
+ Report.start_test(Pane_HappyPath_ResizesProperly)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/UnDockedPane_CloseSCWindow.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Undocked_ClosesSuccessfully.py
similarity index 92%
rename from AutomatedTesting/Gem/PythonTests/scripting/UnDockedPane_CloseSCWindow.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_Undocked_ClosesSuccessfully.py
index 875f28ec95..0ddbe7e34f 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/UnDockedPane_CloseSCWindow.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Undocked_ClosesSuccessfully.py
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702825 // C1702831
-Test Case Title: Undocking // Closing script canvas with the pane floating
-URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702825 &
- https://testrail.agscollab.com/index.php?/cases/view/1702831
"""
@@ -23,7 +18,7 @@ class Tests():
# fmt: on
-def UnDockedPane_CloseSCWindow():
+def Pane_Undocked_ClosesSuccessfully():
"""
Summary:
The Script Canvas window is opened with one of the pane undocked.
@@ -47,6 +42,8 @@ def UnDockedPane_CloseSCWindow():
:return: None
"""
+ from PySide2 import QtWidgets
+
# Helper imports
from utils import Report
from utils import TestHelper as helper
@@ -55,9 +52,6 @@ def UnDockedPane_CloseSCWindow():
# Open 3D Engine imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtWidgets
-
TEST_PANE = "NodePalette" # Chosen most commonly used pane
def click_menu_option(window, option_text):
@@ -122,7 +116,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(UnDockedPane_CloseSCWindow)
+ Report.start_test(Pane_Undocked_ClosesSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/OnEntityActivatedDeactivated_PrintMessage.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage.py
similarity index 79%
rename from AutomatedTesting/Gem/PythonTests/scripting/OnEntityActivatedDeactivated_PrintMessage.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage.py
index 51b63c4268..14e0c849e3 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/OnEntityActivatedDeactivated_PrintMessage.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage.py
@@ -7,30 +7,26 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92569253 // T92569254
-Test Case Title: On Entity Activated // On Entity Deactivated
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569253 // https://testrail.agscollab.com/index.php?/tests/view/92569254
"""
# fmt: off
class Tests():
- level_created = ("Successfully created temp level", "Failed to create temp level")
- controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
- activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
- deactivated_exists = ("Successfully found deactivated entity","Failed to find deactivated entity")
- start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
- game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
- lines_found = ("Successfully found expected prints", "Failed to find expected prints")
- game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
+ level_created = ("Successfully created temp level", "Failed to create temp level")
+ controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
+ activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
+ deactivated_exists = ("Successfully found deactivated entity", "Failed to find deactivated entity")
+ start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
+ game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
+ lines_found = ("Successfully found expected prints", "Failed to find expected prints")
+ game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
# fmt: on
-def OnEntityActivatedDeactivated_PrintMessage():
+def ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage():
"""
Summary:
- Verify that the On Entity Activation node is working as expected
+ Verify that the On Entity Activated/On Entity Deactivated nodes are working as expected
Expected Behavior:
Upon entering game mode, the Controller entity will wait 1 second and then activate the ActivationTest
@@ -55,9 +51,9 @@ def OnEntityActivatedDeactivated_PrintMessage():
"""
import os
- from utils import TestHelper as helper
from editor_entity_utils import EditorEntity as Entity
from utils import Report
+ from utils import TestHelper as helper
from utils import Tracer
import azlmbr.legacy.general as general
@@ -69,33 +65,45 @@ def OnEntityActivatedDeactivated_PrintMessage():
controller_dict = {
"name": "Controller",
"status": "active",
- "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas")
+ "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas"),
}
activated_dict = {
"name": "ActivationTest",
"status": "inactive",
- "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas")
+ "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas"),
}
deactivated_dict = {
"name": "DeactivationTest",
"status": "active",
- "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas")
+ "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas"),
}
def get_asset(asset_path):
- return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
+ return azlmbr.asset.AssetCatalogRequestBus(
+ azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
+ )
def setup_level():
- def create_editor_entity(entity_dict:dict, entity_to_activate:EditorEntity=None, entity_to_deactivate:EditorEntity=None) -> EditorEntity:
+ def create_editor_entity(
+ entity_dict: dict, entity_to_activate: EditorEntity = None, entity_to_deactivate: EditorEntity = None
+ ) -> EditorEntity:
entity = Entity.create_editor_entity(entity_dict["name"])
entity.set_start_status(entity_dict["status"])
sc_component = entity.add_component("Script Canvas")
- sc_component.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"]))
+ sc_component.set_component_property_value(
+ "Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"])
+ )
if entity_dict["name"] == "Controller":
sc_component.get_property_tree()
- sc_component.set_component_property_value("Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate", entity_to_activate.id)
- sc_component.set_component_property_value("Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate", entity_to_deactivate.id)
+ sc_component.set_component_property_value(
+ "Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate",
+ entity_to_activate.id,
+ )
+ sc_component.set_component_property_value(
+ "Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate",
+ entity_to_deactivate.id,
+ )
return entity
activated = create_editor_entity(activated_dict)
@@ -111,7 +119,7 @@ def OnEntityActivatedDeactivated_PrintMessage():
Report.critical_result(test_tuple, entity.id.IsValid())
return entity
- def validate_start_state(entity:EditorEntity, expected_state:str):
+ def validate_start_state(entity: EditorEntity, expected_state: str):
"""
Validate that the starting state of the entity is correct, if it isn't then attempt to rectify and recheck.
:return: bool: Whether state is set as expected
@@ -177,8 +185,8 @@ def OnEntityActivatedDeactivated_PrintMessage():
if __name__ == "__main__":
import ImportPathHelper as imports
- imports.init()
+ imports.init()
from utils import Report
-
- Report.start_test(OnEntityActivatedDeactivated_PrintMessage)
+
+ Report.start_test(ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Toggle_ScriptCanvasTools.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasTools_Toggle_OpenCloseSuccess.py
similarity index 88%
rename from AutomatedTesting/Gem/PythonTests/scripting/Toggle_ScriptCanvasTools.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasTools_Toggle_OpenCloseSuccess.py
index 4024e28277..a105f1ef18 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Toggle_ScriptCanvasTools.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasTools_Toggle_OpenCloseSuccess.py
@@ -7,17 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C92569165, C92569167, C92569168, C92569170
-Test Case Title: Tools > Node Palette toggles the Node Palette
- Tools > Node Inspector toggles the Node Inspector
- Tools > Bookmarks toggles the Bookmarks
- Tools > Variable Manager toggles the Variable Manager
-
-URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/92569165
- https://testrail.agscollab.com/index.php?/cases/view/92569167
- https://testrail.agscollab.com/index.php?/cases/view/92569168
- https://testrail.agscollab.com/index.php?/cases/view/92569170
"""
@@ -38,7 +27,7 @@ class Tests():
# fmt: on
-def Toggle_ScriptCanvasTools():
+def ScriptCanvasTools_Toggle_OpenCloseSuccess():
"""
Summary:
Toggle Node Palette, Node Inspector, Bookmarks and Variable Manager in Script Canvas.
@@ -63,6 +52,8 @@ def Toggle_ScriptCanvasTools():
:return: None
"""
+ from PySide2 import QtWidgets
+
from utils import Report
from utils import TestHelper as helper
import pyside_utils
@@ -70,9 +61,6 @@ def Toggle_ScriptCanvasTools():
# Open 3D Engine imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtWidgets
-
def click_menu_option(window, option_text):
action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
action.trigger()
@@ -131,7 +119,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Toggle_ScriptCanvasTools)
+ Report.start_test(ScriptCanvasTools_Toggle_OpenCloseSuccess)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets_ComponentStable.py
similarity index 92%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets_ComponentStable.py
index 38d60ad871..d39c3d2590 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets_ComponentStable.py
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562986
-Test Case Title: Changing the assigned Script Canvas Asset on an entity properly updates
-level functionality
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562986
"""
@@ -25,7 +20,7 @@ class Tests():
# fmt: on
-def ScriptCanvas_ChangingAssets():
+def ScriptCanvas_ChangingAssets_ComponentStable():
"""
Summary:
Changing the assigned Script Canvas Asset on an entity properly updates level functionality
@@ -58,7 +53,6 @@ def ScriptCanvas_ChangingAssets():
import azlmbr.math as math
import azlmbr.asset as asset
import azlmbr.bus as bus
- import azlmbr.paths as paths
LEVEL_NAME = "tmp_level"
ASSET_1 = os.path.join("scriptcanvas", "ScriptCanvas_TwoComponents0.scriptcanvas")
@@ -84,7 +78,6 @@ def ScriptCanvas_ChangingAssets():
Report.result(Tests.found_lines, find_expected_line(EXP_LINE))
helper.exit_game_mode(Tests.game_mode_exited)
-
# 1) Create temp level
general.idle_enable(True)
result = general.create_level_no_prompt(LEVEL_NAME, 128, 1, 512, True)
@@ -113,4 +106,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(ScriptCanvas_ChangingAssets)
+ Report.start_test(ScriptCanvas_ChangingAssets_ComponentStable)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents_InteractSuccessfully.py
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents_InteractSuccessfully.py
index 896bee96e5..9bbda9bdbd 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents_InteractSuccessfully.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92563190
-Test Case Title: A single Entity with two Script Canvas components works properly
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563190
"""
@@ -27,7 +23,7 @@ class LogLines:
expected_lines = ["Greetings from the first script", "Greetings from the second script"]
-def ScriptCanvas_TwoComponents():
+def ScriptCanvas_TwoComponents_InteractSuccessfully():
"""
Summary:
A test entity contains two Script Canvas components with different unique script canvas files.
@@ -58,6 +54,7 @@ def ScriptCanvas_TwoComponents():
import hydra_editor_utils as hydra
from utils import Report
from utils import Tracer
+
import azlmbr.legacy.general as general
import azlmbr.math as math
import azlmbr.asset as asset
@@ -112,7 +109,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(ScriptCanvas_TwoComponents)
+ Report.start_test(ScriptCanvas_TwoComponents_InteractSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities_UseSimultaneously.py
similarity index 89%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities_UseSimultaneously.py
index 401e6c0271..d25ef64c4a 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities_UseSimultaneously.py
@@ -7,27 +7,23 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92563191
-Test Case Title: Two Entities can use the same Graph asset successfully at RunTime
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563191
"""
# fmt: off
class Tests():
- level_created = ("New level created", "New level not created")
+ level_created = ("New level created successfully", "New level failed to create")
game_mode_entered = ("Game Mode successfully entered", "Game mode failed to enter")
game_mode_exited = ("Game Mode successfully exited", "Game mode failed to exited")
found_lines = ("Expected log lines were found", "Expected log lines were not found")
# fmt: on
-def ScriptCanvas_TwoEntities():
+def ScriptCanvas_TwoEntities_UseSimultaneously():
"""
Summary:
Two Entities can use the same Graph asset successfully at RunTime. The script canvas asset
- attached to the enties will print the respective entity names.
+ attached to the entities will print the respective entity names.
Expected Behavior:
When game mode is entered, respective strings of different entities should be printed.
@@ -49,9 +45,10 @@ def ScriptCanvas_TwoEntities():
import os
+ import hydra_editor_utils as hydra
from utils import TestHelper as helper
from utils import Tracer
- import hydra_editor_utils as hydra
+
import azlmbr.legacy.general as general
import azlmbr.math as math
import azlmbr.asset as asset
@@ -104,4 +101,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(ScriptCanvas_TwoEntities)
+ Report.start_test(ScriptCanvas_TwoEntities_UseSimultaneously)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_CreateScriptEventFile.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvent_HappyPath_CreatedWithoutError.py
similarity index 96%
rename from AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_CreateScriptEventFile.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptEvent_HappyPath_CreatedWithoutError.py
index dcbbf47f0c..72144ebc0e 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_CreateScriptEventFile.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvent_HappyPath_CreatedWithoutError.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92569013
-Test Case Title: Script Event file can be created
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569013
"""
@@ -118,7 +114,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
Report.start_test(CreateScriptEventFile)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveSuccessfully.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_Default_SendReceiveSuccessfully.py
similarity index 92%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveSuccessfully.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_Default_SendReceiveSuccessfully.py
index b5e26d14ae..e0730b284c 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveSuccessfully.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_Default_SendReceiveSuccessfully.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92567320
-Test Case Title: Script Events: Can send and receive a script event successfully
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92567320
"""
@@ -24,7 +20,7 @@ class Tests():
# fmt: on
-def ScriptEvents_SendReceiveSuccessfully():
+def ScriptEvents_Default_SendReceiveSuccessfully():
"""
Summary:
An entity exists in the level that contains a Script Canvas component. In the graph is both a Send Event
@@ -104,7 +100,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(ScriptEvents_SendReceiveSuccessfully)
+ Report.start_test(ScriptEvents_Default_SendReceiveSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveAcrossMultiple.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_HappyPath_SendReceiveAcrossMultiple.py
similarity index 83%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveAcrossMultiple.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_HappyPath_SendReceiveAcrossMultiple.py
index d671229cdf..be2665899f 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveAcrossMultiple.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_HappyPath_SendReceiveAcrossMultiple.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92567321
-Test Case Title: Script Events: Can send and receive a script event across multiple entities successfully
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92567321
"""
@@ -25,10 +21,11 @@ class Tests():
# fmt: on
-def ScriptEvents_SendReceiveAcrossMultiple():
+def ScriptEvents_HappyPath_SendReceiveAcrossMultiple():
"""
Summary:
- EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component. The Script Event created for the test will be sent from EntityA to EntityB.
+ EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component.
+ The Script Event created for the test will be sent from EntityA to EntityB.
Expected Behavior:
The output of the Script Event should be printed to the console
@@ -50,7 +47,7 @@ def ScriptEvents_SendReceiveAcrossMultiple():
:return: None
"""
import os
-
+
from editor_entity_utils import EditorEntity as Entity
from utils import Report
from utils import TestHelper as helper
@@ -66,20 +63,19 @@ def ScriptEvents_SendReceiveAcrossMultiple():
"assetA": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}A.scriptcanvas"),
"assetB": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}B.scriptcanvas"),
}
- sc_for_entities = {
- "EntityA": asset_paths["assetA"],
- "EntityB": asset_paths["assetB"]
- }
+ sc_for_entities = {"EntityA": asset_paths["assetA"], "EntityB": asset_paths["assetB"]}
EXPECTED_LINES = ["Incoming Message Received"]
def get_asset(asset_path):
- return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
+ return azlmbr.asset.AssetCatalogRequestBus(
+ azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
+ )
def create_editor_entity(name, sc_asset):
entity = Entity.create_editor_entity(name)
sc_comp = entity.add_component("Script Canvas")
sc_comp.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(sc_asset))
- Report.critical_result(Tests.__dict__[name.lower()+"_created"], entity.id.isValid())
+ Report.critical_result(Tests.__dict__[name.lower() + "_created"], entity.id.isValid())
def locate_expected_lines(line_list: list):
found_lines = [printInfo.message.strip() for printInfo in section_tracer.prints]
@@ -113,8 +109,8 @@ def ScriptEvents_SendReceiveAcrossMultiple():
if __name__ == "__main__":
import ImportPathHelper as imports
- imports.init()
+ imports.init()
from utils import Report
- Report.start_test(ScriptEvents_SendReceiveAcrossMultiple)
+ Report.start_test(ScriptEvents_HappyPath_SendReceiveAcrossMultiple)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py
index aa9abd110b..ee63684ace 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py
@@ -106,7 +106,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
Report.start_test(ScriptEvents_ReturnSetType_Successfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py
similarity index 60%
rename from AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py
rename to AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py
index 152dea93cd..c42c9f1a03 100755
--- a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py
@@ -29,79 +29,73 @@ TEST_DIRECTORY = os.path.dirname(__file__)
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("project", ["AutomatedTesting"])
class TestAutomation(TestAutomationBase):
- @pytest.mark.test_case_id("C1702834", "C1702823")
- def test_Opening_Closing_Pane(self, request, workspace, editor, launcher_platform):
- from . import Opening_Closing_Pane as test_module
+ def test_Pane_HappyPath_OpenCloseSuccessfully(self, request, workspace, editor, launcher_platform):
+ from . import Pane_HappyPath_OpenCloseSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702824")
- def test_Docking_Pane(self, request, workspace, editor, launcher_platform):
- from . import Docking_Pane as test_module
+ def test_Pane_HappyPath_DocksProperly(self, request, workspace, editor, launcher_platform):
+ from . import Pane_HappyPath_DocksProperly as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702829")
- def test_Resizing_Pane(self, request, workspace, editor, launcher_platform):
- from . import Resizing_Pane as test_module
+ def test_Pane_HappyPath_ResizesProperly(self, request, workspace, editor, launcher_platform):
+ from . import Pane_HappyPath_ResizesProperly as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92563190")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptCanvas_TwoComponents(self, request, workspace, editor, launcher_platform, level):
+ def test_ScriptCanvas_TwoComponents_InteractSuccessfully(self, request, workspace, editor, launcher_platform, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptCanvas_TwoComponents as test_module
+ from . import ScriptCanvas_TwoComponents_InteractSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92562986")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptCanvas_ChangingAssets(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptCanvas_ChangingAssets_ComponentStable(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptCanvas_ChangingAssets as test_module
+ from . import ScriptCanvas_ChangingAssets_ComponentStable as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569079", "T92569081")
- def test_Graph_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
- from . import Graph_ZoomInZoomOut as test_module
+ def test_Graph_HappyPath_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
+ from . import Graph_HappyPath_ZoomInZoomOut as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92568940")
- def test_NodePalette_SelectNode(self, request, workspace, editor, launcher_platform):
- from . import NodePalette_SelectNode as test_module
+ def test_NodePalette_HappyPath_CanSelectNode(self, request, workspace, editor, launcher_platform):
+ from . import NodePalette_HappyPath_CanSelectNode as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569253")
- @pytest.mark.test_case_id("T92569254")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import OnEntityActivatedDeactivated_PrintMessage as test_module
+ from . import ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage as test_module
self._run_test(request, workspace, editor, test_module)
-
+
+<<<<<<< HEAD
+ def test_NodePalette_HappyPath_ClearSelection(self, request, workspace, editor, launcher_platform, project):
+ from . import NodePalette_HappyPath_ClearSelection as test_module
+=======
@pytest.mark.test_case_id("T92562993")
def test_NodePalette_ClearSelection(self, request, workspace, editor, launcher_platform, project):
from . import NodePalette_ClearSelection as test_module
+>>>>>>> main
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92563191")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptCanvas_TwoEntities(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptCanvas_TwoEntities_UseSimultaneously(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptCanvas_TwoEntities as test_module
+ from . import ScriptCanvas_TwoEntities_UseSimultaneously as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569013")
- def test_AssetEditor_CreateScriptEventFile(self, request, workspace, editor, launcher_platform, project):
+ def test_ScriptEvent_HappyPath_CreatedWithoutError(self, request, workspace, editor, launcher_platform, project):
def teardown():
file_system.delete(
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
@@ -110,77 +104,72 @@ class TestAutomation(TestAutomationBase):
file_system.delete(
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
)
- from . import AssetEditor_CreateScriptEventFile as test_module
+ from . import ScriptEvent_HappyPath_CreatedWithoutError as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569165", "T92569167", "T92569168", "T92569170")
- def test_Toggle_ScriptCanvasTools(self, request, workspace, editor, launcher_platform):
- from . import Toggle_ScriptCanvasTools as test_module
+ def test_ScriptCanvasTools_Toggle_OpenCloseSuccess(self, request, workspace, editor, launcher_platform):
+ from . import ScriptCanvasTools_Toggle_OpenCloseSuccess as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92568982")
- def test_NodeInspector_RenameVariable(self, request, workspace, editor, launcher_platform, project):
- from . import NodeInspector_RenameVariable as test_module
+ def test_NodeInspector_HappyPath_VariableRenames(self, request, workspace, editor, launcher_platform, project):
+ from . import NodeInspector_HappyPath_VariableRenames as test_module
self._run_test(request, workspace, editor, test_module)
-
+
+ def test_Debugger_HappyPath_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
+ from . import Debugger_HappyPath_TargetMultipleGraphs as test_module
+ self._run_test(request, workspace, editor, test_module)
+
@pytest.mark.test_case_id("T92569137")
def test_Debugging_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
from . import Debugging_TargetMultipleGraphs as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92568856")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_Debugging_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
+ def test_Debugger_HappyPath_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import Debugging_TargetMultipleEntities as test_module
+ from . import Debugger_HappyPath_TargetMultipleEntities as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569049", "T92569051")
- def test_EditMenu_UndoRedo(self, request, workspace, editor, launcher_platform, project):
- from . import EditMenu_UndoRedo as test_module
+ def test_EditMenu_Default_UndoRedo(self, request, workspace, editor, launcher_platform, project):
+ from . import EditMenu_Default_UndoRedo as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702825", "C1702831")
- def test_UnDockedPane_CloseSCWindow(self, request, workspace, editor, launcher_platform):
- from . import UnDockedPane_CloseSCWindow as test_module
+ def test_Pane_Undocked_ClosesSuccessfully(self, request, workspace, editor, launcher_platform):
+ from . import Pane_Undocked_ClosesSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92562978")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_Entity_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
+ def test_Entity_HappyPath_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import Entity_AddScriptCanvasComponent as test_module
+ from . import Entity_HappyPath_AddScriptCanvasComponent as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702821", "C1702832")
- def test_Pane_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
- from . import Pane_RetainOnSCRestart as test_module
+ def test_Pane_Default_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
+ from . import Pane_Default_RetainOnSCRestart as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92567321")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptEvents_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptEvents_HappyPath_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptEvents_SendReceiveAcrossMultiple as test_module
+ from . import ScriptEvents_HappyPath_SendReceiveAcrossMultiple as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92567320")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptEvents_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptEvents_Default_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptEvents_SendReceiveSuccessfully as test_module
+ from . import ScriptEvents_Default_SendReceiveSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
@pytest.mark.parametrize("level", ["tmp_level"])
@@ -192,6 +181,21 @@ class TestAutomation(TestAutomationBase):
from . import ScriptEvents_ReturnSetType_Successfully as test_module
self._run_test(request, workspace, editor, test_module)
+ def test_NodeCategory_ExpandOnClick(self, request, workspace, editor, launcher_platform):
+ from . import NodeCategory_ExpandOnClick as test_module
+ self._run_test(request, workspace, editor, test_module)
+
+ def test_NodePalette_SearchText_Deletion(self, request, workspace, editor, launcher_platform):
+ from . import NodePalette_SearchText_Deletion as test_module
+ self._run_test(request, workspace, editor, test_module)
+
+ def test_VariableManager_UnpinVariableType_Works(self, request, workspace, editor, launcher_platform):
+ from . import VariableManager_UnpinVariableType_Works as test_module
+ self._run_test(request, workspace, editor, test_module)
+
+ def test_Node_HappyPath_DuplicateNode(self, request, workspace, editor, launcher_platform):
+ from . import Node_HappyPath_DuplicateNode as test_module
+ self._run_test(request, workspace, editor, test_module)
# NOTE: We had to use hydra_test_utils.py, as TestAutomationBase run_test method
# fails because of pyside_utils import
@@ -203,18 +207,16 @@ class TestScriptCanvasTests(object):
The following tests use hydra_test_utils.py to launch the editor and validate the results.
"""
- @pytest.mark.test_case_id("T92569037", "T92569039")
- def test_FileMenu_New_Open(self, request, editor, launcher_platform):
+ def test_FileMenu_Default_NewAndOpen(self, request, editor, launcher_platform):
expected_lines = [
"File->New action working as expected: True",
"File->Open action working as expected: True",
]
hydra.launch_and_validate_results(
- request, TEST_DIRECTORY, editor, "FileMenu_New_Open.py", expected_lines, auto_test_mode=False, timeout=60,
+ request, TEST_DIRECTORY, editor, "FileMenu_Default_NewAndOpen.py", expected_lines, auto_test_mode=False, timeout=60,
)
- @pytest.mark.test_case_id("T92568942")
- def test_AssetEditor_NewScriptEvent(self, request, editor, launcher_platform):
+ def test_NewScriptEventButton_HappyPath_ContainsSCCategory(self, request, editor, launcher_platform):
expected_lines = [
"New Script event action found: True",
"Asset Editor opened: True",
@@ -225,14 +227,13 @@ class TestScriptCanvasTests(object):
request,
TEST_DIRECTORY,
editor,
- "AssetEditor_NewScriptEvent.py",
+ "NewScriptEventButton_HappyPath_ContainsSCCategory.py",
expected_lines,
auto_test_mode=False,
timeout=60,
)
- @pytest.mark.test_case_id("T92563068", "T92563070")
- def test_GraphClose_SavePrompt(self, request, editor, launcher_platform):
+ def test_GraphClose_Default_SavePrompt(self, request, editor, launcher_platform):
expected_lines = [
"New graph created: True",
"Save prompt opened as expected: True",
@@ -242,14 +243,13 @@ class TestScriptCanvasTests(object):
request,
TEST_DIRECTORY,
editor,
- "GraphClose_SavePrompt.py",
+ "GraphClose_Default_SavePrompt.py",
expected_lines,
auto_test_mode=False,
timeout=60,
)
- @pytest.mark.test_case_id("T92564789", "T92568873")
- def test_VariableManager_CreateDeleteVars(self, request, editor, launcher_platform):
+ def test_VariableManager_Default_CreateDeleteVars(self, request, editor, launcher_platform):
var_types = ["Boolean", "Color", "EntityID", "Number", "String", "Transform", "Vector2", "Vector3", "Vector4"]
expected_lines = [f"Success: {var_type} variable is created" for var_type in var_types]
expected_lines.extend([f"Success: {var_type} variable is deleted" for var_type in var_types])
@@ -257,8 +257,8 @@ class TestScriptCanvasTests(object):
request,
TEST_DIRECTORY,
editor,
- "VariableManager_CreateDeleteVars.py",
+ "VariableManager_Default_CreateDeleteVars.py",
expected_lines,
auto_test_mode=False,
timeout=60,
- )
\ No newline at end of file
+ )
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_CreateDeleteVars.py b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_Default_CreateDeleteVars.py
similarity index 90%
rename from AutomatedTesting/Gem/PythonTests/scripting/VariableManager_CreateDeleteVars.py
rename to AutomatedTesting/Gem/PythonTests/scripting/VariableManager_Default_CreateDeleteVars.py
index 6facc324d4..e53939172e 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_CreateDeleteVars.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_Default_CreateDeleteVars.py
@@ -7,20 +7,13 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92564789
-Test Case Title: Each Variable type can be created
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92564789
-Test case ID: T92568873
-Test Case Title: Each Variable type can be deleted
-URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568873
"""
-def VariableManager_CreateDeleteVars():
+def VariableManager_Default_CreateDeleteVars():
"""
Summary:
- Each variable type can be created and deleted in variable manager.
+ Creating and deleting each type of variable in the Variable Manager pane
Expected Behavior:
Each variable type can be created and deleted in variable manager.
@@ -43,15 +36,13 @@ def VariableManager_CreateDeleteVars():
"""
from PySide2 import QtWidgets, QtCore, QtTest
-
from PySide2.QtCore import Qt
from utils import TestHelper as helper
+ import pyside_utils
import azlmbr.legacy.general as general
- import pyside_utils
-
def generate_test_tuple(var_type, action):
return (f"{var_type} variable is {action}d", f"{var_type} variable is not {action}d")
@@ -120,4 +111,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(VariableManager_CreateDeleteVars)
+ Report.start_test(VariableManager_Default_CreateDeleteVars)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py
new file mode 100644
index 0000000000..a7c72ce134
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py
@@ -0,0 +1,120 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+
+# fmt: off
+class Tests():
+ variable_manager_opened = ("VariableManager is opened successfully", "Failed to open VariableManager")
+ variable_pinned = ("Variable is pinned", "Variable is not pinned, But it should be unpinned")
+ variable_unpinned = ("Variable is unpinned", "Variable is not unpinned, But it should be pinned")
+ variable_unpinned_after_reopen = ("Variable is unpinned after reopening create variable menu", "Variable is not unpinned after reopening create variable menu")
+# fmt: on
+
+
+def VariableManager_UnpinVariableType_Works():
+ """
+ Summary:
+ Unpin variable types in create variable menu.
+ Expected Behavior:
+ The variable unpinned in create variable menu remains unpinned after reopening create variable menu.
+ Test Steps:
+ 1) Open Script Canvas window (Tools > Script Canvas)
+ 2) Get the SC window object
+ 3) Open Variable Manager in Script Canvas window
+ 4) Create new graph
+ 5) Click on the Create Variable button in the Variable Manager
+ 6) Unpin Boolean by clicking the "Pin" icon on its left side
+ 7) Close and Reopen Create Variable menu and make sure Boolean is unpinned after reopening Create Variable menu
+ 8) Restore default layout and close SC window
+ Note:
+ - This test file must be called from the Open 3D Engine Editor command terminal
+ - Any passed and failed tests are written to the Editor.log file.
+ Parsing the file or running a log_monitor are required to observe the test results.
+ :return: None
+ """
+
+ from PySide2 import QtWidgets
+ import azlmbr.legacy.general as general
+
+ import pyside_utils
+ from utils import TestHelper as helper
+ from utils import Report
+ from PySide2.QtCore import Qt
+
+ GENERAL_WAIT = 1.0 # seconds
+
+ def find_pane(window, pane_name):
+ return window.findChild(QtWidgets.QDockWidget, pane_name)
+
+ def click_menu_option(window, option_text):
+ action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
+ action.trigger()
+
+ # 1) Open Script Canvas window (Tools > Script Canvas)
+ general.idle_enable(True)
+ general.open_pane("Script Canvas")
+ helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 6.0)
+
+ # 2) Get the SC window object
+ editor_window = pyside_utils.get_editor_main_window()
+ sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
+ sc_main = sc.findChild(QtWidgets.QMainWindow)
+
+ # 3) Open Variable Manager in Script Canvas window
+ pane = find_pane(sc, "VariableManager")
+ if not pane.isVisible():
+ click_menu_option(sc, "Variable Manager")
+ pane = find_pane(sc, "VariableManager")
+ Report.result(Tests.variable_manager_opened, pane.isVisible())
+
+ # 4) Create new graph
+ create_new_graph = pyside_utils.find_child_by_pattern(
+ sc_main, {"objectName": "action_New_Script", "type": QtWidgets.QAction}
+ )
+ create_new_graph.trigger()
+
+ # 5) Click on the Create Variable button in the Variable Manager
+ variable_manager = sc_main.findChild(QtWidgets.QDockWidget, "VariableManager")
+ button = variable_manager.findChild(QtWidgets.QPushButton, "addButton")
+ button.click()
+
+ # 6) Unpin Boolean by clicking the "Pin" icon on its left side
+ table_view = variable_manager.findChild(QtWidgets.QTableView, "variablePalette")
+ model_index = pyside_utils.find_child_by_pattern(table_view, "Boolean")
+ # Make sure Boolean is pinned
+ is_boolean = model_index.siblingAtColumn(0)
+ result = helper.wait_for_condition(lambda: is_boolean.data(Qt.DecorationRole) is not None, GENERAL_WAIT)
+ Report.result(Tests.variable_pinned, result)
+ # Unpin Boolean and make sure Boolean is unpinned.
+ pyside_utils.item_view_index_mouse_click(table_view, is_boolean)
+ result = helper.wait_for_condition(lambda: is_boolean.data(Qt.DecorationRole) is None, GENERAL_WAIT)
+ Report.result(Tests.variable_unpinned, result)
+
+ # 7) Close and Reopen Create Variable menu and make sure Boolean is unpinned after reopening Create Variable menu
+ button.click()
+ button.click()
+ model_index = pyside_utils.find_child_by_pattern(table_view, "Boolean")
+ result = helper.wait_for_condition(
+ lambda: model_index.siblingAtColumn(0).data(Qt.DecorationRole) is None, GENERAL_WAIT
+ )
+ Report.result(Tests.variable_unpinned_after_reopen, result)
+
+ # 8) Restore default layout and close SC window
+ click_menu_option(sc, "Restore Default Layout")
+ general.close_pane("Script Canvas")
+
+
+if __name__ == "__main__":
+ import ImportPathHelper as imports
+
+ imports.init()
+ from utils import Report
+
+ Report.start_test(VariableManager_UnpinVariableType_Works)
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt
new file mode 100644
index 0000000000..d351ec0e6c
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::SmokeTest
+ TEST_SUITE smoke
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ AZ::AssetProcessor
+ AZ::PythonBindingsExample
+ Legacy::Editor
+ AutomatedTesting.GameLauncher
+ AutomatedTesting.Assets
+ COMPONENT
+ Smoke
+ )
+endif()
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/Editor_NewExistingLevels_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/Editor_NewExistingLevels_Works.py
new file mode 100644
index 0000000000..db0284f14c
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/Editor_NewExistingLevels_Works.py
@@ -0,0 +1,147 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+Test Case Title: Create Test for UI apps- Editor
+"""
+
+
+class Tests():
+ level_created = ("Level created", "Failed to create level")
+ entity_found = ("New Entity created in level", "Failed to create New Entity in level")
+ mesh_added = ("Mesh Component added", "Failed to add Mesh Component")
+ enter_game_mode = ("Game Mode successfully entered", "Failed to enter in Game Mode")
+ exit_game_mode = ("Game Mode successfully exited", "Failed to exit in Game Mode")
+ level_opened = ("Level opened successfully", "Failed to open level")
+ level_exported = ("Level exported successfully", "Failed to export level")
+ mesh_removed = ("Mesh Component removed", "Failed to remove Mesh Component")
+ entity_deleted = ("Entity deleted", "Failed to delete Entity")
+ level_edits_present = ("Level edits persist after saving", "Failed to save level edits after saving")
+
+
+def Editor_NewExistingLevels_Works():
+ """
+ Summary: Perform the below operations on Editor
+
+ 1) Launch & Close editor
+ 2) Create new level
+ 3) Saving and loading levels
+ 4) Level edits persist after saving
+ 5) Export Level
+ 6) Can switch to play mode (ctrl+g) and exit that
+ 7) Run editor python bindings test
+ 8) Create an Entity
+ 9) Delete an Entity
+ 10) Add a component to an Entity
+
+ Expected Behavior:
+ All operations succeed and do not cause a crash
+
+ Test Steps:
+ 1) Launch editor and Create a new level
+ 2) Create a new entity
+ 3) Add Mesh component
+ 4) Verify enter/exit game mode
+ 5) Save, Load and Export level
+ 6) Remove Mesh component
+ 7) Delete entity
+ 8) Open an existing level
+ 9) Create a new entity in an existing level
+ 10) Save, Load and Export an existing level and close editor
+
+ Note:
+ - This test file must be called from the Lumberyard Editor command terminal
+ - Any passed and failed tests are written to the Editor.log file.
+ Parsing the file or running a log_monitor are required to observe the test results.
+
+ :return: None
+ """
+
+ import os
+ import editor_python_test_tools.hydra_editor_utils as hydra
+ from editor_python_test_tools.utils import TestHelper as helper
+ from editor_python_test_tools.utils import Report
+ import azlmbr.bus as bus
+ import azlmbr.editor as editor
+ import azlmbr.legacy.general as general
+ import azlmbr.math as math
+
+ # 1) Launch editor and Create a new level
+ helper.init_idle()
+ test_level_name = "temp_level"
+ general.create_level_no_prompt(test_level_name, 128, 1, 128, False)
+ helper.wait_for_condition(lambda: general.get_current_level_name() == test_level_name, 2.0)
+ Report.result(Tests.level_created, general.get_current_level_name() == test_level_name)
+
+ # 2) Create a new entity
+ entity_position = math.Vector3(200.0, 200.0, 38.0)
+ new_entity = hydra.Entity("Entity1")
+ new_entity.create_entity(entity_position, [])
+ test_entity = hydra.find_entity_by_name("Entity1")
+ Report.result(Tests.entity_found, test_entity.IsValid())
+
+ # 3) Add Mesh component
+ new_entity.add_component("Mesh")
+ Report.result(Tests.mesh_added, hydra.has_components(new_entity.id, ["Mesh"]))
+
+ # 4) Verify enter/exit game mode
+ helper.enter_game_mode(Tests.enter_game_mode)
+ helper.exit_game_mode(Tests.exit_game_mode)
+
+ # 5) Save, Load and Export level
+ # Save Level
+ general.save_level()
+ # Open Level
+ general.open_level(test_level_name)
+ Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
+ # Export Level
+ general.export_to_engine()
+ level_pak_file = os.path.join("AutomatedTesting", "Levels", test_level_name, "level.pak")
+ Report.result(Tests.level_exported, os.path.exists(level_pak_file))
+
+ # 6) Remove Mesh component
+ new_entity.remove_component("Mesh")
+ Report.result(Tests.mesh_removed, not hydra.has_components(new_entity.id, ["Mesh"]))
+
+ # 7) Delete entity
+ editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntityById", new_entity.id)
+ test_entity = hydra.find_entity_by_name("Entity1")
+ Report.result(Tests.entity_deleted, len(test_entity) == 0)
+
+ # 8) Open an existing level
+ general.open_level(test_level_name)
+ Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
+
+ # 9) Create a new entity in an existing level
+ entity_position = math.Vector3(200.0, 200.0, 38.0)
+ new_entity_2 = hydra.Entity("Entity2")
+ new_entity_2.create_entity(entity_position, [])
+ test_entity = hydra.find_entity_by_name("Entity2")
+ Report.result(Tests.entity_found, test_entity.IsValid())
+
+ # 10) Save, Load and Export an existing level
+ # Save Level
+ general.save_level()
+ # Open Level
+ general.open_level(test_level_name)
+ Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
+ entity_id = hydra.find_entity_by_name(new_entity_2.name)
+ Report.result(Tests.level_edits_present, entity_id == new_entity_2.id)
+ # Export Level
+ general.export_to_engine()
+ level_pak_file = os.path.join("AutomatedTesting", "Levels", test_level_name, "level.pak")
+ Report.result(Tests.level_exported, os.path.exists(level_pak_file))
+
+
+if __name__ == "__main__":
+
+ from editor_python_test_tools.utils import Report
+
+ Report.start_test(Editor_NewExistingLevels_Works)
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/__init__.py b/AutomatedTesting/Gem/PythonTests/smoke/__init__.py
new file mode 100644
index 0000000000..79f8fa4422
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/__init__.py
@@ -0,0 +1,10 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetBuilder_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetBuilder_Works.py
new file mode 100644
index 0000000000..10df59e086
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetBuilder_Works.py
@@ -0,0 +1,33 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+CLI tool - AssetBuilder
+Launch AssetBuilder and Verify the help message
+"""
+
+import os
+import pytest
+import subprocess
+
+
+@pytest.mark.SUITE_smoke
+class TestCLIToolAssetBuilderWorks(object):
+ @pytest.mark.xfail(reason="Ignoring failure temporarily - SPEC-6905")
+ def test_CLITool_AssetBuilder_Works(self, build_directory):
+ file_path = os.path.join(build_directory, "AssetBuilder")
+ help_message = "AssetBuilder is part of the Asset Processor"
+ # Launch AssetBuilder
+ output = subprocess.run([file_path, "-help"], capture_output=True, timeout=10)
+ assert (
+ len(output.stderr) == 0 and output.returncode == 0
+ ), f"Error occurred while launching {file_path}: {output.stderr}"
+ # Verify help message
+ assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetBundlerBatch_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetBundlerBatch_Works.py
new file mode 100644
index 0000000000..fd69bb973f
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetBundlerBatch_Works.py
@@ -0,0 +1,32 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+CLI tool - AssetBundlerBatch
+Launch AssetBundlerBatch and Verify the help message
+"""
+
+import os
+import pytest
+import subprocess
+
+
+@pytest.mark.SUITE_smoke
+class TestCLIToolAssetBundlerBatchWorks(object):
+ def test_CLITool_AssetBundlerBatch_Works(self, build_directory):
+ file_path = os.path.join(build_directory, "AssetBundlerBatch")
+ help_message = "Specifies the Seed List file to operate on by path"
+ # Launch AssetBundlerBatch
+ output = subprocess.run([file_path, "--help"], capture_output=True, timeout=10)
+ assert (
+ len(output.stderr) == 0 and output.returncode == 0
+ ), f"Error occurred while launching {file_path}: {output.stderr}"
+ # Verify help message
+ assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetProcessorBatch_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetProcessorBatch_Works.py
new file mode 100644
index 0000000000..c828800639
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AssetProcessorBatch_Works.py
@@ -0,0 +1,26 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+CLI tool - AssetProcessorBatch
+Launch AssetProcessorBatch and Shutdown AssetProcessorBatch without any crash
+"""
+
+import pytest
+
+
+@pytest.mark.parametrize("project", ["AutomatedTesting"])
+@pytest.mark.SUITE_smoke
+class TestsCLIToolAssetProcessorBatchWorks(object):
+ def test_CLITool_AssetProcessorBatch_Works(self, workspace):
+ """
+ Test Launching AssetProcessorBatch and verifies that is shuts down without issue
+ """
+ workspace.asset_processor.batch_process()
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AzTestRunner_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AzTestRunner_Works.py
new file mode 100644
index 0000000000..fd15c7701d
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_AzTestRunner_Works.py
@@ -0,0 +1,34 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+CLI tool - AzTestRunner
+Launch AzTestRunner and Verify the help message
+"""
+
+import os
+import pytest
+import subprocess
+
+
+@pytest.mark.SUITE_smoke
+class TestCLIToolAzTestRunnerWorks(object):
+ def test_CLITool_AzTestRunner_Works(self, build_directory):
+ file_path = os.path.join(build_directory, "AzTestRunner")
+ help_message = "OKAY Symbol found: AzRunUnitTests"
+ # Launch AzTestRunner
+ output = subprocess.run(
+ [file_path, "AzTestRunner.Tests", "AzRunUnitTests", "--gtest_list_tests"], capture_output=True, timeout=10
+ )
+ assert (
+ len(output.stderr) == 0 and output.returncode == 0
+ ), f"Error occurred while launching {file_path}: {output.stderr}"
+ # Verify help message
+ assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_PythonBindingsExample_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_PythonBindingsExample_Works.py
new file mode 100644
index 0000000000..bef683537e
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_PythonBindingsExample_Works.py
@@ -0,0 +1,32 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+CLI tool - PythonBindingsExample
+Launch PythonBindingsExample and Verify the help message
+"""
+
+import os
+import pytest
+import subprocess
+
+
+@pytest.mark.SUITE_smoke
+class TestCLIToolPythonBindingsExampleWorks(object):
+ def test_CLITool_PythonBindingsExample_Works(self, build_directory):
+ file_path = os.path.join(build_directory, "PythonBindingsExample")
+ help_message = "--help Prints the help text"
+ # Launch PythonBindingsExample
+ output = subprocess.run([file_path, "-help"], capture_output=True, timeout=10)
+ assert (
+ len(output.stderr) == 0 and output.returncode == 1
+ ), f"Error occurred while launching {file_path}: {output.stderr}"
+ # Verify help message
+ assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_SerializeContextTools_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_SerializeContextTools_Works.py
new file mode 100644
index 0000000000..e63a00acf1
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_CLITool_SerializeContextTools_Works.py
@@ -0,0 +1,32 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+CLI tool - SerializeContextTools
+Launch SerializeContextTools and Verify the help message
+"""
+
+import os
+import pytest
+import subprocess
+
+
+@pytest.mark.SUITE_smoke
+class TestCLIToolSerializeContextToolsWorks(object):
+ def test_CLITool_SerializeContextTools_Works(self, build_directory):
+ file_path = os.path.join(build_directory, "SerializeContextTools")
+ help_message = "Converts a file with an ObjectStream to the new JSON"
+ # Launch SerializeContextTools
+ output = subprocess.run([file_path, "-help"], capture_output=True, timeout=10)
+ assert (
+ len(output.stderr) == 0 and output.returncode == 0
+ ), f"Error occurred while launching {file_path}: {output.stderr}"
+ # Verify help message
+ assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py
new file mode 100644
index 0000000000..985740307f
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py
@@ -0,0 +1,32 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+import pytest
+import os
+from automatedtesting_shared.base import TestAutomationBase
+import ly_test_tools.environment.file_system as file_system
+
+
+@pytest.mark.SUITE_smoke
+@pytest.mark.parametrize("launcher_platform", ["windows_editor"])
+@pytest.mark.parametrize("project", ["AutomatedTesting"])
+@pytest.mark.parametrize("level", ["temp_level"])
+class TestAutomation(TestAutomationBase):
+ def test_Editor_NewExistingLevels_Works(self, request, workspace, editor, level, project, launcher_platform):
+ def teardown():
+ file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
+
+ request.addfinalizer(teardown)
+ file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
+
+ from . import Editor_NewExistingLevels_Works as test_module
+
+ self._run_test(request, workspace, editor, test_module)
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_StaticTools_GenPakShaders_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_StaticTools_GenPakShaders_Works.py
new file mode 100644
index 0000000000..42cb3afb00
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_StaticTools_GenPakShaders_Works.py
@@ -0,0 +1,44 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+Static tool scripts
+Launch Static tool and Verify the help message
+"""
+
+import os
+import pytest
+import subprocess
+import sys
+
+
+def verify_help_message(static_tool):
+ help_message = ["--help", "show this help message and exit"]
+ output = subprocess.run([sys.executable, static_tool, "-h"], capture_output=True)
+ assert (
+ len(output.stderr) == 0 and output.returncode == 0
+ ), f"Error occurred while launching {static_tool}: {output.stderr}"
+ # verify help message
+ for message in help_message:
+ assert message in str(output.stdout), f"Help Message: {message} is not present"
+
+
+@pytest.mark.parametrize("project", ["AutomatedTesting"])
+@pytest.mark.SUITE_smoke
+class TestStaticToolsGenPakShadersWorks(object):
+ def test_StaticTools_GenPakShaders_Works(self, editor):
+ static_tools = [
+ os.path.join(editor.workspace.paths.engine_root(), "scripts", "bundler", "gen_shaders.py"),
+ os.path.join(editor.workspace.paths.engine_root(), "scripts", "bundler", "get_shader_list.py"),
+ os.path.join(editor.workspace.paths.engine_root(), "scripts", "bundler", "pak_shaders.py"),
+ ]
+
+ for tool in static_tools:
+ verify_help_message(tool)
diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_UIApps_AssetProcessor_CheckIdle.py b/AutomatedTesting/Gem/PythonTests/smoke/test_UIApps_AssetProcessor_CheckIdle.py
new file mode 100644
index 0000000000..4b039adea8
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/smoke/test_UIApps_AssetProcessor_CheckIdle.py
@@ -0,0 +1,39 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+
+UI Apps: AssetProcessor
+Open AssetProcessor, Wait until AssetProcessor is Idle
+Close AssetProcessor.
+"""
+
+
+import pytest
+from ly_test_tools.o3de.asset_processor import AssetProcessor
+
+
+@pytest.mark.parametrize("project", ["AutomatedTesting"])
+@pytest.mark.SUITE_smoke
+class TestsUIAppsAssetProcessorCheckIdle(object):
+ @pytest.fixture(autouse=True)
+ def setup_teardown(self, request):
+ self.asset_processor = None
+
+ def teardown():
+ self.asset_processor.stop()
+
+ request.addfinalizer(teardown)
+
+ def test_UIApps_AssetProcessor_CheckIdle(self, workspace):
+ """
+ Test Launching AssetProcessorBatch and verifies that is shuts down without issue
+ """
+ self.asset_processor = AssetProcessor(workspace)
+ self.asset_processor.gui_process()
diff --git a/AutomatedTesting/Gem/PythonTests/streaming/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/streaming/CMakeLists.txt
new file mode 100644
index 0000000000..10b9fabcc0
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/streaming/CMakeLists.txt
@@ -0,0 +1,24 @@
+#
+# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+# its licensors.
+#
+# For complete copyright and license terms please see the LICENSE at the root of this
+# distribution (the "License"). All use of this software is governed by the License,
+# or, if provided, by the license below or the license accompanying this file. Do not
+# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#
+
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ # Unstable, SPEC-3838 will restore
+ #ly_add_pytest(
+ # NAME AutomatedTesting::asset_load_benchmark_test
+ # TEST_SERIAL
+ # TEST_SUITE benchmark
+ # PATH ${CMAKE_CURRENT_LIST_DIR}/benchmark/asset_load_benchmark_test.py
+ # RUNTIME_DEPENDENCIES
+ # AZ::AssetProcessor
+ # AZ::AssetProcessorBatch
+ # AutomatedTesting.GameLauncher
+ #)
+endif()
diff --git a/AutomatedTesting/Levels/AI/NavigationComponentTest/leveldata/Heightmap.dat b/AutomatedTesting/Levels/AI/NavigationComponentTest/leveldata/Heightmap.dat
deleted file mode 100644
index 8c1a4881a8..0000000000
--- a/AutomatedTesting/Levels/AI/NavigationComponentTest/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e1218e785966cba2973af5fcc2adeea81399ef4b9ceee9713e430d14090317bd
-size 272849
diff --git a/AutomatedTesting/Levels/AI/NavigationComponentTest/terrain/cover.ctc b/AutomatedTesting/Levels/AI/NavigationComponentTest/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/AI/NavigationComponentTest/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/leveldata/Heightmap.dat
deleted file mode 100644
index c57f97afb8..0000000000
--- a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:259892d63259cdc7b0cbee64c979d917820ea2bb402397ef63a3383ea5146b0a
-size 132288
diff --git a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/terrain/cover.ctc b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/LevelData/Heightmap.dat b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/LevelData/Heightmap.dat
deleted file mode 100644
index c57f97afb8..0000000000
--- a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:259892d63259cdc7b0cbee64c979d917820ea2bb402397ef63a3383ea5146b0a
-size 132288
diff --git a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/terrain/cover.ctc b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/Heightmap.dat b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/Heightmap.dat
deleted file mode 100644
index e3cfc6487c..0000000000
--- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6f5b950e0dcd47ada8f34dc9f64976ebe156aeedb92d7e6d3467efbeddb3baa2
-size 17407674
diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/terrain/cover.ctc b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/Heightmap.dat b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/Heightmap.dat
deleted file mode 100644
index 80f0296fd4..0000000000
--- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ae30a71535b7283f4b19a0dee09ad98afc2d23e127d3da53c4da76650c0d9698
-size 17407642
diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/terrain/cover.ctc b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/Base/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/Base/leveldata/Heightmap.dat
deleted file mode 100644
index 2619d881d2..0000000000
--- a/AutomatedTesting/Levels/Physics/Base/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5080ffd65c2c76fbd5db96f75496dae7d4992dfc2f6a5e9514345e1d74422143
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/Base/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/Base/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/Base/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/Heightmap.dat
deleted file mode 100644
index 43bea299f4..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e9018429c312bced4975ab9e4d5cd6420a2fc8605b7d0929334dfd7dff50a79b
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/Heightmap.dat
deleted file mode 100644
index 8772b96c9f..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2a53b3ffe745f824431028cc36d1990f55e9303bff99542f8ee3b85cd4417636
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/Heightmap.dat
deleted file mode 100644
index 8dba2c114b..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:35fa1fc96e3092de7200533183d875fe19585ca292e01af24dcc82497c8d400a
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/Heightmap.dat
deleted file mode 100644
index b3f394b89e..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:93c2de86abea5c70845480f09dd86e9aebf2084c8e26444eee846ad9a3b18fe0
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/Heightmap.dat
deleted file mode 100644
index 5f407d9252..0000000000
--- a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:65464a758912e1dc2cdd39606fe86d05315336635a42a659734b3755f6e4ad4c
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/Heightmap.dat
deleted file mode 100644
index ea30699f94..0000000000
--- a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5517e2cd05060859a9e010f9df1f410a7fc9739a8ec6adbc0e214b894a7eef21
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/Heightmap.dat
deleted file mode 100644
index bdce2c873d..0000000000
--- a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:55f771fb360a8b7a6d12e9b0e5f8824f9567d1869cb2757b7a3263539d03db1f
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/Heightmap.dat
deleted file mode 100644
index f1d48b1ccd..0000000000
--- a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b7718b09645345926ac1f59513114f64c6e146a49fac69f2835ce20c831953d7
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/Heightmap.dat
deleted file mode 100644
index 0c1cfb6e1c..0000000000
--- a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3b10f68c7f64dd775e6abc3250c019c1efdf498822b77bd98efb8f8c19513c0e
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/Heightmap.dat
deleted file mode 100644
index 1f85094c91..0000000000
--- a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:646140ed507ea073e2472196661b204694d686142536e1912b173376324b302a
-size 274291
diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/Heightmap.dat
deleted file mode 100644
index a84b83c152..0000000000
--- a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:965f0dd885e93c25183390a87675b5aef1d24d374ededc5e073a98e15318858e
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/Heightmap.dat
deleted file mode 100644
index 54c23454f9..0000000000
--- a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e9487342e768620c77288e3b8019ade03cd12eb1c19067b5d6408a185a62203e
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/Heightmap.dat
deleted file mode 100644
index e461c4f629..0000000000
--- a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:54b2dc4c443ea1e9b9aaed9d2aef1227ddeeac7db728b699cacd08811c81db8f
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/Heightmap.dat
deleted file mode 100644
index d290b022fe..0000000000
--- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ae84e1cb4cc4d54cb4cccb361663f8a4bb214e95ad0023cdd068657ef4705e43
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/Heightmap.dat
deleted file mode 100644
index c8eabe5621..0000000000
--- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a5c76ddb855bd123944e9582f289298091e6dc9089d877e1175079df72a251d9
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/Heightmap.dat
deleted file mode 100644
index 1ab498d3da..0000000000
--- a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2913bdf321ee6cbe2bf148444554ce0135b41ac5ddac42d62a32d8af4cf7ae1c
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/terrain/cover.ctc
deleted file mode 100644
index 5df79a372b..0000000000
--- a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:eee27982bfd7ad92814e2287d5fae32f943a470120550e2ac93d2299a4969876
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/Heightmap.dat
deleted file mode 100644
index ed4d2f4efc..0000000000
--- a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:52834b00e1392b055902d9bc93c52c145e75f758250049e71dc2d6b40a377279
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/Heightmap.dat
deleted file mode 100644
index 9fa09123de..0000000000
--- a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fb391ba2b3a7631e00b067610f1fa541bfd74d1d64e11aee72741cca5c2b7d90
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/Heightmap.dat
deleted file mode 100644
index 46e1443632..0000000000
--- a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1802389900e2a041717f05ea9f05ae344edd8ce49b5332204a87d2124459561f
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/Heightmap.dat
deleted file mode 100644
index 00187ffd24..0000000000
--- a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3461c62fd0a988d4f3369116f9447d392cac1f4b1f259dc65aabe2fabbfafb37
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/Heightmap.dat
deleted file mode 100644
index b62e36aef5..0000000000
--- a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d7d878cdef5de9038df845b5ef5709cc3afe2a5a3a606f3f5ac4575a733ffc5e
-size 273095
diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/Heightmap.dat
deleted file mode 100644
index 45e1bc7290..0000000000
--- a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6931308387c56833dcfa8887cc91cdf3ec2c8dcf47803118892b9734751f86c9
-size 274584
diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/Heightmap.dat
deleted file mode 100644
index 929371d5ba..0000000000
--- a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:75c123551336f3ff33d1e7b7a35609e1e5dc70cc360b59a23c11c8650ccf19a6
-size 17409393
diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index 2650c4e5cb..0000000000
--- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5b3d4971af97025075197da8cb357d488ca899e3da8fb1e6f56082d6aace7101
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index e32db0bdff..0000000000
--- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b79f9dec3428d224041ff2404c503c9df1a7fc8fb0e84bfec30374a918710b2a
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/Heightmap.dat
deleted file mode 100644
index 2521b77547..0000000000
--- a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4adb1fccd94b0bcf444b4a6dc6f387b20bf22f0d83fefe1d938ffa6672e83a13
-size 17408454
diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/Heightmap.dat
deleted file mode 100644
index 6798b7f0c0..0000000000
--- a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fd1588965564e750d4d5d56771d983dbd27cf36a072ad2a4bc00478d3cb4629b
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Heightmap.dat
deleted file mode 100644
index 66b1d441b9..0000000000
--- a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:179f70d479b1090b16dfbfc92e5354d69751ee0288b831b51840a936e279b2d1
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Heightmap.dat
deleted file mode 100644
index 66b1d441b9..0000000000
--- a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:179f70d479b1090b16dfbfc92e5354d69751ee0288b831b51840a936e279b2d1
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/Heightmap.dat
deleted file mode 100644
index e5479ac90e..0000000000
--- a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:709cb703dd55024d7863d8b64ffe74e9e02560e2faefb18e28f23e18a7186f52
-size 17409642
diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/Heightmap.dat
deleted file mode 100644
index 6a27041aba..0000000000
--- a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2ac95dd40dd51f41fdbf06528e47f2675d888da0c09fe516a5d78c90ed025f5d
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/Heightmap.dat
deleted file mode 100644
index 95bc38ca3b..0000000000
--- a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:336249a60fe83032f9cad84b9e5cfe53e4fbc95d8bbeb27e7376629a6899622e
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/Heightmap.dat
deleted file mode 100644
index 11f4d421fd..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d831766ab559a54fa77535c1debb710cda545ae2c34e37cf4456b90769abe33a
-size 8389548
diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 5218205cc2..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cb33993ffc810014adbb3c2054980e4e6523919a690b6271a218b17b1f537262
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/Heightmap.dat
deleted file mode 100644
index 1081404c7a..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44607f0af9f20238fe5405800542230cb9cf374a9f7b94abee43910e177c9195
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/Heightmap.dat
deleted file mode 100644
index 3fbf3cb79d..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4e640b0c7396ba078c2d591b84d3e9289f391635e0f2db0d84de824634247cae
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index d0f31986ba..0000000000
--- a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8faedf8853c5e96edc68089af22243c7cbd0ba27aa76b1b065e72693c9140eb
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/Heightmap.dat b/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/Heightmap.dat
deleted file mode 100644
index c319bfdc1b..0000000000
--- a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b0e1bd3cb02be966cfd15ff9c44605c778058a2b06899c1934762f4fe770e73d
-size 8389740
diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/Heightmap.dat
deleted file mode 100644
index 5b841792c2..0000000000
--- a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c2714d5fcf2c87ae5b149ec68e0df1dc66d451e219e050d11609b0e3e41f1c71
-size 8389548
diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index 67c08472c3..0000000000
--- a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e7bcb9526a0f20e01f1f263f4853b6630a93c8eeeca9b65506064fccfeac4e40
-size 273000
diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/Heightmap.dat
deleted file mode 100644
index 2bf6b30add..0000000000
--- a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:57d336a6e26bc0c55b8dbd27fb3e0947d3d2cfc49f18142a8fa88430f4b615b0
-size 272909
diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/Heightmap.dat
deleted file mode 100644
index 6f46e7ab93..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1e90a489a4042a27b564b0edf3ba32258bccf25e6b45a949737da9d7209f30e4
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/Heightmap.dat
deleted file mode 100644
index 35dd269a45..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8448b0e7a0a336c44743b3031226572cfbc5d0dd118c7214c2255434d46c070
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/Heightmap.dat
deleted file mode 100644
index b7a01eb918..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3fa70d03516a287419a32ffb59178c302ba10687e5439fe131305d63dd51e0ca
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/Heightmap.dat
deleted file mode 100644
index f1d0bf3b16..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:04ef00ec40ec80a43b39ab898e5ee99810eccf8d3f50278054f52c6e54667f0f
-size 17407590
diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/Heightmap.dat
deleted file mode 100644
index d9ce7a6ec4..0000000000
--- a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:af292927784263e86581009389f9c9d322e85b3d2208a72286dbe860d8995d2f
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index 6555bbb47c..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8849aaa3261772f0a4286acb64cf2c5af15f76cbd8e42bd96ce5532df3ed64f4
-size 274401
diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index 755ba49dc0..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4bc0fd79ecccd25461096a9f716f21552d3a0b9650a7d1567060d70f93579afd
-size 273771
diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/Heightmap.dat
deleted file mode 100644
index e08359de1c..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:91d4f2760734ec798785956e7873186d2ac45935068011167d4a594f490c0bf4
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/Heightmap.dat
deleted file mode 100644
index 0b7e8da583..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b1a9ad65c4a46f5bd1f67ac3350688549b6048620467c7b54cb30102a08c88ad
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/Heightmap.dat
deleted file mode 100644
index b5814e3003..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5fd1899decf59ab5cf0990a24a7c8f3ab383f8739d1d2b558f081e64787d1e9c
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/Heightmap.dat
deleted file mode 100644
index c7321f0771..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9ae9eaf24bd5a1348e1a2f867b26408fbcc3275d3d3e45e65ce8fdafc3ceecdb
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/Heightmap.dat
deleted file mode 100644
index fb081369d8..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4cfdf881e642d5ac20411a85164991d7ca8a4428324ad36224675680633fb64b
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/Heightmap.dat
deleted file mode 100644
index 1705042d2a..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4ebba3e4761448e928c02417fe0732d7af9dde3fa954a74aaa56c7abbdd6c829
-size 17408234
diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/Heightmap.dat
deleted file mode 100644
index 6422240323..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6476315967452f205596689e576e4b4bb834b3122bb3976e84fc1a42abf8e9cd
-size 17408330
diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/Heightmap.dat
deleted file mode 100644
index eb4935beb0..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fff150891e6035904d35d3821aa2df85af7ed0bc3d9c8780e4bd186dc1ab7216
-size 273031
diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/Heightmap.dat
deleted file mode 100644
index 47884d0c4e..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:95f16f7ae156afe5d252b95c9b5bfd2ad5f8c0f918888bd1fbc48407708723ab
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/Heightmap.dat
deleted file mode 100644
index 44e7c48c98..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3ebda4f2e5bcf223ba1bc6273c49cc641e433c15a343fdbcdb3cab20bbd98c10
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/Heightmap.dat
deleted file mode 100644
index 1853f40c9d..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f488c4b02efeebb8528a42b2259cb96a40e29d366fa629bae625dff6666621d7
-size 17407721
diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/Heightmap.dat
deleted file mode 100644
index 536deab727..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:97b22d6b0f426fd22f68f1cd08a2a39bae75644f2f54003a1191f7273e69734a
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/Heightmap.dat
deleted file mode 100644
index 4581d9bcb6..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f2a85cc698d064f0701bef963afde2908c31d837e6d25afd3d5d4b08838ad47f
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/Heightmap.dat
deleted file mode 100644
index b1bbb93cdb..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6d7a8b0e93ea230fe46642f392a3836a95651802f1b23ecff4741d5037bba6db
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/Heightmap.dat
deleted file mode 100644
index 228cdbb6ec..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0b43531ceeb4f2119b4978b2501038e0106a17694b051de49f829349f8f49eb3
-size 17407561
diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/Heightmap.dat
deleted file mode 100644
index 90757c597e..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f9ee507c0b37dc5c007afee8524e49ae223727847d075b416a9420c99d7b1c15
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/Heightmap.dat
deleted file mode 100644
index 77636050c1..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ae5c2fde61764e3f6150ff2b2d15dfaa38c3b0dfe76f0a6ae50f76f85912f781
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/Heightmap.dat
deleted file mode 100644
index 4247db13e0..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a1886608dca8428ea53e4d2ea0a749072bde8baab935f593657264fd08a7b924
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/Heightmap.dat
deleted file mode 100644
index 2ec404ff7b..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6dc09aa3d8bcf65faa42043a975b0dce7af7450fe466d297b3b1f803ea8e9a9a
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/Heightmap.dat
deleted file mode 100644
index c4f8a2a863..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:664ed8be7bd6521f1d98f373087b1f44f18ae5d7cd2da53325e5a3f588b15e43
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/Heightmap.dat
deleted file mode 100644
index 298e654e19..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9c2430de76e2e824323072e80c7e7194e803e49639facfbf8293d48e832ae3b8
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/Heightmap.dat
deleted file mode 100644
index 1bc58fdb62..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:885772e6d2bbe859c4de728888970ce003dde3a6b658cf716242a92c0be81f08
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/Heightmap.dat
deleted file mode 100644
index e238bc5a3d..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7917bcdcbb3a788e1596b65a47df0efa79d872456775555a478d8d68e104ed5a
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/Heightmap.dat
deleted file mode 100644
index 710bb396f3..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3af891c31ed9b4023548f6aa65fa224a5af379f27432bd11808479ef678ddd25
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/Heightmap.dat
deleted file mode 100644
index 47184c77dc..0000000000
--- a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9ad9563ce944d8ce37af3e7300c5647de79331dfb002fe274e3aef0bf0736956
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/Heightmap.dat
deleted file mode 100644
index 75be3478ff..0000000000
--- a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:243cd3b6a776732db1093147d5482a458d65603e74fc09058ed5b03ee6e04720
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/Heightmap.dat
deleted file mode 100644
index b1d62c11ff..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7c25f6b8480b95ce5ff101e66d829215fe9efc2fca07b474ef11e8062d95ff50
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/Heightmap.dat
deleted file mode 100644
index 5454b28cd5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:185c7b71d452c9d7cfaa28d6c9b782179708b82ab09387919d8ecd1b96df4337
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/Heightmap.dat
deleted file mode 100644
index d2da463d29..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9f0e21daaaead505664b5cab3e131e7f0e01de76362cc8b304aef908b842b99d
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/Heightmap.dat
deleted file mode 100644
index bf01f8b4b9..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bf77a5ddfd8ff9a9443e551cebb2eadade3b056db8539a81a38f00c3e448882c
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/Heightmap.dat
deleted file mode 100644
index 38834c6ffc..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:43364efffb1278e1986537f612899e5ed7777d0a2da624827eb478e3290d3e15
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/Heightmap.dat
deleted file mode 100644
index 2b02b6f32c..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b6ad16faf3d9c08e9fc26cf57f6ccfee4870be0b681302499cfcba1b48ed2450
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/Heightmap.dat
deleted file mode 100644
index e0bb0dca29..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:957582ad1f2df72a7d8569d15ad5b7d00b711f97a7b85a62af14b45f1e505b83
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/Heightmap.dat
deleted file mode 100644
index 250572b0e2..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f97dab20304bc260b744a92a880f99e78ec720796b99910b566bf59b0a1fc96f
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/Heightmap.dat
deleted file mode 100644
index 9c45acebe4..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8067bc2add439a73dc9e2f1971e084e7193359b2b1f48883ced366814dccee53
-size 272968
diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Heightmap.dat
deleted file mode 100644
index b01cafea8e..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6401692e054f1c4e98be464da6ba46602a54cffa87dedbe7f93f04e5f4c73b38
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/Heightmap.dat
deleted file mode 100644
index fd12b3bcf3..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:505c3eb789d6033663199730a13290bb5e6c8a64997612bedcf468611b1db84c
-size 1088935
diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/Heightmap.dat
deleted file mode 100644
index de654e5c66..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9094ed2eb22b00e83d2b38400295a1b0499a73f7ce69f08c91476aa53f52d55f
-size 1088936
diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/Heightmap.dat
deleted file mode 100644
index cd96b125c5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bdfb853736f89ba7370e1d84d14fbdf2bcd0e7947c8ac1d8ef5c974d174805c5
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/Heightmap.dat
deleted file mode 100644
index 88230ecde3..0000000000
--- a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:89c8b97f06c2022d93cd6e8998230dc4e4c984bf915f901c64494c31f43ce361
-size 8389601
diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/Heightmap.dat
deleted file mode 100644
index f1203cbb38..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b1859b510aefeeef4b56773cb6b9534a8fe9822da42dace360e1275774a4b015
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/Heightmap.dat
deleted file mode 100644
index c38fc24151..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fd1933b2146650738286a96252a373272fa193ad584cc3fcef1fb63e563f69d5
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/Heightmap.dat
deleted file mode 100644
index f4d421c60f..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9c1423ef445819bd6fc431636a33c134c6c233cbe0f691590ff51f25a72a4e65
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/Heightmap.dat
deleted file mode 100644
index 8c77677ddc..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:41e755a0673feebe74637cb21c48f57cd3f4ddd0bbfe1db56bb0ab425e47e9d7
-size 17407818
diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/terrain/cover.ctc
deleted file mode 100644
index 3b21b4fd38..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c312bc0963da8a266a385bc912f0e6549b3cf6e6c7c45b04ae7cd17cdebcbb35
-size 89393864
diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/Heightmap.dat
deleted file mode 100644
index 8c77677ddc..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:41e755a0673feebe74637cb21c48f57cd3f4ddd0bbfe1db56bb0ab425e47e9d7
-size 17407818
diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/terrain/cover.ctc
deleted file mode 100644
index 3b21b4fd38..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c312bc0963da8a266a385bc912f0e6549b3cf6e6c7c45b04ae7cd17cdebcbb35
-size 89393864
diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/Heightmap.dat
deleted file mode 100644
index 24e3dc92aa..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1e38ef80eb942863c2d7c449da1cb94e5e6c3ccf42efed74f51f5d2bf3927410
-size 1088936
diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/Heightmap.dat
deleted file mode 100644
index c93a3463c5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:978fdf9b771a3e0ca49fedeeb8c40efddb65d0f84bdf5cd93dfe07fcf9f5c2ba
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/Heightmap.dat
deleted file mode 100644
index 7bea75cd29..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3f82438d7e79d1c519bc46520a138b262358a3b2f930fa85335ba8123cbeac64
-size 272903
diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/Heightmap.dat
deleted file mode 100644
index 8656f8dc82..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:887a277eb6c0394aebf2c1b45bb97c308fdae9b77d5a2d4c435459226ea43315
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/Heightmap.dat
deleted file mode 100644
index a28794f59b..0000000000
--- a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bd2bb7c49590bdcb95a536e6bb307a6ce4f3290d5575074c71af9929bd815d4b
-size 273032
diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/Heightmap.dat
deleted file mode 100644
index 4cc409be9e..0000000000
--- a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0a0ae4b840bc786cde6baaa104b4cd307559ae669191c1193dcc16e1900345f4
-size 17401625
diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/Heightmap.dat
deleted file mode 100644
index f6a994dfc8..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8fc79df6e76e7a1b78e868a1b38270a20c4f6f01bf75d8f041ed31b54bcd0f18
-size 17407883
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terrain/cover.ctc
deleted file mode 100644
index 3b21b4fd38..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c312bc0963da8a266a385bc912f0e6549b3cf6e6c7c45b04ae7cd17cdebcbb35
-size 89393864
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/Heightmap.dat
deleted file mode 100644
index bd76461f43..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:82ff0215eec3b56e30c98552229873f9c8171780f064514904fc9c2dc6a06ec5
-size 272968
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/Heightmap.dat
deleted file mode 100644
index fc4176f1d7..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1d05be295505fac28ccf838b2693cb8d9728831b7ff755e39f924b3d553c0d33
-size 278507435
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terrain/cover.ctc
deleted file mode 100644
index 3b21b4fd38..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c312bc0963da8a266a385bc912f0e6549b3cf6e6c7c45b04ae7cd17cdebcbb35
-size 89393864
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/Heightmap.dat
deleted file mode 100644
index e300eeda72..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:01b31f5b7a47a98458a8bc41564ca044e1290aaaf03aab45930cbb3665cdcdb2
-size 4352744
diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/Heightmap.dat
deleted file mode 100644
index 758aa5bc34..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2e8e198c676660fb0ee41dc26a819a446d22e8191b656c5cf1938c8e84662eb5
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/Heightmap.dat
deleted file mode 100644
index 46362b012e..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8f3e14eb70dd43e5de38f7bf7f6289662a5cec5e3a9b0f4491c9885cf7794b4f
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/Heightmap.dat
deleted file mode 100644
index bb848da4ed..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:37ea00154e4dcab65e12ee8ca194cb66838bb82529431f4d091cd9c2c79156ed
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/Heightmap.dat
deleted file mode 100644
index b9ccb9a4d9..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f5bd283a1f7d6773603be60d0f68b5dd638ad67af600b77a34ce0c0313c2a9ea
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/Heightmap.dat
deleted file mode 100644
index adc6d8cd8a..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:43ca971f0dc9e3a742df0c9b3823ba91893509d46cd58394a44b0cdb23398a7f
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Heightmap.dat
deleted file mode 100644
index 2819a15ca8..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d6da98fed444511cfbf7c816f58644647997ffae6ad95e00fc047be7d2e091aa
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/Heightmap.dat
deleted file mode 100644
index d4569021f5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:111764017407ee2fd7e2be64cd121f8347dc9d706a7964f381f9bcd351a33e30
-size 272967
diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/Heightmap.dat
deleted file mode 100644
index 88230ecde3..0000000000
--- a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:89c8b97f06c2022d93cd6e8998230dc4e4c984bf915f901c64494c31f43ce361
-size 8389601
diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/Heightmap.dat
deleted file mode 100644
index 5b2f135a91..0000000000
--- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c9729210c30daa9177bd8457f2780ed77bae8de6cd15a62bff3a07c52bb603b4
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/Heightmap.dat
deleted file mode 100644
index f54f95b8d2..0000000000
--- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f5f28abec553b0e796914564800808ea83c15373b89a72e77c06beb1b79118c3
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/Heightmap.dat
deleted file mode 100644
index edf807fd0c..0000000000
--- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0dba21e478e2062ae68a2309889fa847df1c93306fa92e23989ab99d1a402bee
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/Heightmap.dat
deleted file mode 100644
index 1b7661ff99..0000000000
--- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a01c0912336c4a1484231d245e4f8d49189e9f6295f1644672bd2443c2504d75
-size 17408042
diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/EnablingGravityWorks/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/EnablingGravityWorks/leveldata/Heightmap.dat
deleted file mode 100644
index 29cd5e7a62..0000000000
--- a/AutomatedTesting/Levels/Physics/EnablingGravityWorks/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:296d54a50af0194ce6cfc2dbfc20b45f6ca0b22e131fbbc7efb2fa71819e0125
-size 17407722
diff --git a/AutomatedTesting/Levels/Physics/EnablingGravityWorks/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/EnablingGravityWorks/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/EnablingGravityWorks/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Physics/NameNode_Prints/LevelData/Heightmap.dat b/AutomatedTesting/Levels/Physics/NameNode_Prints/LevelData/Heightmap.dat
deleted file mode 100644
index f3e0ef3b30..0000000000
--- a/AutomatedTesting/Levels/Physics/NameNode_Prints/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bc68622cb0490202b77ef121e6477cba595563fe48b388e3656e5f83d75326ab
-size 17407508
diff --git a/AutomatedTesting/Levels/Physics/Physmaterial_Editor_Test/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/Physmaterial_Editor_Test/leveldata/Heightmap.dat
deleted file mode 100644
index d3415a29e8..0000000000
--- a/AutomatedTesting/Levels/Physics/Physmaterial_Editor_Test/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:02166a294304ad1b49e0657612066fad67f8c6a534ff29391e096d5f7f02a530
-size 17407562
diff --git a/AutomatedTesting/Levels/Physics/Physmaterial_Editor_Test/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/Physmaterial_Editor_Test/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Physics/Physmaterial_Editor_Test/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab b/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab
new file mode 100644
index 0000000000..0776f25935
--- /dev/null
+++ b/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab
@@ -0,0 +1,171 @@
+{
+ "Source": "Levels/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab",
+ "ContainerEntity": {
+ "Id": "Entity_[403811863694]",
+ "Name": "Level",
+ "Components": {
+ "Component_[10582285743525614098]": {
+ "$type": "SelectionComponent",
+ "Id": 10582285743525614098
+ },
+ "Component_[12253783095375428046]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 12253783095375428046
+ },
+ "Component_[13764860261821571747]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 13764860261821571747,
+ "Parent Entity": ""
+ },
+ "Component_[15844324401733835865]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 15844324401733835865
+ },
+ "Component_[1605854641405361768]": {
+ "$type": "EditorLockComponent",
+ "Id": 1605854641405361768
+ },
+ "Component_[17698173984524983803]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 17698173984524983803
+ },
+ "Component_[3444251662966224826]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 3444251662966224826
+ },
+ "Component_[4231768881195179982]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 4231768881195179982
+ },
+ "Component_[4722360315410084479]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 4722360315410084479
+ },
+ "Component_[7614719100624882952]": {
+ "$type": "EditorPrefabComponent",
+ "Id": 7614719100624882952
+ },
+ "Component_[9585901769691795481]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 9585901769691795481
+ }
+ },
+ "IsDependencyReady": true
+ },
+ "Entities": {
+ "Entity_[438171602062]": {
+ "Id": "Entity_[438171602062]",
+ "Name": "EntityWithPxCollider",
+ "Components": {
+ "Component_[11161653124805884473]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 11161653124805884473
+ },
+ "Component_[13116773315299882093]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 13116773315299882093
+ },
+ "Component_[15820915681461536711]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 15820915681461536711
+ },
+ "Component_[2222061938345834243]": {
+ "$type": "SelectionComponent",
+ "Id": 2222061938345834243
+ },
+ "Component_[3861913165076405600]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 3861913165076405600
+ },
+ "Component_[7118587015611303204]": {
+ "$type": "EditorLockComponent",
+ "Id": 7118587015611303204
+ },
+ "Component_[7751174327125555504]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 7751174327125555504
+ },
+ "Component_[8304730147756374057]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 8304730147756374057,
+ "Parent Entity": "Entity_[403811863694]",
+ "Transform Data": {
+ "Translate": [
+ 0.0,
+ 20.0,
+ 34.0
+ ]
+ }
+ },
+ "Component_[8866353210615920259]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 8866353210615920259
+ },
+ "Component_[8988181228601932779]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 8988181228601932779
+ },
+ "Component_[7103333782129541775]": {
+ "$type": "EditorColliderComponent",
+ "Id": 7103333782129541775
+ }
+ },
+ "IsDependencyReady": true
+ },
+ "Entity_[532660882574]": {
+ "Id": "Entity_[532660882574]",
+ "Name": "EmptyEntity",
+ "Components": {
+ "Component_[16437814751543997955]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 16437814751543997955
+ },
+ "Component_[16751517102089557119]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 16751517102089557119
+ },
+ "Component_[16773275259304187949]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 16773275259304187949
+ },
+ "Component_[17283539636910567200]": {
+ "$type": "SelectionComponent",
+ "Id": 17283539636910567200
+ },
+ "Component_[250004123617033400]": {
+ "$type": "EditorLockComponent",
+ "Id": 250004123617033400
+ },
+ "Component_[2791138963683667073]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 2791138963683667073,
+ "Parent Entity": "Entity_[403811863694]",
+ "Transform Data": {
+ "Translate": [
+ 10.0,
+ 20.0,
+ 30.0
+ ]
+ }
+ },
+ "Component_[3296942400051129145]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 3296942400051129145
+ },
+ "Component_[3422076964671342434]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 3422076964671342434
+ },
+ "Component_[3431895414183121731]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 3431895414183121731
+ },
+ "Component_[7072085777705148766]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 7072085777705148766
+ }
+ },
+ "IsDependencyReady": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/AutomatedTesting/Levels/Simple/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Simple/leveldata/Heightmap.dat
deleted file mode 100644
index a115a949ea..0000000000
--- a/AutomatedTesting/Levels/Simple/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4f5bed6147984ab47380f219627d57d0d81fee47240ee4f9f22eb36ad891cca8
-size 17407722
diff --git a/AutomatedTesting/Levels/Simple/terrain/cover.ctc b/AutomatedTesting/Levels/Simple/terrain/cover.ctc
deleted file mode 100644
index 758d8ecc7c..0000000000
--- a/AutomatedTesting/Levels/Simple/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:56ababffe6020616ccd87fff0cc5968fc5b15d6f7812ef1f71457544deda53e5
-size 1310792
diff --git a/AutomatedTesting/Levels/TestDependenciesLevel/LevelData/Heightmap.dat b/AutomatedTesting/Levels/TestDependenciesLevel/LevelData/Heightmap.dat
deleted file mode 100644
index f4b5b6a7ec..0000000000
--- a/AutomatedTesting/Levels/TestDependenciesLevel/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:33755cbdc3e12d51ebaff02a97ff83632b59d04e15c935e72c819f97a85313ee
-size 17407849
diff --git a/AutomatedTesting/Levels/TestDependenciesLevel/terrain/cover.ctc b/AutomatedTesting/Levels/TestDependenciesLevel/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/TestDependenciesLevel/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Utils/Tracer_ErrorEntity/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Utils/Tracer_ErrorEntity/leveldata/Heightmap.dat
deleted file mode 100644
index 92979fc15b..0000000000
--- a/AutomatedTesting/Levels/Utils/Tracer_ErrorEntity/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1ec97cba81a1332d3ddbf7e792a037b481f98890351ff997eb4c14df608063bf
-size 17407612
diff --git a/AutomatedTesting/Levels/Utils/Tracer_ErrorEntity/terrain/cover.ctc b/AutomatedTesting/Levels/Utils/Tracer_ErrorEntity/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Utils/Tracer_ErrorEntity/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/Utils/Tracer_WarningEntity/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Utils/Tracer_WarningEntity/leveldata/Heightmap.dat
deleted file mode 100644
index d08880d3f7..0000000000
--- a/AutomatedTesting/Levels/Utils/Tracer_WarningEntity/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a4a511fb77ac358234d93b9504d7c4fab728d703599e565c11de82423b6861d7
-size 17407562
diff --git a/AutomatedTesting/Levels/Utils/Tracer_WarningEntity/terrain/cover.ctc b/AutomatedTesting/Levels/Utils/Tracer_WarningEntity/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/Utils/Tracer_WarningEntity/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/WaterSample/leveldata/Heightmap.dat b/AutomatedTesting/Levels/WaterSample/leveldata/Heightmap.dat
deleted file mode 100644
index faa167e7b9..0000000000
--- a/AutomatedTesting/Levels/WaterSample/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2d279ddb3735d78930a121c8ee861608feadc5d808ec816bf3dc5d577a7f80e6
-size 17409012
diff --git a/AutomatedTesting/Levels/WaterSample/terrain/cover.ctc b/AutomatedTesting/Levels/WaterSample/terrain/cover.ctc
deleted file mode 100644
index 0823b8a456..0000000000
--- a/AutomatedTesting/Levels/WaterSample/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:442fe75f06b84d877259b986b69f17f8bb3719f95e87c100ef136a12440706c0
-size 1310792
diff --git a/AutomatedTesting/Levels/WhiteBox/EmptyLevel/LevelData/Heightmap.dat b/AutomatedTesting/Levels/WhiteBox/EmptyLevel/LevelData/Heightmap.dat
deleted file mode 100644
index 29e3419f1f..0000000000
--- a/AutomatedTesting/Levels/WhiteBox/EmptyLevel/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:516a3c2be23cd39ece7cab752845008d2b0940327338667d99f8a9dc934955e7
-size 8389548
diff --git a/AutomatedTesting/Levels/auto_test/LevelData/Heightmap.dat b/AutomatedTesting/Levels/auto_test/LevelData/Heightmap.dat
deleted file mode 100644
index c45e9c55d6..0000000000
--- a/AutomatedTesting/Levels/auto_test/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:11035ee2ffa8b8e05694d1e9911bc187ce8d11d44ec21d2e85256348208888cd
-size 17407568
diff --git a/AutomatedTesting/Levels/auto_test/terrain/cover.ctc b/AutomatedTesting/Levels/auto_test/terrain/cover.ctc
deleted file mode 100644
index 5c869c6533..0000000000
--- a/AutomatedTesting/Levels/auto_test/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
-size 1310792
diff --git a/AutomatedTesting/Levels/ocean_component/LevelData/Heightmap.dat b/AutomatedTesting/Levels/ocean_component/LevelData/Heightmap.dat
deleted file mode 100644
index d8cc5b2c0d..0000000000
--- a/AutomatedTesting/Levels/ocean_component/LevelData/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:dd639fcd1ed23c191ac037b33dc3b592a5a2350d940851ec2206d391b1988a8c
-size 272966
diff --git a/AutomatedTesting/Levels/ocean_component/terrain/cover.ctc b/AutomatedTesting/Levels/ocean_component/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/ocean_component/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Levels/ocean_trackview/leveldata/Heightmap.dat b/AutomatedTesting/Levels/ocean_trackview/leveldata/Heightmap.dat
deleted file mode 100644
index 6e54935add..0000000000
--- a/AutomatedTesting/Levels/ocean_trackview/leveldata/Heightmap.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a5a13103dc7a070193a74e362daea1d152b8c50031db93f9a7689a9a5c8137c2
-size 272903
diff --git a/AutomatedTesting/Levels/ocean_trackview/terrain/cover.ctc b/AutomatedTesting/Levels/ocean_trackview/terrain/cover.ctc
deleted file mode 100644
index 78c2ab6ed5..0000000000
--- a/AutomatedTesting/Levels/ocean_trackview/terrain/cover.ctc
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
-size 262184
diff --git a/AutomatedTesting/Slices/1m_Cube.slice b/AutomatedTesting/Slices/1m_Cube.slice
index 5ace34bd10..b31869c7fa 100644
--- a/AutomatedTesting/Slices/1m_Cube.slice
+++ b/AutomatedTesting/Slices/1m_Cube.slice
@@ -39,6 +39,7 @@
+
@@ -61,7 +62,7 @@
-
+
@@ -122,38 +123,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/AutomatedTesting/sounds/.gitignore b/AutomatedTesting/sounds/.gitignore
new file mode 100644
index 0000000000..80c66daa1c
--- /dev/null
+++ b/AutomatedTesting/sounds/.gitignore
@@ -0,0 +1,8 @@
+.backup/
+.cache/
+*.log
+*.akd
+*.dat
+*.prof
+*.validationcache
+*.wsettings
\ No newline at end of file
diff --git a/AutomatedTesting/sounds/wwise/Init.bnk b/AutomatedTesting/sounds/wwise/Init.bnk
index 530a7e007f..292288ff26 100644
--- a/AutomatedTesting/sounds/wwise/Init.bnk
+++ b/AutomatedTesting/sounds/wwise/Init.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:803ddb37eb27cba666f9320c2f5905219193e1a069d1144a64df92fab0e31878
-size 1243
+oid sha256:c9e6a4ef3d2f33f31827ce2bba2ed8bad87324f3fe86f79389ef2956b304a924
+size 1180
diff --git a/AutomatedTesting/sounds/wwise/Init.txt b/AutomatedTesting/sounds/wwise/Init.txt
index 038359ac1a..4b989c4017 100644
--- a/AutomatedTesting/sounds/wwise/Init.txt
+++ b/AutomatedTesting/sounds/wwise/Init.txt
@@ -21,5 +21,4 @@ Audio Bus ID Name Wwise Object Path Notes
Audio Devices ID Name Type Notes
2317455096 No_Output No Output
3859886410 System System
- 4230635974 Default_Motion_Device Wwise Motion
diff --git a/AutomatedTesting/sounds/wwise/PluginInfo.xml b/AutomatedTesting/sounds/wwise/PluginInfo.xml
index 61e689f373..19f3fe9c1b 100644
--- a/AutomatedTesting/sounds/wwise/PluginInfo.xml
+++ b/AutomatedTesting/sounds/wwise/PluginInfo.xml
@@ -1,9 +1,8 @@
-
+
-
-
-
-
+
+
+
diff --git a/AutomatedTesting/sounds/wwise/SoundbanksInfo.xml b/AutomatedTesting/sounds/wwise/SoundbanksInfo.xml
index 22ae71f4dc..d7bfecaa53 100644
--- a/AutomatedTesting/sounds/wwise/SoundbanksInfo.xml
+++ b/AutomatedTesting/sounds/wwise/SoundbanksInfo.xml
@@ -1,11 +1,11 @@
-
+
- Q:\audio\dev\AutomatedTesting\sounds\wwise_project\
- Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\
- Q:\audio\dev\AutomatedTesting\sounds\wwise\
+ D:\code\o3de\AutomatedTesting\sounds\wwise_project\
+ D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\
+ D:\code\o3de\AutomatedTesting\sounds\wwise\
- Q:\audio\dev\AutomatedTesting\sounds\wwise_project\GeneratedSoundBanks\Windows
+ D:\code\o3de\AutomatedTesting\sounds\wwise_project\GeneratedSoundBanks\Windows
@@ -28,7 +28,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank2
test_bank2
test_bank2.bnk
@@ -37,7 +37,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank3
test_bank3
test_bank3.bnk
@@ -60,7 +60,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank1
test_bank1
test_bank1.bnk
@@ -83,7 +83,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank6
test_bank6
test_bank6.bnk
@@ -102,7 +102,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank7
test_bank7
test_bank7.bnk
@@ -125,7 +125,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank4
test_bank4
test_bank4.bnk
@@ -136,7 +136,7 @@
-
+
\SoundBanks\Default Work Unit\test_bank5
test_bank5
test_bank5.bnk
@@ -169,7 +169,7 @@
-
+
Init
Init
Init.bnk
diff --git a/AutomatedTesting/sounds/wwise/test_bank1.bnk b/AutomatedTesting/sounds/wwise/test_bank1.bnk
index 9e8f50a98a..bd0e1e66cb 100644
--- a/AutomatedTesting/sounds/wwise/test_bank1.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank1.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:94ea13931c13592deba669bd4920328ff96f17e6f8fce280d03f00251a96327a
-size 94122
+oid sha256:3db299d7d823b649ff20a7ffc986dccfce1fa3189f178491e2712d6c00b317af
+size 94126
diff --git a/AutomatedTesting/sounds/wwise/test_bank1.txt b/AutomatedTesting/sounds/wwise/test_bank1.txt
index a0c6e13621..5ec2e4b96b 100644
--- a/AutomatedTesting/sounds/wwise/test_bank1.txt
+++ b/AutomatedTesting/sounds/wwise/test_bank1.txt
@@ -3,8 +3,8 @@ Event ID Name Wwise Object Path Notes
865645077 test_event_1_bank1_embedded_target \Default Work Unit\test_event_1_bank1_embedded_target
In Memory Audio ID Name Audio source file Wwise Object Path Notes Data Size
- 23965881 test_sfx_1_bank1_embedded Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire_impact004_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_1_bank1_embedded 93864
+ 23965881 test_sfx_1_bank1_embedded D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire_impact004_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_1_bank1_embedded 93864
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
- 499820003 test_sfx_2_bank1_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
+ 499820003 test_sfx_2_bank1_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
diff --git a/AutomatedTesting/sounds/wwise/test_bank2.bnk b/AutomatedTesting/sounds/wwise/test_bank2.bnk
index 2e31c359bf..ee96554646 100644
--- a/AutomatedTesting/sounds/wwise/test_bank2.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank2.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ad73fd0981e47fe3313eff51d2841ea5fd522a99103684d696849e7353277ea9
-size 430
+oid sha256:1bdaed4dc5cc514a8a3ddfaf990f59061514af7962a7a112eb677ad5c45fcb85
+size 434
diff --git a/AutomatedTesting/sounds/wwise/test_bank3.bankdeps b/AutomatedTesting/sounds/wwise/test_bank3.bankdeps
index 606dbdbac8..51a952d463 100644
--- a/AutomatedTesting/sounds/wwise/test_bank3.bankdeps
+++ b/AutomatedTesting/sounds/wwise/test_bank3.bankdeps
@@ -2,9 +2,9 @@
"version": "1.0",
"bankName": "test_bank3.bnk",
"dependencies": [
- "196049145.wem",
+ "test_bank4.bnk",
"Init.bnk",
- "test_bank4.bnk"
+ "196049145.wem"
],
"includedEvents": [
"test_event_5_bank3_embedded_target_bank4",
diff --git a/AutomatedTesting/sounds/wwise/test_bank3.bnk b/AutomatedTesting/sounds/wwise/test_bank3.bnk
index 32e6161e6c..6b83836c18 100644
--- a/AutomatedTesting/sounds/wwise/test_bank3.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank3.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:33eabaa646e9567017946bee05b1b5a835e91862f63145ebe5a2fbdd9c9f5a49
-size 226
+oid sha256:57c75cf8745b31071a788a20d8de5a60cedbfb8a6155eae1a461b8c6501e5479
+size 230
diff --git a/AutomatedTesting/sounds/wwise/test_bank3.txt b/AutomatedTesting/sounds/wwise/test_bank3.txt
index ca6efc6e02..9a843afad7 100644
--- a/AutomatedTesting/sounds/wwise/test_bank3.txt
+++ b/AutomatedTesting/sounds/wwise/test_bank3.txt
@@ -3,5 +3,5 @@ Event ID Name Wwise Object Path Notes
645979556 test_event_6_bank3_streamed_target_bank4 \Default Work Unit\test_event_6_bank3_streamed_target_bank4 Event that lives in test_bank3. This event targets only one media, which is streamed from test_bank4.
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
- 196049145 test_sfx_6_bank4_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire003_56D34C19.wem 196049145.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_6_bank4_streamed
+ 196049145 test_sfx_6_bank4_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire003_56D34C19.wem 196049145.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_6_bank4_streamed
diff --git a/AutomatedTesting/sounds/wwise/test_bank4.bnk b/AutomatedTesting/sounds/wwise/test_bank4.bnk
index e169744d84..5f5883d559 100644
--- a/AutomatedTesting/sounds/wwise/test_bank4.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank4.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:79d308f3c50fece383fd82fd0060e26558e6a2e78a4ecd5d8afe24907489a88f
+oid sha256:3a635f7d1ccb256caed90d18ca566cd0fa56d49b491af7c88c0b5da55a3ef4fe
size 142234
diff --git a/AutomatedTesting/sounds/wwise/test_bank4.txt b/AutomatedTesting/sounds/wwise/test_bank4.txt
index 770cb7f171..7649b0eed5 100644
--- a/AutomatedTesting/sounds/wwise/test_bank4.txt
+++ b/AutomatedTesting/sounds/wwise/test_bank4.txt
@@ -1,3 +1,3 @@
In Memory Audio ID Name Audio source file Wwise Object Path Notes Data Size
- 666825490 test_sfx_5_bank4_embedded Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZN_sfx_env_commsarray_apllyupdate_end_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_5_bank4_embedded 142170
+ 666825490 test_sfx_5_bank4_embedded D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZN_sfx_env_commsarray_apllyupdate_end_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_5_bank4_embedded 142170
diff --git a/AutomatedTesting/sounds/wwise/test_bank5.bnk b/AutomatedTesting/sounds/wwise/test_bank5.bnk
index b4e629d9a7..168c7c1a4d 100644
--- a/AutomatedTesting/sounds/wwise/test_bank5.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank5.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:80c02f30d439ffcfb479e4a82b0269fe4f479c50019028e51f0fa6e3fea0bfdd
-size 290
+oid sha256:fa329eeb83184e88b7ab26fbff2479a98232210bcd130801041b20ccb3bcf16e
+size 294
diff --git a/AutomatedTesting/sounds/wwise/test_bank5.txt b/AutomatedTesting/sounds/wwise/test_bank5.txt
index 0f66c57f8e..3d560cf9f5 100644
--- a/AutomatedTesting/sounds/wwise/test_bank5.txt
+++ b/AutomatedTesting/sounds/wwise/test_bank5.txt
@@ -5,5 +5,5 @@ Event ID Name Wwise Object Path Notes
3546419658 test_event_7_bank5_referenced_event_bank1_embedded \Default Work Unit\test_event_7_bank5_referenced_event_bank1_embedded
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
- 499820003 test_sfx_2_bank1_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
+ 499820003 test_sfx_2_bank1_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
diff --git a/AutomatedTesting/sounds/wwise/test_bank6.bnk b/AutomatedTesting/sounds/wwise/test_bank6.bnk
index 18ee92b51d..4c942037f0 100644
--- a/AutomatedTesting/sounds/wwise/test_bank6.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank6.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:07d132d54b2c747e2409a56c05a4adca0dfa4407b791ffaa6bb14531f92f89aa
-size 494
+oid sha256:80d3014fcfd3a8ff37219515f0c9d67a2a674094002538ac6741702dca07c14d
+size 498
diff --git a/AutomatedTesting/sounds/wwise/test_bank7.bankdeps b/AutomatedTesting/sounds/wwise/test_bank7.bankdeps
index 02be60a544..56cf29c619 100644
--- a/AutomatedTesting/sounds/wwise/test_bank7.bankdeps
+++ b/AutomatedTesting/sounds/wwise/test_bank7.bankdeps
@@ -2,9 +2,9 @@
"version": "1.0",
"bankName": "test_bank7.bnk",
"dependencies": [
+ "656567798.wem",
"601903616.wem",
- "Init.bnk",
- "656567798.wem"
+ "Init.bnk"
],
"includedEvents": [
"test_event_11_bank7_streamed_target",
diff --git a/AutomatedTesting/sounds/wwise/test_bank7.bnk b/AutomatedTesting/sounds/wwise/test_bank7.bnk
index abc398d1f1..c01346fd58 100644
--- a/AutomatedTesting/sounds/wwise/test_bank7.bnk
+++ b/AutomatedTesting/sounds/wwise/test_bank7.bnk
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:990538a33c72e79d63cab0c191b4e0f199688b923bb6bdcc8888aab375e7d11d
-size 226
+oid sha256:0de33094b9792d7f9ff8042e16b153dd76729e9010d6713e1824d2229c653042
+size 230
diff --git a/AutomatedTesting/sounds/wwise/test_bank7.txt b/AutomatedTesting/sounds/wwise/test_bank7.txt
index 033c2ea5b9..3bf2da686b 100644
--- a/AutomatedTesting/sounds/wwise/test_bank7.txt
+++ b/AutomatedTesting/sounds/wwise/test_bank7.txt
@@ -3,6 +3,6 @@ Event ID Name Wwise Object Path Notes
2110064689 test_event_11_bank7_streamed_target \Default Work Unit\test_event_11_bank7_streamed_target
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
- 601903616 test_sfx_8_bank7_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\gun_blaster_no_trigger_shot_1_56D34C19.wem 601903616.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_8_bank7_streamed
- 656567798 test_sfx_7_bank7_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\impact_bot_hits_metalelement_56D34C19.wem 656567798.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_7_bank7_streamed
+ 601903616 test_sfx_8_bank7_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\gun_blaster_no_trigger_shot_1_56D34C19.wem 601903616.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_8_bank7_streamed
+ 656567798 test_sfx_7_bank7_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\impact_bot_hits_metalelement_56D34C19.wem 656567798.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_7_bank7_streamed
diff --git a/AutomatedTesting/sounds/wwise_project/Actor-Mixer Hierarchy/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Actor-Mixer Hierarchy/Default Work Unit.wwu
index 8cc6eeecc2..33ac513281 100644
--- a/AutomatedTesting/sounds/wwise_project/Actor-Mixer Hierarchy/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Actor-Mixer Hierarchy/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
@@ -21,6 +21,7 @@
+
@@ -50,6 +51,7 @@
+
@@ -72,6 +74,7 @@
+
@@ -101,6 +104,7 @@
+
@@ -130,6 +134,7 @@
+
@@ -159,6 +164,7 @@
+
@@ -187,6 +193,7 @@
SFX
+
@@ -215,6 +222,7 @@
SFX
+
diff --git a/AutomatedTesting/sounds/wwise_project/Attenuations/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Attenuations/Default Work Unit.wwu
index 9034f07366..955c7d9e4a 100644
--- a/AutomatedTesting/sounds/wwise_project/Attenuations/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Attenuations/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Audio Devices/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Audio Devices/Default Work Unit.wwu
index 472e9b12d1..f56682b0bf 100644
--- a/AutomatedTesting/sounds/wwise_project/Audio Devices/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Audio Devices/Default Work Unit.wwu
@@ -1,11 +1,10 @@
-
+
-
diff --git a/AutomatedTesting/sounds/wwise_project/AutomatedTesting.wproj b/AutomatedTesting/sounds/wwise_project/AutomatedTesting.wproj
new file mode 100644
index 0000000000..1aead159ad
--- /dev/null
+++ b/AutomatedTesting/sounds/wwise_project/AutomatedTesting.wproj
@@ -0,0 +1,13491 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GeneratedSoundBanks\Windows
+
+
+
+
+ 256
+
+
+
+
+
+ ..\wwise\
+
+
+
+
+ Copy Streamed Files and Generate Dependency Info
+
+
+
+
+ "$(CopyStreamedFilesExePath)" -info "$(InfoFilePath)" -outputpath "$(SoundBankPath)" -banks "$(SoundBankListAsTextFile)" -languages "$(LanguageList)"
+"$(WwiseProjectPath)\..\..\..\python\python.cmd" "$(WwiseProjectPath)\..\..\..\Gems\AudioEngineWwise\Tools\WwiseAuthoringScripts\bank_info_parser.py" "$(InfoFilePath)" "$(SoundBankPath)"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -80
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 8
+
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+ -1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ -1
+
+
+
+
+ -1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 2
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ 65535
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 10000
+
+
+
+
+ 1
+
+
+
+
+ 400
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ -96
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 16
+
+
+
+
+ -96
+
+
+
+
+ 0
+
+
+
+
+ 48000
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 16
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+ 75
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 512
+
+
+
+
+ -50
+
+
+
+
+ -30
+
+
+
+
+ -40
+
+
+
+
+ 0
+
+
+
+
+ 24024
+
+
+
+
+ 0
+
+
+
+
+ 8
+
+
+
+
+ English(US)
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 256
+
+
+
+
+
+
+
+
+
+ 50
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ -80
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 64
+
+
+
+
+ 1.5
+
+
+
+
+ 2
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 64
+
+
+
+
+ 64
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ 0.1
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 20
+
+
+
+
+ 10000
+
+
+
+
+ 0.2
+
+
+
+
+ True
+
+
+
+
+ 80
+
+
+
+
+ 0.2
+
+
+
+
+ False
+
+
+
+
+ 200
+
+
+
+
+ 0.25
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 4
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 1
+
+
+
+
+ 200
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 1
+
+
+
+
+ 200
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 40
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 160
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ 0.2
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ 0.2
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0.2
+
+
+
+
+ 0
+
+
+
+
+ 0.2
+
+
+
+
+ 0.2
+
+
+
+
+ 3000
+
+
+
+
+ 0.2
+
+
+
+
+ 0
+
+
+
+
+ 6
+
+
+
+
+ 15000
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 20000
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ 0.2
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ 0.2
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ 65535
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ 65535
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 2
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ True
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 5000
+
+
+
+
+ 10000
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 3
+
+
+
+
+ 9
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ 65535
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+ 1000
+
+
+
+
+ 5000
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 96
+
+
+
+
+ -100
+
+
+
+
+ -100
+
+
+
+
+ -100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 35
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 3
+
+
+
+
+ 9
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 64
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -96
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 50
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 4000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 120
+
+
+
+
+ 4
+
+
+
+
+ 4
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ 65535
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 127
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 120
+
+
+
+
+ 4
+
+
+
+
+ 4
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 12
+
+
+
+
+ False
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+ False
+
+
+
+
+ -10
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 120
+
+
+
+
+ 4
+
+
+
+
+ 4
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 7
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ -6
+
+
+
+
+ 0
+
+
+
+
+ 90
+
+
+
+
+ 0
+
+
+
+
+ 245
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 8
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 0.2
+
+
+
+
+ False
+
+
+
+
+ 0.2
+
+
+
+
+ 0.5
+
+
+
+
+ True
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+ 1
+
+
+
+
+ 440
+
+
+
+
+ -12
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -12
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ -12
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 10
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 4
+
+
+
+
+ 6
+
+
+
+
+ 5
+
+
+
+
+ 100
+
+
+
+
+ 1000
+
+
+
+
+ 12000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ 15
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 25
+
+
+
+
+
+
+
+
+ 0.1
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 1.5
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0.1
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 3
+
+
+
+
+ 0.01
+
+
+
+
+ -40
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0.01
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 10
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 1
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 40
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 18000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 10
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ -40
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 40
+
+
+
+
+ 18000
+
+
+
+
+ -96
+
+
+
+
+ -20
+
+
+
+
+ 20
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 13.62
+
+
+
+
+ 26.09
+
+
+
+
+ 26.55
+
+
+
+
+ 26.91
+
+
+
+
+ 28.04
+
+
+
+
+ 29.09
+
+
+
+
+ 29.9
+
+
+
+
+ 30.86
+
+
+
+
+ 15.66
+
+
+
+
+ 17.52
+
+
+
+
+ 19.02
+
+
+
+
+ 20.83
+
+
+
+
+ 22.6
+
+
+
+
+ 24.05
+
+
+
+
+ 24.78
+
+
+
+
+ 25.6
+
+
+
+
+ -96.3
+
+
+
+
+ 2
+
+
+
+
+ True
+
+
+
+
+ 8
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 4
+
+
+
+
+ -35
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ -96.3
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 40
+
+
+
+
+ 1.2
+
+
+
+
+ 80
+
+
+
+
+ 50
+
+
+
+
+ 8
+
+
+
+
+ 2
+
+
+
+
+ 100
+
+
+
+
+ 15
+
+
+
+
+ 5
+
+
+
+
+ 66
+
+
+
+
+ -96.3
+
+
+
+
+ 0
+
+
+
+
+ -20
+
+
+
+
+ 23
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 3
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 3
+
+
+
+
+ 1
+
+
+
+
+ 2
+
+
+
+
+ 10000
+
+
+
+
+ 0
+
+
+
+
+ 3
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 2.25
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ -96.3
+
+
+
+
+ -96.3
+
+
+
+
+ False
+
+
+
+
+ 25
+
+
+
+
+ 8
+
+
+
+
+ 0
+
+
+
+
+ -20
+
+
+
+
+ 100
+
+
+
+
+ 50
+
+
+
+
+ 100
+
+
+
+
+ 0.8
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+ 180
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 5
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0.25
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 10
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 440
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 440
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 50
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -96.3
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -75
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 6
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 100
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ -96.3
+
+
+
+
+ 0
+
+
+
+
+ -60
+
+
+
+
+ -96.3
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1024
+
+
+
+
+ 48000
+
+
+
+
+ 48000
+
+
+
+
+ 48000
+
+
+
+
+ 180
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -48
+
+
+
+
+ False
+
+
+
+
+ 0.1
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 2048
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 100
+
+
+
+
+ 1
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ Recorder.wav
+
+
+
+
+ -3
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+ -96.3
+
+
+
+
+ False
+
+
+
+
+ -3
+
+
+
+
+ -3
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ -100
+
+
+
+
+ True
+
+
+
+
+ -12
+
+
+
+
+ 0.1
+
+
+
+
+ -12
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ -12
+
+
+
+
+ 0.1
+
+
+
+
+ -12
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 50
+
+
+
+
+ -96
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1024
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -96
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ -6
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ -6
+
+
+
+
+ 50
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 250
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ -96
+
+
+
+
+ 3
+
+
+
+
+ True
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0.5
+
+
+
+
+ 0
+
+
+
+
+ 2400
+
+
+
+
+ 345
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 32
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 10
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 20000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0.707
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 256
+
+
+
+
+ False
+
+
+
+
+ 100
+
+
+
+
+ 100
+
+
+
+
+ 100
+
+
+
+
+ 100
+
+
+
+
+ 1000
+
+
+
+
+ 1000
+
+
+
+
+ 1000
+
+
+
+
+ 1000
+
+
+
+
+ 20000
+
+
+
+
+ 20000
+
+
+
+
+ 20000
+
+
+
+
+ 20000
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 5
+
+
+
+
+ 5
+
+
+
+
+ 9
+
+
+
+
+ 9
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 16641
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 10
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 60
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+ 0.01
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+ 0.01
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+ 0.01
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+ 0.01
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0.1
+
+
+
+
+ 0
+
+
+
+
+ 150
+
+
+
+
+ 1000
+
+
+
+
+ 6000
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ True
+
+
+
+
+ 5
+
+
+
+
+ 100
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 3
+
+
+
+
+ 200
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 3
+
+
+
+
+ 500
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 4
+
+
+
+
+ 1000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 3
+
+
+
+
+ 3000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ False
+
+
+
+
+ 3
+
+
+
+
+ 6000
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+ -12
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ -12
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 6
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0.6
+
+
+
+
+ 0.6
+
+
+
+
+ 0.5
+
+
+
+
+ 0.3
+
+
+
+
+ 0.05
+
+
+
+
+ 0.25
+
+
+
+
+ 0.02
+
+
+
+
+ 1.5
+
+
+
+
+ 0.2
+
+
+
+
+ 0.3
+
+
+
+
+ True
+
+
+
+
+ 0.2
+
+
+
+
+ 8
+
+
+
+
+ 0.2
+
+
+
+
+ 12
+
+
+
+
+
+
+
+
+ 20
+
+
+
+
+ 0.7
+
+
+
+
+ 100
+
+
+
+
+ 0.1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ True
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 3
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+ 0.7
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0.9
+
+
+
+
+ 0.1
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ 2
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1.4
+
+
+
+
+ -6
+
+
+
+
+ True
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ False
+
+
+
+
+ True
+
+
+
+
+ 0.5
+
+
+
+
+ 10000
+
+
+
+
+ -6
+
+
+
+
+ 7
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 7.25
+
+
+
+
+ 2.75
+
+
+
+
+ 3.25
+
+
+
+
+ 4.25
+
+
+
+
+ 4.75
+
+
+
+
+ 3.75
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 5
+
+
+ 100
+ -200
+ 37
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 5
+
+
+ 100
+ 100
+ 37
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 5
+
+
+ 100
+ 100
+ 37
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 5
+
+
+ 100
+ -200
+ 37
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 5
+
+
+ 100
+ 100
+ 37
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 5
+
+
+ 100
+ 100
+ 37
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AutomatedTesting/sounds/wwise_project/Control Surface Sessions/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Control Surface Sessions/Default Work Unit.wwu
index 1f7d254b46..4e13dee554 100644
--- a/AutomatedTesting/sounds/wwise_project/Control Surface Sessions/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Control Surface Sessions/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Conversion Settings/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Conversion Settings/Default Work Unit.wwu
index ac7c83d1db..236f5765db 100644
--- a/AutomatedTesting/sounds/wwise_project/Conversion Settings/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Conversion Settings/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Conversion Settings/Factory Conversion Settings.wwu b/AutomatedTesting/sounds/wwise_project/Conversion Settings/Factory Conversion Settings.wwu
index 9a94d81c32..7873f5135a 100644
--- a/AutomatedTesting/sounds/wwise_project/Conversion Settings/Factory Conversion Settings.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Conversion Settings/Factory Conversion Settings.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Dynamic Dialogue/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Dynamic Dialogue/Default Work Unit.wwu
index e6e033e251..5411c7d503 100644
--- a/AutomatedTesting/sounds/wwise_project/Dynamic Dialogue/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Dynamic Dialogue/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Effects/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Effects/Default Work Unit.wwu
index f938135d6b..ca63005f4b 100644
--- a/AutomatedTesting/sounds/wwise_project/Effects/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Effects/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Effects/Factory Effects.wwu b/AutomatedTesting/sounds/wwise_project/Effects/Factory Effects.wwu
index ac716afb97..5a545f5e61 100644
--- a/AutomatedTesting/sounds/wwise_project/Effects/Factory Effects.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Effects/Factory Effects.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Effects/Factory Reflect.wwu b/AutomatedTesting/sounds/wwise_project/Effects/Factory Reflect.wwu
index f2269dd2dc..2c0ebb6b67 100644
--- a/AutomatedTesting/sounds/wwise_project/Effects/Factory Reflect.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Effects/Factory Reflect.wwu
@@ -1,10 +1,9 @@
-
+
-
-
+
@@ -185,8 +184,7 @@
-
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Events/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Events/Default Work Unit.wwu
index c65c8adca1..73c2e8f028 100644
--- a/AutomatedTesting/sounds/wwise_project/Events/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Events/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Game Parameters/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Game Parameters/Default Work Unit.wwu
index e373885f46..a939ebe124 100644
--- a/AutomatedTesting/sounds/wwise_project/Game Parameters/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Game Parameters/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory Motion.wwu b/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory Motion.wwu
index b06d283012..3989d74308 100644
--- a/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory Motion.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory Motion.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory SoundSeed Air Game Syncs.wwu b/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory SoundSeed Air Game Syncs.wwu
index 049dacb51e..efe69cb1a8 100644
--- a/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory SoundSeed Air Game Syncs.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Game Parameters/Factory SoundSeed Air Game Syncs.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Interactive Music Hierarchy/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Interactive Music Hierarchy/Default Work Unit.wwu
index 1086c4511f..e8f4d23bb6 100644
--- a/AutomatedTesting/sounds/wwise_project/Interactive Music Hierarchy/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Interactive Music Hierarchy/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Master-Mixer Hierarchy/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Master-Mixer Hierarchy/Default Work Unit.wwu
index a627ce106e..b6c14df7af 100644
--- a/AutomatedTesting/sounds/wwise_project/Master-Mixer Hierarchy/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Master-Mixer Hierarchy/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
@@ -9,13 +9,15 @@
+
-
+
+
diff --git a/AutomatedTesting/sounds/wwise_project/Metadata/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Metadata/Default Work Unit.wwu
new file mode 100644
index 0000000000..0317c70b7c
--- /dev/null
+++ b/AutomatedTesting/sounds/wwise_project/Metadata/Default Work Unit.wwu
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/AutomatedTesting/sounds/wwise_project/Mixing Sessions/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Mixing Sessions/Default Work Unit.wwu
index 8c62ef9009..c24440febd 100644
--- a/AutomatedTesting/sounds/wwise_project/Mixing Sessions/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Mixing Sessions/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Modulators/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Modulators/Default Work Unit.wwu
index 062f9f80df..dc16200be3 100644
--- a/AutomatedTesting/sounds/wwise_project/Modulators/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Modulators/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Presets/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Presets/Default Work Unit.wwu
index 2bed1c6613..07f7565980 100644
--- a/AutomatedTesting/sounds/wwise_project/Presets/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Presets/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Presets/Factory Reflect.wwu b/AutomatedTesting/sounds/wwise_project/Presets/Factory Reflect.wwu
index 53f828f459..8138f5bcdd 100644
--- a/AutomatedTesting/sounds/wwise_project/Presets/Factory Reflect.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Presets/Factory Reflect.wwu
@@ -1,5 +1,5 @@
-
+
@@ -19,6 +19,7 @@
+
diff --git a/AutomatedTesting/sounds/wwise_project/Presets/Factory Spatial Audio.wwu b/AutomatedTesting/sounds/wwise_project/Presets/Factory Spatial Audio.wwu
index 5b96bd3b29..d73cf8d8c3 100644
--- a/AutomatedTesting/sounds/wwise_project/Presets/Factory Spatial Audio.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Presets/Factory Spatial Audio.wwu
@@ -1,5 +1,5 @@
-
+
@@ -17,6 +17,7 @@
+
diff --git a/AutomatedTesting/sounds/wwise_project/Queries/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Queries/Default Work Unit.wwu
index f4e9f99aa4..ff80573330 100644
--- a/AutomatedTesting/sounds/wwise_project/Queries/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Queries/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Queries/Factory Queries.wwu b/AutomatedTesting/sounds/wwise_project/Queries/Factory Queries.wwu
index 527315de63..813983d789 100644
--- a/AutomatedTesting/sounds/wwise_project/Queries/Factory Queries.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Queries/Factory Queries.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/SoundBanks/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/SoundBanks/Default Work Unit.wwu
index da8fa90010..c12261ab5b 100644
--- a/AutomatedTesting/sounds/wwise_project/SoundBanks/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/SoundBanks/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Soundcaster Sessions/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Soundcaster Sessions/Default Work Unit.wwu
index d6b8329537..379bf37da9 100644
--- a/AutomatedTesting/sounds/wwise_project/Soundcaster Sessions/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Soundcaster Sessions/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/States/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/States/Default Work Unit.wwu
index f27a0d0310..b06937baa9 100644
--- a/AutomatedTesting/sounds/wwise_project/States/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/States/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Switches/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Switches/Default Work Unit.wwu
index 49c00bc378..37fb0b424c 100644
--- a/AutomatedTesting/sounds/wwise_project/Switches/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Switches/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Triggers/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Triggers/Default Work Unit.wwu
index 3b2e2634df..bb2a827d79 100644
--- a/AutomatedTesting/sounds/wwise_project/Triggers/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Triggers/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Default Work Unit.wwu b/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Default Work Unit.wwu
index 29c26cbbab..d10d9475dc 100644
--- a/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Default Work Unit.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Default Work Unit.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Factory Reflect Acoustic Textures.wwu b/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Factory Reflect Acoustic Textures.wwu
index 864f6ba959..ca4a1ae8f2 100644
--- a/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Factory Reflect Acoustic Textures.wwu
+++ b/AutomatedTesting/sounds/wwise_project/Virtual Acoustics/Factory Reflect Acoustic Textures.wwu
@@ -1,5 +1,5 @@
-
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ae8a7a05f8..2ee08a8d16 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,13 +25,37 @@ include(cmake/LySet.cmake)
include(cmake/Version.cmake)
include(cmake/OutputDirectory.cmake)
+# Set the engine_path and engine_json
+set(o3de_engine_path ${CMAKE_CURRENT_LIST_DIR})
+set(o3de_engine_json ${o3de_engine_path}/engine.json)
+
if(NOT PROJECT_NAME)
project(O3DE
LANGUAGES C CXX
VERSION ${LY_VERSION_STRING}
)
+
+ # o3de manifest
+ include(cmake/o3de_manifest.cmake)
endif()
+################################################################################
+# Resolve this engines name and restricted path
+################################################################################
+o3de_engine_name(${o3de_engine_json} o3de_engine_name)
+o3de_restricted_path(${o3de_engine_json} o3de_engine_restricted_path)
+message(STATUS "O3DE Engine Name: ${o3de_engine_name}")
+message(STATUS "O3DE Engine Path: ${o3de_engine_path}")
+if(o3de_engine_restricted_path)
+ message(STATUS "O3DE Engine Restricted Path: ${o3de_engine_restricted_path}")
+endif()
+
+# add the engines cmake folder to the CMAKE_MODULE_PATH
+list(APPEND CMAKE_MODULE_PATH "${o3de_engine_path}/cmake")
+
+################################################################################
+# Initialize
+################################################################################
include(cmake/GeneralSettings.cmake)
include(cmake/FileUtil.cmake)
include(cmake/PAL.cmake)
@@ -60,20 +84,19 @@ include(cmake/Projects.cmake)
if(NOT INSTALLED_ENGINE)
# Add the rest of the targets
add_subdirectory(Code)
- add_subdirectory(Gems)
else()
ly_find_o3de_packages()
endif()
+# Add external subdirectories listed in the manifest
+list(APPEND LY_EXTERNAL_SUBDIRS ${o3de_engine_external_subdirectories})
+
set(enabled_platforms
${PAL_PLATFORM_NAME}
${LY_PAL_TOOLS_ENABLED})
-foreach(restricted_platform ${PAL_RESTRICTED_PLATFORMS})
- if(restricted_platform IN_LIST enabled_platforms)
- add_subdirectory(restricted/${restricted_platform})
- endif()
-endforeach()
+# Add any engine restricted platforms as external subdirs
+o3de_add_engine_restricted_platform_external_subdirs()
if(NOT INSTALLED_ENGINE)
add_subdirectory(scripts)
diff --git a/Code/.p4ignore b/Code/.p4ignore
deleted file mode 100644
index f0b9f1ea6b..0000000000
--- a/Code/.p4ignore
+++ /dev/null
@@ -1,6 +0,0 @@
-#Ignore these directories
-SDKs
-
-#ColinB (8/26)- I know there are depot files that this will ignore... But these files should not be
-#here, they should all be in 3rdParty... so we will ignore them until I can move them, it should
-#be OK for now because they shouldn't change at all anyway.
diff --git a/Code/CryEngine/CryCommon/AABBSV.h b/Code/CryEngine/CryCommon/AABBSV.h
deleted file mode 100644
index 4c1c277e35..0000000000
--- a/Code/CryEngine/CryCommon/AABBSV.h
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-// Description : shadow volume AABB functionality for overlap testings
-
-
-#ifndef CRYINCLUDE_CRYCOMMON_AABBSV_H
-#define CRYINCLUDE_CRYCOMMON_AABBSV_H
-#pragma once
-
-#include "Cry_Geo.h"
-
-struct Shadowvolume
-{
- uint32 sideamount;
- uint32 nplanes;
-
- Plane oplanes[10];
-};
-
-namespace NAABB_SV
-{
- //***************************************************************************************
- //***************************************************************************************
- //*** Calculate a ShadowVolume using an AABB and a point-light ***
- //***************************************************************************************
- //*** The planes of the AABB facing away from the point-light are the far-planes ***
- //*** of the ShadowVolume. There can be 3-6 far-planes. ***
- //***************************************************************************************
- void AABB_ReceiverShadowVolume(const Vec3& PointLight, const AABB& Occluder, Shadowvolume& sv);
-
- //***************************************************************************************
- //***************************************************************************************
- //*** Calculate a ShadowVolume using an AABB and a point-light ***
- //***************************************************************************************
- //*** The planes of the AABB facing the point-light are the near-planes of the ***
- //*** the ShadowVolume. There can be 1-3 near-planes. ***
- //*** The far-plane is defined by lightrange. ***
- //***************************************************************************************
- void AABB_ShadowVolume(const Vec3& PointLight, const AABB& Occluder, Shadowvolume& sv, f32 lightrange);
-
- //***************************************************************************************
- //*** this is the "fast" version to check if an AABB is overlapping a shadowvolume ***
- //***************************************************************************************
- bool Is_AABB_In_ShadowVolume(const Shadowvolume& sv, const AABB& Receiver);
-
- //***************************************************************************************
- //*** this is the "hierarchical" check ***
- //***************************************************************************************
- char Is_AABB_In_ShadowVolume_hierarchical(const Shadowvolume& sv, const AABB& Receiver);
-}
-
-
-
-
-
-inline void NAABB_SV::AABB_ReceiverShadowVolume(const Vec3& PointLight, const AABB& Occluder, Shadowvolume& sv)
-{
- sv.sideamount = 0;
- sv.nplanes = 0;
-
- //------------------------------------------------------------------------------
- //-- check if PointLight is in front of any occluder plane or inside occluder --
- //------------------------------------------------------------------------------
- uint32 front = 0;
- if (PointLight.x < Occluder.min.x)
- {
- front |= 0x01;
- }
- if (PointLight.x > Occluder.max.x)
- {
- front |= 0x02;
- }
- if (PointLight.y < Occluder.min.y)
- {
- front |= 0x04;
- }
- if (PointLight.y > Occluder.max.y)
- {
- front |= 0x08;
- }
- if (PointLight.z < Occluder.min.z)
- {
- front |= 0x10;
- }
- if (PointLight.z > Occluder.max.z)
- {
- front |= 0x20;
- }
-
- sv.sideamount = BoxSides[(front << 3) + 7];
-
- uint32 back = front ^ 0x3f;
- if (back & 0x01)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(-1, +0, +0), Occluder.min);
- sv.nplanes++;
- }
- if (back & 0x02)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+1, +0, +0), Occluder.max);
- sv.nplanes++;
- }
- if (back & 0x04)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, -1, +0), Occluder.min);
- sv.nplanes++;
- }
- if (back & 0x08)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, +1, +0), Occluder.max);
- sv.nplanes++;
- }
- if (back & 0x10)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, +0, -1), Occluder.min);
- sv.nplanes++;
- }
- if (back & 0x20)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, +0, +1), Occluder.max);
- sv.nplanes++;
- }
-
- if (front == 0)
- {
- return; //light is inside occluder
- }
- //all 8 vertices of a AABB
- Vec3 o[8] =
- {
- Vec3(Occluder.min.x, Occluder.min.y, Occluder.min.z),
- Vec3(Occluder.max.x, Occluder.min.y, Occluder.min.z),
- Vec3(Occluder.min.x, Occluder.max.y, Occluder.min.z),
- Vec3(Occluder.max.x, Occluder.max.y, Occluder.min.z),
- Vec3(Occluder.min.x, Occluder.min.y, Occluder.max.z),
- Vec3(Occluder.max.x, Occluder.min.y, Occluder.max.z),
- Vec3(Occluder.min.x, Occluder.max.y, Occluder.max.z),
- Vec3(Occluder.max.x, Occluder.max.y, Occluder.max.z)
- };
-
- //---------------------------------------------------------------------
- //--- find the silhouette-vertices of the occluder-AABB ---
- //---------------------------------------------------------------------
- uint32 p0 = BoxSides[(front << 3) + 0];
- uint32 p1 = BoxSides[(front << 3) + 1];
- uint32 p2 = BoxSides[(front << 3) + 2];
- uint32 p3 = BoxSides[(front << 3) + 3];
- uint32 p4 = BoxSides[(front << 3) + 4];
- uint32 p5 = BoxSides[(front << 3) + 5];
-
- float a;
- if (sv.sideamount == 4)
- {
- //sv.oplanes[sv.nplanes+0] = Plane::CreatePlane( o[p0],o[p1], PointLight );
- //sv.oplanes[sv.nplanes+1] = Plane::CreatePlane( o[p1],o[p2], PointLight );
- //sv.oplanes[sv.nplanes+2] = Plane::CreatePlane( o[p2],o[p3], PointLight );
- //sv.oplanes[sv.nplanes+3] = Plane::CreatePlane( o[p3],o[p0], PointLight );
- sv.sideamount = 0;
- a = (o[p1] - o[p0]) | (o[p0] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p0], o[p1], PointLight);
- sv.sideamount++;
- }
- a = (o[p2] - o[p1]) | (o[p1] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p1], o[p2], PointLight);
- sv.sideamount++;
- }
- a = (o[p3] - o[p2]) | (o[p2] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p2], o[p3], PointLight);
- sv.sideamount++;
- }
- a = (o[p0] - o[p3]) | (o[p3] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p3], o[p0], PointLight);
- sv.sideamount++;
- }
- }
-
- if (sv.sideamount == 6)
- {
- //sv.oplanes[sv.nplanes+0] = Plane::CreatePlane( o[p0],o[p1], PointLight );
- //sv.oplanes[sv.nplanes+1] = Plane::CreatePlane( o[p1],o[p2], PointLight );
- //sv.oplanes[sv.nplanes+2] = Plane::CreatePlane( o[p2],o[p3], PointLight );
- //sv.oplanes[sv.nplanes+3] = Plane::CreatePlane( o[p3],o[p4], PointLight );
- //sv.oplanes[sv.nplanes+4] = Plane::CreatePlane( o[p4],o[p5], PointLight );
- //sv.oplanes[sv.nplanes+5] = Plane::CreatePlane( o[p5],o[p0], PointLight );
-
- sv.sideamount = 0;
- a = (o[p1] - o[p0]) | (o[p0] - PointLight);
- assert(sv.nplanes + sv.sideamount < 10);
- PREFAST_ASSUME(sv.nplanes + sv.sideamount < 10);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p0], o[p1], PointLight);
- sv.sideamount++;
- }
- a = (o[p2] - o[p1]) | (o[p1] - PointLight);
- assert(sv.nplanes + sv.sideamount < 10);
- PREFAST_ASSUME(sv.nplanes + sv.sideamount < 10);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p1], o[p2], PointLight);
- sv.sideamount++;
- }
- a = (o[p3] - o[p2]) | (o[p2] - PointLight);
- assert(sv.nplanes + sv.sideamount < 10);
- PREFAST_ASSUME(sv.nplanes + sv.sideamount < 10);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p2], o[p3], PointLight);
- sv.sideamount++;
- }
- a = (o[p4] - o[p3]) | (o[p3] - PointLight);
- assert(sv.nplanes + sv.sideamount < 10);
- PREFAST_ASSUME(sv.nplanes + sv.sideamount < 10);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p3], o[p4], PointLight);
- sv.sideamount++;
- }
- a = (o[p5] - o[p4]) | (o[p4] - PointLight);
- assert(sv.nplanes + sv.sideamount < 10);
- PREFAST_ASSUME(sv.nplanes + sv.sideamount < 10);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p4], o[p5], PointLight);
- sv.sideamount++;
- }
- a = (o[p0] - o[p5]) | (o[p5] - PointLight);
- assert(sv.nplanes + sv.sideamount < 10);
- PREFAST_ASSUME(sv.nplanes + sv.sideamount < 10);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p5], o[p0], PointLight);
- sv.sideamount++;
- }
- }
-}
-
-inline void NAABB_SV::AABB_ShadowVolume(const Vec3& PointLight, const AABB& Occluder, Shadowvolume& sv, f32 lightrange)
-{
- sv.sideamount = 0;
- sv.nplanes = 0;
-
- //------------------------------------------------------------------------------
- //-- check if PointLight is in front of any occluder plane or inside occluder --
- //------------------------------------------------------------------------------
- uint32 front = 0;
- if (PointLight.x < Occluder.min.x)
- {
- front |= 0x01;
- }
- if (PointLight.x > Occluder.max.x)
- {
- front |= 0x02;
- }
- if (PointLight.y < Occluder.min.y)
- {
- front |= 0x04;
- }
- if (PointLight.y > Occluder.max.y)
- {
- front |= 0x08;
- }
- if (PointLight.z < Occluder.min.z)
- {
- front |= 0x10;
- }
- if (PointLight.z > Occluder.max.z)
- {
- front |= 0x20;
- }
- if (front == 0)
- {
- return; //light is inside occluder
- }
- sv.sideamount = BoxSides[(front << 3) + 7];
-
- if (front & 0x01)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(-1, +0, +0), Occluder.min);
- sv.nplanes++;
- }
- if (front & 0x02)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+1, +0, +0), Occluder.max);
- sv.nplanes++;
- }
- if (front & 0x04)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, -1, +0), Occluder.min);
- sv.nplanes++;
- }
- if (front & 0x08)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, +1, +0), Occluder.max);
- sv.nplanes++;
- }
- if (front & 0x10)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, +0, -1), Occluder.min);
- sv.nplanes++;
- }
- if (front & 0x20)
- {
- sv.oplanes[sv.nplanes].SetPlane(Vec3(+0, +0, +1), Occluder.max);
- sv.nplanes++;
- }
-
- //all 8 vertices of a AABB
- Vec3 o[8] =
- {
- Vec3(Occluder.min.x, Occluder.min.y, Occluder.min.z),
- Vec3(Occluder.max.x, Occluder.min.y, Occluder.min.z),
- Vec3(Occluder.min.x, Occluder.max.y, Occluder.min.z),
- Vec3(Occluder.max.x, Occluder.max.y, Occluder.min.z),
- Vec3(Occluder.min.x, Occluder.min.y, Occluder.max.z),
- Vec3(Occluder.max.x, Occluder.min.y, Occluder.max.z),
- Vec3(Occluder.min.x, Occluder.max.y, Occluder.max.z),
- Vec3(Occluder.max.x, Occluder.max.y, Occluder.max.z)
- };
-
- //---------------------------------------------------------------------
- //--- find the silhouette-vertices of the occluder-AABB ---
- //---------------------------------------------------------------------
- uint32 p0 = BoxSides[(front << 3) + 0];
- uint32 p1 = BoxSides[(front << 3) + 1];
- uint32 p2 = BoxSides[(front << 3) + 2];
- uint32 p3 = BoxSides[(front << 3) + 3];
- uint32 p4 = BoxSides[(front << 3) + 4];
- uint32 p5 = BoxSides[(front << 3) + 5];
-
- //the new center-position in world-space
- Vec3 MiddleOfOccluder = (Occluder.max + Occluder.min) * 0.5f;
- sv.oplanes[sv.nplanes] = Plane::CreatePlane((MiddleOfOccluder - PointLight).GetNormalized(), (MiddleOfOccluder - PointLight).GetNormalized() * lightrange + PointLight);
- sv.nplanes++;
-
- float a;
- if (sv.sideamount == 4)
- {
- sv.sideamount = 0;
- a = (o[p1] - o[p0]) | (o[p0] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p0], o[p1], PointLight);
- sv.sideamount++;
- }
- a = (o[p2] - o[p1]) | (o[p1] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p1], o[p2], PointLight);
- sv.sideamount++;
- }
- a = (o[p3] - o[p2]) | (o[p2] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p2], o[p3], PointLight);
- sv.sideamount++;
- }
- a = (o[p0] - o[p3]) | (o[p3] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p3], o[p0], PointLight);
- sv.sideamount++;
- }
- }
-
- if (sv.sideamount == 6)
- {
- sv.sideamount = 0;
- a = (o[p1] - o[p0]) | (o[p0] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p0], o[p1], PointLight);
- sv.sideamount++;
- }
- a = (o[p2] - o[p1]) | (o[p1] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p1], o[p2], PointLight);
- sv.sideamount++;
- }
- a = (o[p3] - o[p2]) | (o[p2] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p2], o[p3], PointLight);
- sv.sideamount++;
- }
- a = (o[p4] - o[p3]) | (o[p3] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p3], o[p4], PointLight);
- sv.sideamount++;
- }
- a = (o[p5] - o[p4]) | (o[p4] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p4], o[p5], PointLight);
- sv.sideamount++;
- }
- a = (o[p0] - o[p5]) | (o[p5] - PointLight);
- if (a)
- {
- sv.oplanes[sv.nplanes + sv.sideamount] = Plane::CreatePlane(o[p5], o[p0], PointLight);
- sv.sideamount++;
- }
- }
-}
-
-inline bool NAABB_SV::Is_AABB_In_ShadowVolume(const Shadowvolume& sv, const AABB& Receiver)
-{
- uint32 pa = sv.sideamount + sv.nplanes;
-
- f32 d;
- const Vec3* pAABB = &Receiver.min;
-
- union f32_u
- {
- float floatVal;
- uint32 uintVal;
- };
-
- //------------------------------------------------------------------------------
- //---- check if receiver-AABB is in front of any of these planes ------
- //------------------------------------------------------------------------------
- for (uint32 x = 0; x < pa; x++)
- {
- d = sv.oplanes[x].d;
-
- //avoid breaking strict aliasing rules
- f32_u ux;
- ux.floatVal = sv.oplanes[x].n.x;
- f32_u uy;
- uy.floatVal = sv.oplanes[x].n.y;
- f32_u uz;
- uz.floatVal = sv.oplanes[x].n.z;
- const uint32 bitX = ux.uintVal >> 31;
- const uint32 bitY = uy.uintVal >> 31;
- const uint32 bitZ = uz.uintVal >> 31;
-
- d += sv.oplanes[x].n.x * pAABB[bitX].x;
- d += sv.oplanes[x].n.y * pAABB[bitY].y;
- d += sv.oplanes[x].n.z * pAABB[bitZ].z;
- if (d > 0)
- {
- return CULL_EXCLUSION;
- }
- }
- return CULL_OVERLAP;
-}
-
-inline char NAABB_SV::Is_AABB_In_ShadowVolume_hierarchical(const Shadowvolume& sv, const AABB& Receiver)
-{
- uint32 pa = sv.sideamount + sv.nplanes;
- const Vec3* pAABB = &Receiver.min;
-
- f32 dot1, dot2;
- uint32 notOverlap = 0x80000000; // will be reset to 0 if there's at least one overlapping
-
- union f32_u
- {
- float floatVal;
- uint32 uintVal;
- };
-
- //------------------------------------------------------------------------------
- //---- check if receiver-AABB is in front of any of these planes ------
- //------------------------------------------------------------------------------
- for (uint32 x = 0; x < pa; x++)
- {
- dot1 = dot2 = sv.oplanes[x].d;
-
- //avoid breaking strict aliasing rules
- f32_u ux;
- ux.floatVal = sv.oplanes[x].n.x;
- f32_u uy;
- uy.floatVal = sv.oplanes[x].n.y;
- f32_u uz;
- uz.floatVal = sv.oplanes[x].n.z;
- const uint32 bitX = ux.uintVal >> 31;
- const uint32 bitY = uy.uintVal >> 31;
- const uint32 bitZ = uz.uintVal >> 31;
-
- dot1 += sv.oplanes[x].n.x * pAABB[0 + bitX].x;
- dot2 += sv.oplanes[x].n.x * pAABB[1 - bitX].x;
- dot1 += sv.oplanes[x].n.y * pAABB[0 + bitY].y;
- dot2 += sv.oplanes[x].n.y * pAABB[1 - bitY].y;
- dot1 += sv.oplanes[x].n.z * pAABB[0 + bitZ].z;
- dot2 += sv.oplanes[x].n.z * pAABB[1 - bitZ].z;
- PREFAST_SUPPRESS_WARNING(6001) f32_u d;
- d.floatVal = dot1;
- if (!(d.uintVal & 0x80000000))
- {
- return CULL_EXCLUSION;
- }
- PREFAST_SUPPRESS_WARNING(6001) f32_u d2;
- d2.floatVal = dot2;
- notOverlap &= d2.uintVal;
- }
- if (notOverlap)
- {
- return CULL_INCLUSION;
- }
- return CULL_OVERLAP;
-}
-
-#endif // CRYINCLUDE_CRYCOMMON_AABBSV_H
-
diff --git a/Code/CryEngine/CryCommon/Algorithm.h b/Code/CryEngine/CryCommon/Algorithm.h
deleted file mode 100644
index 554fe7f507..0000000000
--- a/Code/CryEngine/CryCommon/Algorithm.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-#ifndef CRYINCLUDE_CRYCOMMON_ALGORITHM_H
-#define CRYINCLUDE_CRYCOMMON_ALGORITHM_H
-#pragma once
-//short hand for using stl algorithms. same syntax (from users perspective) of c++17 range library. Only the shorthand algorithms from range library(N4128) though.
-//Not all algorithms are covered. Add any as you need them. It would be a fair amount of work to add them all, so I'm just adding them as needed.
-//Note Android doesn't have non member cbegin and cend yet.
-
-#include
-#include
-#include
-
-namespace std17
-{
- template
- void for_each(const Container& con, Callable callable)
- {
- std::for_each(begin(con), end(con), callable);
- }
-
- template
- bool any_of(const Container& con, UnaryPredicate pred)
- {
- return std::any_of(begin(con), end(con), pred);
- }
-
- template
- bool all_of(const Container& con, UnaryPredicate pred)
- {
- return std::all_of(begin(con), end(con), pred);
- }
-
- template
- bool none_of(const Container& con, UnaryPredicate pred)
- {
- return std::none_of(begin(con), end(con), pred);
- }
-
- template
- typename Container::iterator find_if(Container& con, UnaryPredicate pred)
- {
- return std::find_if(begin(con), end(con), pred);
- }
-
- template
- T accumulate(const Container& con, T init)
- {
- return std::accumulate(begin(con), end(con), init);
- }
-
- template
- T accumulate(const Container& con, T init, BinaryOperation binary_op)
- {
- return std::accumulate(begin(con), end(con), init, binary_op);
- }
-
- template
- auto count_if(const Container&con, UnaryPredicate pred)->decltype(std::count_if(begin(con), end(con), pred))
- {
- return std::count_if(begin(con), end(con), pred);
- }
-}
-
-#endif // CRYINCLUDE_CRYCOMMON_ALGORITHM_H
diff --git a/Code/CryEngine/CryCommon/Allocator.h b/Code/CryEngine/CryCommon/Allocator.h
deleted file mode 100644
index 682de1e862..0000000000
--- a/Code/CryEngine/CryCommon/Allocator.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef CRYINCLUDE_CRYCOMMON_ALLOCATOR_H
-#define CRYINCLUDE_CRYCOMMON_ALLOCATOR_H
-#pragma once
-
-#include "CryMemoryAllocator.h"
-
-////////////////////////////////////////////////////////////////////////
-// Allocator default implementation
-
-struct StdAllocator
-{
- // Class-specific alloc/free/size functions. Use aligned versions only when necessary.
- template
- static void* Allocate(T*& p)
- {
- return p = NeedAlign() ?
- (T*)CryModuleMemalign(sizeof(T), alignof(T)) :
- (T*)CryModuleMalloc(sizeof(T));
- }
-
- template
- static void Deallocate(T* p)
- {
- if (NeedAlign())
- {
- CryModuleMemalignFree(p);
- }
- else
- {
- CryModuleFree(p);
- }
- }
-
- template
- static size_t GetMemSize(const T* p)
- {
- return NeedAlign() ?
- sizeof(T) + alignof(T) :
- sizeof(T);
- }
-
- template
- void GetMemoryUsage(ICrySizer* pSizer) const { /*nothing*/}
-protected:
-
- template
- static bool NeedAlign()
- { PREFAST_SUPPRESS_WARNING(6326); return alignof(T) > _ALIGNMENT; }
-};
-
-// Handy delete template function, for any allocator.
-template
-void Delete(TAlloc& alloc, T* ptr)
-{
- if (ptr)
- {
- ptr->~T();
- alloc.Deallocate(ptr);
- }
-}
-
-#endif // CRYINCLUDE_CRYCOMMON_ALLOCATOR_H
diff --git a/Code/CryEngine/CryCommon/AnimTime.h b/Code/CryEngine/CryCommon/AnimTime.h
deleted file mode 100644
index 8bd0b9d442..0000000000
--- a/Code/CryEngine/CryCommon/AnimTime.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef __animtime_h__
-#define __animtime_h__
-
-#include
-#include
-#include
-
-struct SAnimTime
-{
- static const uint numTicksPerSecond = 6000;
-
- // List of possible frame rates (dividers of 6000). Most commonly used ones first.
- enum EFrameRate
- {
- // Common
- eFrameRate_30fps, eFrameRate_60fps, eFrameRate_120fps,
-
- // Possible
- eFrameRate_10fps, eFrameRate_12fps, eFrameRate_15fps, eFrameRate_24fps,
- eFrameRate_25fps, eFrameRate_40fps, eFrameRate_48fps, eFrameRate_50fps,
- eFrameRate_75fps, eFrameRate_80fps, eFrameRate_100fps, eFrameRate_125fps,
- eFrameRate_150fps, eFrameRate_200fps, eFrameRate_240fps, eFrameRate_250fps,
- eFrameRate_300fps, eFrameRate_375fps, eFrameRate_400fps, eFrameRate_500fps,
- eFrameRate_600fps, eFrameRate_750fps, eFrameRate_1000fps, eFrameRate_1200fps,
- eFrameRate_1500fps, eFrameRate_2000fps, eFrameRate_3000fps, eFrameRate_6000fps,
-
- eFrameRate_Num
- };
-
- SAnimTime()
- : m_ticks(0) {}
- explicit SAnimTime(int32 ticks)
- : m_ticks(ticks) {}
- explicit SAnimTime(float time)
- : m_ticks(aznumeric_caster(std::lround(static_cast(time) * numTicksPerSecond))) {}
-
- static uint GetFrameRateValue(EFrameRate frameRate)
- {
- const uint frameRateValues[eFrameRate_Num] =
- {
- // Common
- 30, 60, 120,
-
- // Possible
- 10, 12, 15, 24, 25, 40, 48, 50, 75, 80, 100, 125,
- 150, 200, 240, 250, 300, 375, 400, 500, 600, 750,
- 1000, 1200, 1500, 2000, 3000, 6000
- };
-
- return frameRateValues[frameRate];
- }
-
- static const char* GetFrameRateName(EFrameRate frameRate)
- {
- const char* frameRateNames[eFrameRate_Num] =
- {
- // Common
- "30 fps", "60 fps", "120 fps",
-
- // Possible
- "10 fps", "12 fps", "15 fps", "24 fps",
- "25 fps", "40 fps", "48 fps", "50 fps",
- "75 fps", "80 fps", "100 fps", "125 fps",
- "150 fps", "200 fps", "240 fps", "250 fps",
- "300 fps", "375 fps", "400 fps", "500 fps",
- "600 fps", "750 fps", "1000 fps", "1200 fps",
- "1500 fps", "2000 fps", "3000 fps", "6000 fps"
- };
-
- return frameRateNames[frameRate];
- }
-
- float ToFloat() const { return static_cast(m_ticks) / numTicksPerSecond; }
-
- void Serialize(Serialization::IArchive& ar)
- {
- ar(m_ticks, "ticks", "Ticks");
- }
-
- // Helper to serialize from ticks or old float time
- void Serialize(XmlNodeRef keyNode, bool bLoading, const char* pName, const char* pLegacyName)
- {
- if (bLoading)
- {
- int32 ticks;
- if (!keyNode->getAttr(pName, ticks))
- {
- // Backwards compatibility
- float time = 0.0f;
- keyNode->getAttr(pLegacyName, time);
- *this = SAnimTime(time);
- }
- else
- {
- m_ticks = ticks;
- }
- }
- else if (m_ticks > 0)
- {
- keyNode->setAttr(pName, m_ticks);
- }
- }
-
- int32 GetTicks() const { return m_ticks; }
-
- static SAnimTime Min() { SAnimTime minTime; minTime.m_ticks = std::numeric_limits::lowest(); return minTime; }
- static SAnimTime Max() { SAnimTime maxTime; maxTime.m_ticks = (std::numeric_limits::max)(); return maxTime; }
-
- SAnimTime operator-() const { return SAnimTime(-m_ticks); }
- SAnimTime operator-(SAnimTime r) const { SAnimTime temp = *this; temp.m_ticks -= r.m_ticks; return temp; }
- SAnimTime operator+(SAnimTime r) const { SAnimTime temp = *this; temp.m_ticks += r.m_ticks; return temp; }
- SAnimTime operator*(SAnimTime r) const { SAnimTime temp = *this; temp.m_ticks *= r.m_ticks; return temp; }
- SAnimTime operator/(SAnimTime r) const { SAnimTime temp; temp.m_ticks = static_cast((static_cast(m_ticks) * numTicksPerSecond) / r.m_ticks); return temp; }
- SAnimTime operator%(SAnimTime r) const { SAnimTime temp = *this; temp.m_ticks %= r.m_ticks; return temp; }
- SAnimTime operator*(float r) const { SAnimTime temp; temp.m_ticks = aznumeric_caster(std::lround(static_cast(m_ticks) * r)); return temp; }
- SAnimTime operator/(float r) const { SAnimTime temp; temp.m_ticks = aznumeric_caster(std::lround(static_cast(m_ticks) / r)); return temp; }
- SAnimTime& operator+=(SAnimTime r) { *this = *this + r; return *this; }
- SAnimTime& operator-=(SAnimTime r) { *this = *this - r; return *this; }
- SAnimTime& operator*=(SAnimTime r) { *this = *this * r; return *this; }
- SAnimTime& operator/=(SAnimTime r) { *this = *this / r; return *this; }
- SAnimTime& operator%=(SAnimTime r) { *this = *this % r; return *this; }
- SAnimTime& operator*=(float r) { *this = *this * r; return *this; }
- SAnimTime& operator/=(float r) { *this = *this / r; return *this; }
-
- bool operator<(SAnimTime r) const { return m_ticks < r.m_ticks; }
- bool operator<=(SAnimTime r) const { return m_ticks <= r.m_ticks; }
- bool operator>(SAnimTime r) const { return m_ticks > r.m_ticks; }
- bool operator>=(SAnimTime r) const { return m_ticks >= r.m_ticks; }
- bool operator==(SAnimTime r) const { return m_ticks == r.m_ticks; }
- bool operator!=(SAnimTime r) const { return m_ticks != r.m_ticks; }
-
- // Snap to nearest multiple of given frame rate
- SAnimTime SnapToNearest(const EFrameRate frameRate)
- {
- const int sign = sgn(m_ticks);
- const int32 absTicks = abs(m_ticks);
-
- const int framesMod = numTicksPerSecond / GetFrameRateValue(frameRate);
- const int32 remainder = absTicks % framesMod;
- const bool bNextMultiple = remainder >= (framesMod / 2);
- return SAnimTime(sign * ((absTicks - remainder) + (bNextMultiple ? framesMod : 0)));
- }
-
-private:
- int32 m_ticks;
-
- friend bool Serialize(Serialization::IArchive& ar, SAnimTime& animTime, const char* name, const char* label);
-};
-
-inline bool Serialize(Serialization::IArchive& ar, SAnimTime& animTime, const char* name, const char* label)
-{
- return ar(animTime.m_ticks, name, label);
-}
-
-inline SAnimTime abs(SAnimTime time)
-{
- return (time >= SAnimTime(0)) ? time : -time;
-}
-
-#endif
diff --git a/Code/CryEngine/CryCommon/Bezier.h b/Code/CryEngine/CryCommon/Bezier.h
deleted file mode 100644
index fa1cf60d49..0000000000
--- a/Code/CryEngine/CryCommon/Bezier.h
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef __BEZIER_H__
-#define __BEZIER_H__
-
-#include
-#include
-#include
-
-struct SBezierControlPoint
-{
- SBezierControlPoint()
- : m_value(0.0f)
- , m_inTangent(ZERO)
- , m_outTangent(ZERO)
- , m_inTangentType(eTangentType_Auto)
- , m_outTangentType(eTangentType_Auto)
- , m_bBreakTangents(false)
- {
- }
-
- enum ETangentType
- {
- eTangentType_Custom,
- eTangentType_Auto,
- eTangentType_Zero,
- eTangentType_Step,
- eTangentType_Linear,
- };
-
- void Serialize(Serialization::IArchive& ar)
- {
- ar(m_value, "value", "Value");
-
- if (ar.IsOutput())
- {
- bool breakTangents = m_bBreakTangents;
- ar(breakTangents, "breakTangents", "Break Tangents");
- }
- else
- {
- bool breakTangents = false;
- ar(breakTangents, "breakTangents", "Break Tangents");
- m_bBreakTangents = breakTangents;
- }
-
- if (ar.IsOutput())
- {
- ETangentType inTangentType = m_inTangentType;
- ar(inTangentType, "inTangentType", "Incoming tangent type");
- }
- else
- {
- ETangentType inTangentType = eTangentType_Auto;
- ar(inTangentType, "inTangentType", "Incoming tangent type");
- m_inTangentType = inTangentType;
- }
-
- ar(m_inTangent, "inTangent", (m_inTangentType == eTangentType_Custom) ? "Incoming Tangent" : NULL);
-
- if (ar.IsOutput())
- {
- ETangentType outTangentType = m_outTangentType;
- ar(outTangentType, "outTangentType", "Outgoing tangent type");
- }
- else
- {
- ETangentType outTangentType = eTangentType_Auto;
- ar(outTangentType, "outTangentType", "Outgoing tangent type");
- m_outTangentType = outTangentType;
- }
-
- ar(m_outTangent, "outTangent", (m_outTangentType == eTangentType_Custom) ? "Outgoing Tangent" : NULL);
- }
-
- float m_value;
-
- // For 1D Bezier only the Y component is used
- Vec2 m_inTangent;
- Vec2 m_outTangent;
-
- ETangentType m_inTangentType : 4;
- ETangentType m_outTangentType : 4;
- bool m_bBreakTangents : 1;
-};
-
-struct SBezierKey
-{
- SBezierKey()
- : m_time(0) {}
-
- void Serialize(Serialization::IArchive& ar)
- {
- ar(m_time, "time", "Time");
- ar(m_controlPoint, "controlPoint", "Control Point");
- }
-
- SAnimTime m_time;
- SBezierControlPoint m_controlPoint;
-};
-
-namespace Bezier
-{
- inline float Evaluate(float t, float p0, float p1, float p2, float p3)
- {
- const float a = 1 - t;
- const float aSq = a * a;
- const float tSq = t * t;
- return (aSq * a * p0) + (3.0f * aSq * t * p1) + (3.0f * a * tSq * p2) + (tSq * t * p3);
- }
-
- inline float EvaluateDeriv(float t, float p0, float p1, float p2, float p3)
- {
- const float a = 1 - t;
- const float ta = t * a;
- const float aSq = a * a;
- const float tSq = t * t;
- return 3.0f * ((-p2 * tSq) + (p3 * tSq) - (p0 * aSq) + (p1 * aSq) + 2.0f * ((-p1 * ta) + (p2 * ta)));
- }
-
- inline float EvaluateX(const float t, const float duration, const SBezierControlPoint& start, const SBezierControlPoint& end)
- {
- const float p0 = 0.0f;
- const float p1 = p0 + start.m_outTangent.x;
- const float p3 = duration;
- const float p2 = p3 + end.m_inTangent.x;
- return Evaluate(t, p0, p1, p2, p3);
- }
-
- inline float EvaluateY(const float t, const SBezierControlPoint& start, const SBezierControlPoint& end)
- {
- const float p0 = start.m_value;
- const float p1 = p0 + start.m_outTangent.y;
- const float p3 = end.m_value;
- const float p2 = p3 + end.m_inTangent.y;
- return Evaluate(t, p0, p1, p2, p3);
- }
-
- // Duration = (time at end key) - (time at start key)
- inline float EvaluateDerivX(const float t, const float duration, const SBezierControlPoint& start, const SBezierControlPoint& end)
- {
- const float p0 = 0.0f;
- const float p1 = p0 + start.m_outTangent.x;
- const float p3 = duration;
- const float p2 = p3 + end.m_inTangent.x;
- return EvaluateDeriv(t, p0, p1, p2, p3);
- }
-
- inline float EvaluateDerivY(const float t, const SBezierControlPoint& start, const SBezierControlPoint& end)
- {
- const float p0 = start.m_value;
- const float p1 = p0 + start.m_outTangent.y;
- const float p3 = end.m_value;
- const float p2 = p3 + end.m_inTangent.y;
- return EvaluateDeriv(t, p0, p1, p2, p3);
- }
-
- // Find interpolation factor where 2D bezier curve has the given x value. Works only for curves where x is monotonically increasing.
- // The passed x must be in range [0, duration]. Uses the Newton-Raphson root finding method. Usually takes 2 or 3 iterations.
- //
- // Note: This is for "1D" 2D bezier curves as used in TrackView. The curves are restricted by the curve editor to be monotonically increasing.
- //
- inline float InterpolationFactorFromX(const float x, const float duration, const SBezierControlPoint& start, const SBezierControlPoint& end)
- {
- float t = (x / duration);
-
- const float epsilon = 0.00001f;
- const uint maxSteps = 10;
-
- for (uint i = 0; i < maxSteps; ++i)
- {
- const float currentX = EvaluateX(t, duration, start, end) - x;
- if (fabs(currentX) <= epsilon)
- {
- break;
- }
-
- const float currentXDeriv = EvaluateDerivX(t, duration, start, end);
- t -= currentX / currentXDeriv;
- }
-
- return t;
- }
-
- inline SBezierControlPoint CalculateInTangent(
- float time, const SBezierControlPoint& point,
- float leftTime, const SBezierControlPoint* pLeftPoint,
- float rightTime, const SBezierControlPoint* pRightPoint)
- {
- SBezierControlPoint newPoint = point;
-
- // In tangent X can never be positive
- newPoint.m_inTangent.x = std::min(point.m_inTangent.x, 0.0f);
-
- if (pLeftPoint)
- {
- switch (point.m_inTangentType)
- {
- case SBezierControlPoint::eTangentType_Custom:
- {
- // Need to clamp tangent if it is reaching over last point
- const float deltaTime = time - leftTime;
- if (deltaTime < -newPoint.m_inTangent.x)
- {
- if (newPoint.m_inTangent.x == 0)
- {
- newPoint.m_inTangent = Vec2(ZERO);
- }
- else
- {
- float scaleFactor = deltaTime / -newPoint.m_inTangent.x;
- newPoint.m_inTangent.x = -deltaTime;
- newPoint.m_inTangent.y *= scaleFactor;
- }
- }
- }
- break;
- case SBezierControlPoint::eTangentType_Zero:
- // Fall through. Zero for y is same as Auto, x is set to 0.0f
- case SBezierControlPoint::eTangentType_Auto:
- {
- const SBezierControlPoint& rightPoint = pRightPoint ? *pRightPoint : point;
- const float deltaTime = (pRightPoint ? rightTime : time) - leftTime;
- if (deltaTime > 0.0f)
- {
- const float ratio = (time - leftTime) / deltaTime;
- const float deltaValue = rightPoint.m_value - pLeftPoint->m_value;
- const bool bIsZeroTangent = (point.m_inTangentType == SBezierControlPoint::eTangentType_Zero);
- newPoint.m_inTangent = Vec2(-(deltaTime * ratio) / 3.0f, bIsZeroTangent ? 0.0f : -(deltaValue * ratio) / 3.0f);
- }
- else
- {
- newPoint.m_inTangent = Vec2(ZERO);
- }
- }
- break;
- case SBezierControlPoint::eTangentType_Linear:
- newPoint.m_inTangent = Vec2((leftTime - time) / 3.0f,
- (pLeftPoint->m_value - point.m_value) / 3.0f);
- break;
- }
- }
-
- return newPoint;
- }
-
- inline SBezierControlPoint CalculateOutTangent(
- float time, const SBezierControlPoint& point,
- float leftTime, const SBezierControlPoint* pLeftPoint,
- float rightTime, const SBezierControlPoint* pRightPoint)
- {
- SBezierControlPoint newPoint = point;
-
- // Out tangent X can never be negative
- newPoint.m_outTangent.x = std::max(point.m_outTangent.x, 0.0f);
-
- if (pRightPoint)
- {
- switch (point.m_outTangentType)
- {
- case SBezierControlPoint::eTangentType_Custom:
- {
- // Need to clamp tangent if it is reaching over next point
- const float deltaTime = rightTime - time;
- if (deltaTime < newPoint.m_outTangent.x)
- {
- if (newPoint.m_outTangent.x == 0)
- {
- newPoint.m_outTangent = Vec2(ZERO);
- }
- else
- {
- float scaleFactor = deltaTime / newPoint.m_outTangent.x;
- newPoint.m_outTangent.x = deltaTime;
- newPoint.m_outTangent.y *= scaleFactor;
- }
- }
- }
- break;
- case SBezierControlPoint::eTangentType_Zero:
- // Fall through. Zero for y is same as Auto, x is set to 0.0f
- case SBezierControlPoint::eTangentType_Auto:
- {
- const SBezierControlPoint& leftPoint = pLeftPoint ? *pLeftPoint : point;
- const float deltaTime = rightTime - (pLeftPoint ? leftTime : time);
- if (deltaTime > 0.0f)
- {
- const float ratio = (rightTime - time) / deltaTime;
- const float deltaValue = pRightPoint->m_value - leftPoint.m_value;
- const bool bIsZeroTangent = (point.m_outTangentType == SBezierControlPoint::eTangentType_Zero);
- newPoint.m_outTangent = Vec2((deltaTime * ratio) / 3.0f, bIsZeroTangent ? 0.0f : (deltaValue * ratio) / 3.0f);
- }
- else
- {
- newPoint.m_outTangent = Vec2(ZERO);
- }
- }
- break;
- case SBezierControlPoint::eTangentType_Linear:
- newPoint.m_outTangent = Vec2((rightTime - time) / 3.0f,
- (pRightPoint->m_value - point.m_value) / 3.0f);
- break;
- }
- }
-
- return newPoint;
- }
-}
-
-#endif
diff --git a/Code/CryEngine/CryCommon/CGFContent.h b/Code/CryEngine/CryCommon/CGFContent.h
deleted file mode 100644
index 9c6ff391ef..0000000000
--- a/Code/CryEngine/CryCommon/CGFContent.h
+++ /dev/null
@@ -1,903 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-// Description : Describe contents on CGF file.
-
-
-#ifndef CRYINCLUDE_CRYCOMMON_CGFCONTENT_H
-#define CRYINCLUDE_CRYCOMMON_CGFCONTENT_H
-#pragma once
-
-#include // <> required for Interfuscator
-#include // <> required for Interfuscator
-#include
-#include
-#include
-#include
-#include
-
-#include //Required for LOD support for touch bending vegetation
-#include //Required for LOD support for touch bending vegetation
-
-const int CGF_NODE_NAME_LENGTH = 64;
-//END: Add LOD support for touch bending vegetation
-
-struct CMaterialCGF;
-struct IConvertContext;
-
-#define CGF_NODE_NAME_LOD_PREFIX "$lod"
-
-//////////////////////////////////////////////////////////////////////////
-// This structure represents CGF node.
-//////////////////////////////////////////////////////////////////////////
-struct CNodeCGF
- : public _cfg_reference_target
-{
- enum ENodeType
- {
- NODE_MESH,
- NODE_LIGHT,
- NODE_HELPER,
- };
- enum EPhysicalizeFlags
- {
- ePhysicsalizeFlag_MeshNotNeeded = BIT(2), // When set physics data doesn't need additional Mesh indices or vertices.
- ePhysicsalizeFlag_NoBreaking = BIT(3), // node is unsuitable for procedural 3d breaking
- };
-
- ENodeType type;
- //START: Add LOD support for touch bending vegetation
- char name[CGF_NODE_NAME_LENGTH];
- //END: Add LOD support for touch bending vegetation
- string properties;
- Matrix34 localTM; // Local space transformation matrix.
- Matrix34 worldTM; // World space transformation matrix.
- CNodeCGF* pParent; // Pointer to parent node.
- CNodeCGF* pSharedMesh; // Not NULL if this node is sharing mesh and physics from referenced Node.
- CMesh* pMesh; // Pointer to mesh loaded for this node. (Only when type == NODE_MESH)
-
- HelperTypes helperType; // Only relevant if type==NODE_HELPER
- Vec3 helperSize; // Only relevant if type==NODE_HELPER
-
- CMaterialCGF* pMaterial; // Material node.
-
- // Physical data of the node with mesh.
- int nPhysicalizeFlags; // Saved into the nFlags2 chunk member.
- AZStd::vector physicalGeomData[4];
- int nPhysTriCount; // Not saved! only used for statistics in RC
-
- //////////////////////////////////////////////////////////////////////////
- // Used internally.
- int nChunkId; // Chunk id as loaded from CGF.
- int nParentChunkId; // Chunk id of parent Node.
- int nObjectChunkId; // Chunk id of the corresponding mesh.
- int pos_cont_id; // position controller chunk id
- int rot_cont_id; // rotation controller chunk id
- int scl_cont_id; // scale controller chunk id
- //////////////////////////////////////////////////////////////////////////
-
- // True if worldTM is identity.
- bool bIdentityMatrix;
- // True when this node is invisible physics proxy.
- bool bPhysicsProxy;
-
- // These values are not saved, but are only used for loading empty mesh chunks.
- struct MeshInfo
- {
- int nVerts;
- int nIndices;
- int nSubsets;
- Vec3 bboxMin;
- Vec3 bboxMax;
- float fGeometricMean;
- };
- MeshInfo meshInfo;
-
- CrySkinVtx* pSkinInfo; // for skinning with skeleton meshes (deformable objects)
-
- //////////////////////////////////////////////////////////////////////////
- // Constructor.
- //////////////////////////////////////////////////////////////////////////
- void Init()
- {
- type = NODE_MESH;
- localTM.SetIdentity();
- worldTM.SetIdentity();
- pParent = 0;
- pSharedMesh = 0;
- pMesh = 0;
- pMaterial = 0;
- helperType = HP_POINT;
- helperSize.Set(0, 0, 0);
- nPhysicalizeFlags = 0;
- nChunkId = 0;
- nParentChunkId = 0;
- nObjectChunkId = 0;
- pos_cont_id = rot_cont_id = scl_cont_id = 0;
- bIdentityMatrix = true;
- bPhysicsProxy = false;
- pSkinInfo = 0;
- nPhysTriCount = 0;
-
- ZeroStruct(meshInfo);
- }
-
- CNodeCGF()
- {
- Init();
- }
-
- explicit CNodeCGF(_cfg_reference_target::DeleteFncPtr pDeleteFnc)
- : _cfg_reference_target(pDeleteFnc)
- {
- Init();
- }
-
- ~CNodeCGF()
- {
- if (!pSharedMesh)
- {
- delete pMesh;
- }
- if (pSkinInfo)
- {
- delete[] pSkinInfo;
- }
- }
-};
-
-
-//////////////////////////////////////////////////////////////////////////
-// structures for skinning
-//////////////////////////////////////////////////////////////////////////
-
-struct TFace
-{
- uint16 i0, i1, i2;
- TFace() {}
- TFace(uint16 v0, uint16 v1, uint16 v2) { i0 = v0; i1 = v1; i2 = v2; }
- TFace(const CryFace& face) { i0 = aznumeric_caster(face[0]); i1 = aznumeric_caster(face[1]); i2 = aznumeric_caster(face[2]); }
- void operator = (const TFace& f) { i0 = f.i0; i1 = f.i1; i2 = f.i2; }
- void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{}
- AUTO_STRUCT_INFO
-};
-
-struct PhysicalProxy
-{
- uint32 ChunkID;
- DynArray m_arrPoints;
- DynArray m_arrIndices;
- DynArray m_arrMaterials;
-};
-
-struct MorphTargets
-{
- uint32 MeshID;
- string m_strName;
- DynArray m_arrIntMorph;
- DynArray m_arrExtMorph;
-};
-
-typedef MorphTargets* MorphTargetsPtr;
-
-struct IntSkinVertex
-{
- Vec3 __obsolete0; // thin/fat vertex position. must be removed in the next RC refactoring
- Vec3 pos; // vertex-position of model.2
- Vec3 __obsolete2; // thin/fat vertex position. must be removed in the next RC refactoring
- uint16 boneIDs[4];
- f32 weights[4];
- ColorB color; //index for blend-array
- void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{}
- AUTO_STRUCT_INFO
-};
-
-
-
-//////////////////////////////////////////////////////////////////////////
-// TCB Controller implementation.
-//////////////////////////////////////////////////////////////////////////
-
-
-// retrieves the position and orientation (in the logarithmic space, i.e. instead of quaternion, its logarithm is returned)
-// may be optimal for motion interpolation
-struct PQLog
-{
- Vec3 vPos;
- Vec3 vRotLog; // logarithm of the rotation
- void blendPQ (const PQLog& pqFrom, const PQLog& pqTo, f32 fBlend);
- void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{}
-};
-
-struct CControllerType
-{
- uint16 m_controllertype;
- uint16 m_index;
- CControllerType()
- {
- m_controllertype = 0xffff;
- m_index = 0xffff;
- }
-};
-
-struct TCBFlags
-{
- uint8 f0, f1;
- TCBFlags() { f0 = f1 = 0; }
-};
-
-struct CStoredSkinningInfo
-{
- int32 m_nTicksPerFrame;
- f32 m_secsPerTick;
- int32 m_nStart;
- int32 m_nEnd;
- f32 m_Speed;
- f32 m_Distance;
- f32 m_Slope;
- int m_nAssetFlags;
- f32 m_LHeelStart, m_LHeelEnd;
- f32 m_LToe0Start, m_LToe0End;
- f32 m_RHeelStart, m_RHeelEnd;
- f32 m_RToe0Start, m_RToe0End;
- Vec3 m_MoveDirection; // raw storage
-
- CStoredSkinningInfo()
- : m_Speed(-1.0f)
- , m_Distance(-1.0f)
- , m_nAssetFlags(0)
- , m_LHeelStart(-10000.0f)
- , m_LHeelEnd(-10000.0f)
- , m_LToe0Start(-10000.0f)
- , m_LToe0End(-10000.0f)
- , m_RHeelStart(-10000.0f)
- , m_RHeelEnd(-10000.0f)
- , m_RToe0Start(-10000.0f)
- , m_RToe0End(-10000.0f)
- , m_Slope(-1.0f)
- {
- }
- AUTO_STRUCT_INFO
-};
-
-
-
-// structure for recreating controllers
-struct CControllerInfo
-{
- uint32 m_nControllerID;
- uint32 m_nPosKeyTimeTrack;
- uint32 m_nPosTrack;
- uint32 m_nRotKeyTimeTrack;
- uint32 m_nRotTrack;
-
- CControllerInfo()
- : m_nControllerID(~0)
- , m_nPosKeyTimeTrack(~0)
- , m_nPosTrack(~0)
- , m_nRotKeyTimeTrack(~0)
- , m_nRotTrack(~0) {}
-
- AUTO_STRUCT_INFO
-};
-
-struct MeshCollisionInfo
-{
- AABB m_aABB;
- OBB m_OBB;
- Vec3 m_Pos;
- DynArray m_arrIndexes;
- int32 m_iBoneId;
-
- MeshCollisionInfo()
- {
- // This didn't help much.
- // The BBs are reset to opposite infinites,
- // but never clamped/grown by any member points.
- m_aABB.min.zero();
- m_aABB.max.zero();
- m_OBB.m33.SetIdentity();
- m_OBB.h.zero();
- m_OBB.c.zero();
- m_Pos.zero();
- }
- void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(m_arrIndexes);
- }
-};
-
-
-
-struct SJointsAimIK_Rot
-{
- const char* m_strJointName;
- int16 m_nJointIdx;
- int16 m_nPosIndex;
- uint8 m_nPreEvaluate;
- uint8 m_nAdditive;
- int16 m_nRotJointParentIdx;
- SJointsAimIK_Rot()
- {
- m_strJointName = 0;
- m_nJointIdx = -1;
- m_nPosIndex = -1;
- m_nPreEvaluate = 0;
- m_nAdditive = 0;
- m_nRotJointParentIdx = -1;
- };
- void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{}
-};
-
-struct SJointsAimIK_Pos
-{
- const char* m_strJointName;
- int16 m_nJointIdx;
- uint8 m_nAdditive;
- uint8 m_nEmpty;
- SJointsAimIK_Pos()
- {
- m_strJointName = 0;
- m_nJointIdx = -1;
- m_nAdditive = 0;
- m_nEmpty = 0;
- };
- void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{}
-};
-
-
-struct DirectionalBlends
-{
- string m_AnimToken;
- uint32 m_AnimTokenCRC32;
- const char* m_strParaJointName;
- int16 m_nParaJointIdx;
- int16 m_nRotParaJointIdx;
- const char* m_strStartJointName;
- int16 m_nStartJointIdx;
- int16 m_nRotStartJointIdx;
- const char* m_strReferenceJointName;
- int32 m_nReferenceJointIdx;
- DirectionalBlends()
- {
- m_AnimTokenCRC32 = 0;
- m_strParaJointName = 0;
- m_nParaJointIdx = -1;
- m_nRotParaJointIdx = -1;
- m_strStartJointName = 0;
- m_nStartJointIdx = -1;
- m_nRotStartJointIdx = -1;
- m_strReferenceJointName = 0;
- m_nReferenceJointIdx = 1; //by default we use the Pelvis
- };
- void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const {}
-};
-
-
-struct CSkinningInfo
- : public _reference_target_t
-{
- DynArray m_arrBonesDesc; //animation-bones
-
- DynArray m_LookIK_Rot; //rotational joints used for Look-IK
- DynArray m_LookIK_Pos; //positional joints used for Look-IK
- DynArray m_LookDirBlends; //positional joints used for Look-IK
-
- DynArray m_AimIK_Rot; //rotational joints used for Aim-IK
- DynArray m_AimIK_Pos; //positional joints used for Aim-IK
- DynArray m_AimDirBlends; //positional joints used for Aim-IK
-
-
- DynArray m_arrPhyBoneMeshes; //collision proxi
- DynArray m_arrMorphTargets;
- DynArray m_arrIntFaces;
- DynArray m_arrIntVertices;
- DynArray m_arrExt2IntMap;
- DynArray m_arrBoneEntities; //physical-bones
- DynArray m_arrCollisions;
-
- uint32 m_numChunks{ 0 };
- bool m_bRotatedMorphTargets;
- bool m_bProperBBoxes;
-
- CSkinningInfo()
- : m_bRotatedMorphTargets(false)
- , m_bProperBBoxes(false) {}
-
- ~CSkinningInfo()
- {
- for (DynArray::iterator it = m_arrMorphTargets.begin(), end = m_arrMorphTargets.end(); it != end; ++it)
- {
- delete *it;
- }
- }
-
- int32 GetJointIDByName(const char* strJointName) const
- {
- uint32 numJoints = m_arrBonesDesc.size();
- for (uint32 i = 0; i < numJoints; i++)
- {
- if (_stricmp(m_arrBonesDesc[i].m_arrBoneName, strJointName) == 0)
- {
- return i;
- }
- }
- return -1;
- }
-
- // Return name of bone from bone table, return zero id nId is out of range
- const char* GetJointNameByID(int32 nJointID) const
- {
- int32 numJoints = m_arrBonesDesc.size();
- if (nJointID >= 0 && nJointID < numJoints)
- {
- return m_arrBonesDesc[nJointID].m_arrBoneName;
- }
- return ""; // invalid bone id
- }
-};
-
-//////////////////////////////////////////////////////////////////////////
-// This structure represents Material inside CGF.
-//////////////////////////////////////////////////////////////////////////
-struct CMaterialCGF
- : public _cfg_reference_target
-{
- char name[128]; // Material name;
- int nFlags; // Material flags.
- int nPhysicalizeType;
- bool bOldMaterial;
- float shOpacity;
-
- // Array of sub materials.
- DynArray subMaterials;
-
- //////////////////////////////////////////////////////////////////////////
- // Used internally.
- int nChunkId;
- //////////////////////////////////////////////////////////////////////////
-
- void Init()
- {
- nFlags = 0;
- nChunkId = 0;
- bOldMaterial = false;
- nPhysicalizeType = PHYS_GEOM_TYPE_DEFAULT;
- shOpacity = 1.f;
- }
-
- CMaterialCGF() { Init(); }
-
- explicit CMaterialCGF(_cfg_reference_target::DeleteFncPtr pDeleteFnc)
- : _cfg_reference_target(pDeleteFnc)
- { Init(); }
-};
-
-//////////////////////////////////////////////////////////////////////////
-// Info about physicalization of the CGF.
-//////////////////////////////////////////////////////////////////////////
-struct CPhysicalizeInfoCGF
-{
- bool bWeldVertices;
- float fWeldTolerance; // Min Distance between vertices when they collapse to single vertex if bWeldVertices enabled.
-
- // breakable physics
- int nGranularity;
- int nMode;
-
- Vec3* pRetVtx;
- int nRetVtx;
- int* pRetTets;
- int nRetTets;
-
- CPhysicalizeInfoCGF()
- : bWeldVertices(true)
- , fWeldTolerance(0.01f)
- , nMode(-1)
- , nGranularity(-1)
- , pRetVtx(0)
- , nRetVtx(0)
- , pRetTets(0)
- , nRetTets(0){}
-
- ~CPhysicalizeInfoCGF()
- {
- if (pRetVtx)
- {
- delete []pRetVtx;
- pRetVtx = 0;
- }
- if (pRetTets)
- {
- delete []pRetTets;
- pRetTets = 0;
- }
- }
-};
-
-
-//////////////////////////////////////////////////////////////////////////
-// Serialized skinnable foliage data
-//////////////////////////////////////////////////////////////////////////
-
-#define NODE_PROPERTY_STIFFNESS "stiffness"
-#define NODE_PROPERTY_DAMPING "damping"
-#define NODE_PROPERTY_THICKNESS "thickness"
-
-struct SSpineRC
-{
- SSpineRC()
- : pVtx(nullptr)
- , pSegDim(nullptr)
- , nVtx(0)
- , len(0)
- , pBoneIDs(nullptr)
- , parentBoneID(-1)
- , pStiffness(nullptr)
- , pDamping(nullptr)
- , pThickness(nullptr) {}
-
- ~SSpineRC()
- {
- if (pVtx)
- {
- delete[] pVtx;
- }
- if (pSegDim)
- {
- delete[] pSegDim;
- }
- if (pBoneIDs)
- {
- delete[] pBoneIDs;
- }
- if (pStiffness)
- {
- delete[] pStiffness;
- }
- if (pDamping)
- {
- delete[] pDamping;
- }
- if (pThickness)
- {
- delete[] pThickness;
- }
- }
-
- /// Add Skinned Geometry (.CGF) export type (for touch bending vegetation)
- static float GetDefaultStiffness() { return 0.5f; }
- static float GetDefaultDamping() { return 0.5f; }
- static float GetDefaultThickness() { return 0.03f; }
-
- Vec3* pVtx;
- Vec4* pSegDim;
- int nVtx;
- float len;
- Vec3 navg;
-
- int parentBoneID;
- int* pBoneIDs;
-
- //Per Bone parameters.
- float* pStiffness;
- float* pDamping;
- float* pThickness;
-
- int iAttachSpine;
- int iAttachSeg;
-};
-
-struct SFoliageInfoCGF
-{
- SFoliageInfoCGF() { nSpines = 0; pSpines = 0; pBoneMapping = 0; }
- ~SFoliageInfoCGF()
- {
- if (pSpines)
- {
- for (int i = 1; i < nSpines; i++) // spines 1..n-1 use the same buffer, so make sure they don't delete it
- {
- pSpines[i].pVtx = nullptr;
- pSpines[i].pSegDim = nullptr;
- pSpines[i].pBoneIDs = nullptr;
- pSpines[i].pStiffness = nullptr;
- pSpines[i].pDamping = nullptr;
- pSpines[i].pThickness = nullptr;
- }
- delete[] pSpines;
- }
-
- SAFE_DELETE_ARRAY(pBoneMapping);
-
- AZStd::unordered_map::iterator iter = boneMappings.begin();
- while (iter != boneMappings.end())
- {
- if (iter->second != nullptr)
- {
- SAFE_DELETE_ARRAY(iter->second->pBoneMapping);
- }
- iter++;
- }
-
- }
-
- SSpineRC* pSpines;
- int nSpines;
-
- ///Bone mappings for each LOD level
- AZStd::unordered_map boneMappings;
-
- ///Bone mapping for legacy format
- struct SMeshBoneMapping_uint8* pBoneMapping;
- int nSkinnedVtx;
-
- DynArray chunkBoneIds;
-};
-
-
-//////////////////////////////////////////////////////////////////////////
-struct CExportInfoCGF
-{
- bool bMergeAllNodes;
- bool bUseCustomNormals;
- bool bCompiledCGF;
- bool bHavePhysicsProxy;
- bool bHaveAutoLods;
- bool bNoMesh;
- bool bWantF32Vertices;
- bool b8WeightsPerVertex;
-
- /// Prevent reprocessing skinning data for skinned CGF
- bool bSkinnedCGF;
-
- bool bFromColladaXSI;
- bool bFromColladaMAX;
- bool bFromColladaMAYA;
-
- unsigned int rc_version[4]; // Resource compiler version.
- char rc_version_string[16]; // Version as a string.
-
- unsigned int authorToolVersion;
-};
-
-//////////////////////////////////////////////////////////////////////////
-// This class contain all info loaded from the CGF file.
-//////////////////////////////////////////////////////////////////////////
-class CContentCGF
-{
-public:
- //////////////////////////////////////////////////////////////////////////
- CContentCGF(const char* filename)
- {
- azstrcpy(m_filename, AZ_ARRAY_SIZE(m_filename), filename);
- memset(&m_exportInfo, 0, sizeof(m_exportInfo));
- m_exportInfo.bMergeAllNodes = true;
- m_exportInfo.bUseCustomNormals = false;
- m_exportInfo.bWantF32Vertices = false;
- m_exportInfo.b8WeightsPerVertex = false;
- m_exportInfo.bSkinnedCGF = false;
- m_pCommonMaterial = 0;
- m_bConsoleFormat = false;
- m_pOwnChunkFile = 0;
- }
-
- //////////////////////////////////////////////////////////////////////////
- virtual ~CContentCGF()
- {
- // Free nodes.
- m_nodes.clear();
- if (m_pOwnChunkFile)
- {
- m_pOwnChunkFile->Release();
- }
- }
-
- //////////////////////////////////////////////////////////////////////////
- const char* GetFilename() const
- {
- return m_filename;
- }
-
- void SetFilename(const char* filename)
- {
- azstrcpy(m_filename, AZ_ARRAY_SIZE(m_filename), filename);
- }
-
- //////////////////////////////////////////////////////////////////////////
- // Access to CGF nodes.
- void AddNode(CNodeCGF* pNode)
- {
- m_nodes.push_back(pNode);
- }
-
- int GetNodeCount() const
- {
- return m_nodes.size();
- }
-
- CNodeCGF* GetNode(int i)
- {
- return m_nodes[i];
- }
-
- const CNodeCGF* GetNode(int i) const
- {
- return m_nodes[i];
- }
-
- void ClearNodes()
- {
- m_nodes.clear();
- }
-
- void RemoveNode(CNodeCGF* pNode)
- {
- assert(pNode);
- for (int i = 0; i < m_nodes.size(); ++i)
- {
- if (m_nodes[i] == pNode)
- {
- pNode->pParent = 0;
- m_nodes.erase(i);
- break;
- }
- }
- }
- //////////////////////////////////////////////////////////////////////////
-
- //////////////////////////////////////////////////////////////////////////
- // Access to CGF materials.
- void AddMaterial(CMaterialCGF* pNode)
- {
- m_materials.push_back(pNode);
- }
-
- int GetMaterialCount() const
- {
- return m_materials.size();
- }
-
- CMaterialCGF* GetMaterial(int i)
- {
- return m_materials[i];
- }
-
- void ClearMaterials()
- {
- m_materials.clear();
- }
-
- CMaterialCGF* GetCommonMaterial() const
- {
- return m_pCommonMaterial;
- }
-
- void SetCommonMaterial(CMaterialCGF* pMtl)
- {
- m_pCommonMaterial = pMtl;
- }
-
- DynArray& GetUsedMaterialIDs()
- {
- return m_usedMaterialIds;
- }
-
- const DynArray& GetUsedMaterialIDs() const
- {
- return m_usedMaterialIds;
- }
-
- //////////////////////////////////////////////////////////////////////////
-
- CPhysicalizeInfoCGF* GetPhysicalizeInfo()
- {
- return &m_physicsInfo;
- }
-
- const CPhysicalizeInfoCGF* GetPhysicalizeInfo() const
- {
- return &m_physicsInfo;
- }
-
- CExportInfoCGF* GetExportInfo()
- {
- return &m_exportInfo;
- }
-
- const CExportInfoCGF* GetExportInfo() const
- {
- return &m_exportInfo;
- }
-
- CSkinningInfo* GetSkinningInfo()
- {
- return &m_SkinningInfo;
- }
-
- const CSkinningInfo* GetSkinningInfo() const
- {
- return &m_SkinningInfo;
- }
-
- SFoliageInfoCGF* GetFoliageInfo()
- {
- return &m_foliageInfo;
- }
-
- bool GetConsoleFormat()
- {
- return m_bConsoleFormat;
- }
-
- bool ValidateMeshes(const char** const ppErrorDescription) const
- {
- for (int i = 0; i < m_nodes.size(); ++i)
- {
- const CNodeCGF* const pNode = m_nodes[i];
- if (pNode && pNode->pMesh && (!pNode->pMesh->Validate(ppErrorDescription)))
- {
- return false;
- }
- }
- return true;
- }
-
- // Set chunk file that this CGF owns.
- void SetChunkFile(IChunkFile* pChunkFile)
- {
- m_pOwnChunkFile = pChunkFile;
- }
-
-public:
- bool m_bConsoleFormat;
-
-private:
- char m_filename[260];
- CSkinningInfo m_SkinningInfo;
- DynArray<_smart_ptr > m_nodes;
- DynArray<_smart_ptr > m_materials;
- DynArray m_usedMaterialIds;
- _smart_ptr m_pCommonMaterial;
-
- CPhysicalizeInfoCGF m_physicsInfo;
- CExportInfoCGF m_exportInfo;
- SFoliageInfoCGF m_foliageInfo;
-
- IChunkFile* m_pOwnChunkFile;
-};
-
-namespace AZ
-{
- namespace SceneAPI
- {
- namespace DataTypes
- {
- class IAnimationGroup;
- }
- }
-}
-
-// Asset Writer interface for writing CContentCGF content to asset file
-struct IAssetWriter
-{
- virtual ~IAssetWriter()
- {
- }
-
- virtual bool WriteCGF(CContentCGF* content) = 0;
- virtual bool WriteCHR(CContentCGF* content, IConvertContext* convertContext) = 0;
- virtual bool WriteSKIN(CContentCGF* content, IConvertContext* convertContext, bool exportMorphTargets) = 0;
-};
-
-
-#endif // CRYINCLUDE_CRYCOMMON_CGFCONTENT_H
diff --git a/Code/CryEngine/CryCommon/CGFContent_info.cpp b/Code/CryEngine/CryCommon/CGFContent_info.cpp
deleted file mode 100644
index 27d61c2f62..0000000000
--- a/Code/CryEngine/CryCommon/CGFContent_info.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#include "TypeInfo_impl.h"
-#include "CGFContent.h"
-
-STRUCT_INFO_BEGIN(TFace)
-STRUCT_VAR_INFO(i0, TYPE_INFO(uint16))
-STRUCT_VAR_INFO(i1, TYPE_INFO(uint16))
-STRUCT_VAR_INFO(i2, TYPE_INFO(uint16))
-STRUCT_INFO_END(TFace)
-
-STRUCT_INFO_BEGIN(IntSkinVertex)
-STRUCT_VAR_INFO(__obsolete0, TYPE_INFO(Vec3))
-STRUCT_VAR_INFO(pos, TYPE_INFO(Vec3))
-STRUCT_VAR_INFO(__obsolete2, TYPE_INFO(Vec3))
-STRUCT_VAR_INFO(boneIDs, TYPE_ARRAY(4, TYPE_INFO(uint16)))
-STRUCT_VAR_INFO(weights, TYPE_ARRAY(4, TYPE_INFO(f32)))
-STRUCT_VAR_INFO(color, TYPE_INFO(ColorB))
-STRUCT_INFO_END(IntSkinVertex)
-
-STRUCT_INFO_BEGIN(CStoredSkinningInfo)
-STRUCT_VAR_INFO(m_nTicksPerFrame, TYPE_INFO(int32))
-STRUCT_VAR_INFO(m_secsPerTick, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_nStart, TYPE_INFO(int32))
-STRUCT_VAR_INFO(m_nEnd, TYPE_INFO(int32))
-STRUCT_VAR_INFO(m_Speed, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_Distance, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_Slope, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_nAssetFlags, TYPE_INFO(int))
-STRUCT_VAR_INFO(m_LHeelStart, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_LHeelEnd, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_LToe0Start, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_LToe0End, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_RHeelStart, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_RHeelEnd, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_RToe0Start, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_RToe0End, TYPE_INFO(f32))
-STRUCT_VAR_INFO(m_MoveDirection, TYPE_INFO(Vec3))
-STRUCT_INFO_END(CStoredSkinningInfo)
-
-STRUCT_INFO_BEGIN(CControllerInfo)
-STRUCT_VAR_INFO(m_nControllerID, TYPE_INFO(uint32))
-STRUCT_VAR_INFO(m_nPosKeyTimeTrack, TYPE_INFO(uint32))
-STRUCT_VAR_INFO(m_nPosTrack, TYPE_INFO(uint32))
-STRUCT_VAR_INFO(m_nRotKeyTimeTrack, TYPE_INFO(uint32))
-STRUCT_VAR_INFO(m_nRotTrack, TYPE_INFO(uint32))
-STRUCT_INFO_END(CControllerInfo)
-
-STRUCT_INFO_BEGIN(UCol)
-STRUCT_VAR_INFO(dcolor, TYPE_INFO(uint32))
-STRUCT_INFO_END(UCol)
-
-STRUCT_INFO_BEGIN(SVF_P3S_C4B_T2S)
-STRUCT_VAR_INFO(xyz, TYPE_INFO(Vec3f16))
-STRUCT_VAR_INFO(color, TYPE_INFO(UCol))
-STRUCT_VAR_INFO(st, TYPE_INFO(Vec2f16))
-STRUCT_INFO_END(SVF_P3S_C4B_T2S)
diff --git a/Code/CryEngine/CryCommon/CMakeLists.txt b/Code/CryEngine/CryCommon/CMakeLists.txt
index 4725489358..3a1eb90d9d 100644
--- a/Code/CryEngine/CryCommon/CMakeLists.txt
+++ b/Code/CryEngine/CryCommon/CMakeLists.txt
@@ -9,58 +9,15 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
-ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
-ly_get_pal_tool_dirs(pal_tool_dirs ${CMAKE_CURRENT_LIST_DIR}/Platform)
-
ly_add_target(
NAME CryCommon STATIC
NAMESPACE Legacy
FILES_CMAKE
crycommon_files.cmake
- ${pal_dir}/crycommon_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
- PLATFORM_INCLUDE_FILES
- ${pal_dir}/crycommon_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
INCLUDE_DIRECTORIES
PUBLIC
. # Lots of code without CryCommon/
.. # Dangerous since exports CryEngine's path (client code can do CrySystem/ without depending on that target)
- ${pal_dir}
- ${pal_tool_dirs}
- BUILD_DEPENDENCIES
- PUBLIC
- AZ::AzCore
- AZ::AzFramework
-)
-
-ly_add_target(
- NAME CryCommon.EngineSettings.Static STATIC
- NAMESPACE Legacy
- FILES_CMAKE
- crycommon_enginesettings_files.cmake
- ${pal_dir}/crycommon_enginesettings_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- .
- ${pal_dir}
- BUILD_DEPENDENCIES
- PUBLIC
- AZ::AzCore
- AZ::AzFramework
-)
-
-ly_add_target(
- NAME CryCommon.EngineSettings.RC.Static STATIC
- NAMESPACE Legacy
- FILES_CMAKE
- crycommon_enginesettings_files.cmake
- ${pal_dir}/crycommon_enginesettings_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- .
- ${pal_dir}
- COMPILE_DEFINITIONS
- PRIVATE
- RESOURCE_COMPILER
BUILD_DEPENDENCIES
PUBLIC
AZ::AzCore
diff --git a/Code/CryEngine/CryCommon/CREBaseCloud.h b/Code/CryEngine/CryCommon/CREBaseCloud.h
deleted file mode 100644
index b7a95d88d4..0000000000
--- a/Code/CryEngine/CryCommon/CREBaseCloud.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef __CREBASECLOUD_H__
-#define __CREBASECLOUD_H__
-
-//================================================================================
-
-class SCloudParticle
-{
-public:
- inline SCloudParticle();
- inline SCloudParticle(const Vec3& vPos, float fRadius, const ColorF& baseColor, float fTransparency = 0);
- inline SCloudParticle(const Vec3& vPos, float fRadiusX, float fRadiusY, float fRotMin, float fRotMax, Vec2 vUV[]);
- inline ~SCloudParticle();
-
- float GetRadiusX() const { return m_fSize[0]; }
- float GetRadiusY() const { return m_fSize[1]; }
- float GetTransparency() const { return m_fTransparency; }
- const Vec3& GetPosition() const { return m_vPosition; }
- const ColorF& GetBaseColor() const { return m_vBaseColor; }
- uint32 GetNumLitColors() const { return m_vLitColors.size(); }
- inline const ColorF GetLitColor(unsigned int index) const;
- float GetSquareSortDistance() const { return m_fSquareSortDistance; }
-
- //! Sets the radius of the particle.
- void SetRadiusX(float rad) { m_fSize[0] = rad; }
- void SetRadiusY(float rad) { m_fSize[1] = rad; }
- void SetTransparency(float trans) { m_fTransparency = trans; }
- void SetPosition(const Vec3& pos) { m_vPosition = pos; }
- void SetBaseColor(const ColorF& col) { m_vBaseColor = col; }
- void AddLitColor(const ColorF& col) { m_vLitColors.push_back(col); }
- void ClearLitColors() { m_vLitColors.clear(); }
- void SetSquareSortDistance(float fSquareDistance) { m_fSquareSortDistance = fSquareDistance; }
-
- bool operator<(const SCloudParticle& p) const
- {
- return (m_fSquareSortDistance < p.m_fSquareSortDistance);
- }
-
- bool operator>(const SCloudParticle& p) const
- {
- return (m_fSquareSortDistance > p.m_fSquareSortDistance);
- }
-
-protected:
- float m_fTransparency;
- Vec3 m_vPosition;
- float m_fSize[2];
- float m_fRotMin;
- float m_fRotMax;
- ColorF m_vBaseColor;
- TArray m_vLitColors;
- Vec3 m_vEye;
-
- // for sorting particles during shading
- float m_fSquareSortDistance;
-public:
- Vec2 m_vUV[2];
-};
-
-inline SCloudParticle::SCloudParticle()
-{
- m_fSize[0] = 0;
- m_fTransparency = 0;
- m_vPosition = Vec3(0, 0, 0);
- m_vBaseColor = Col_Black;
- m_vEye = Vec3(0, 0, 0);
- m_fSquareSortDistance = 0;
-
- m_vLitColors.clear();
-}
-
-inline SCloudParticle::SCloudParticle(const Vec3& pos, float fRadius, const ColorF& baseColor, float fTransparency)
-{
- m_fSize[0] = fRadius;
- m_fSize[1] = fRadius;
- m_fTransparency = fTransparency;
- m_vPosition = pos;
- m_vBaseColor = baseColor;
- m_vUV[0] = Vec2(0, 0);
- m_vUV[1] = Vec2(1, 1);
-
- m_fRotMin = 0;
- m_fRotMax = 0;
- m_vEye = Vec3(0, 0, 0);
- m_fSquareSortDistance = 0;
-
- m_vLitColors.clear();
-}
-
-inline SCloudParticle::SCloudParticle(const Vec3& vPos, float fRadiusX, float fRadiusY, float fRotMin, float fRotMax, Vec2 vUV[2])
-{
- m_fSize[0] = fRadiusX;
- m_fSize[1] = fRadiusY;
- m_vPosition = vPos;
- m_vBaseColor = Col_White;
- m_vUV[0] = vUV[0];
- m_vUV[1] = vUV[1];
- m_fRotMin = fRotMin;
- m_fRotMax = fRotMax;
-
- m_fTransparency = 1.0f;
- m_vEye = Vec3(0, 0, 0);
- m_fSquareSortDistance = 0;
-
- m_vLitColors.clear();
-}
-
-inline SCloudParticle::~SCloudParticle()
-{
- m_vLitColors.clear();
-}
-
-inline const ColorF SCloudParticle::GetLitColor(unsigned int index) const
-{
- if (index <= m_vLitColors.size())
- {
- return m_vLitColors[index];
- }
- else
- {
- return Col_Black;
- }
-}
-
-//===========================================================================
-class CREBaseCloud
- : public CRendElementBase
-{
- friend class CRECloud;
-
-public:
- CREBaseCloud()
- : CRendElementBase()
- {
- mfSetType(eDATA_Cloud);
- mfUpdateFlags(FCEF_TRANSFORM);
- }
- virtual void SetParticles(SCloudParticle* pParticles, int nNumParticles) = 0;
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-};
-
-#endif // __CREBASECLOUD_H__
diff --git a/Code/CryEngine/CryCommon/CREFogVolume.h b/Code/CryEngine/CryCommon/CREFogVolume.h
deleted file mode 100644
index 83a024d15e..0000000000
--- a/Code/CryEngine/CryCommon/CREFogVolume.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-#ifndef _CREFOGVOLUME_
-#define _CREFOGVOLUME_
-
-#pragma once
-
-#include "VertexFormats.h"
-
-
-struct IFogVolumeRenderNode;
-
-
-class CREFogVolume
- : public CRendElementBase
-{
-public:
- CREFogVolume();
-
- virtual ~CREFogVolume();
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-
- Vec3 m_center;
- uint32 m_viewerInsideVolume : 1;
- uint32 m_affectsThisAreaOnly : 1;
- uint32 m_stencilRef : 8;
- uint32 m_volumeType : 1;
- uint32 m_reserved : 21;
- AABB m_localAABB;
- Matrix34 m_matWSInv;
- float m_globalDensity;
- float m_densityOffset;
- float m_nearCutoff;
- Vec2 m_softEdgesLerp;
- ColorF m_fogColor; // color already combined with fHDRDynamic
- Vec3 m_heightFallOffDirScaled;
- Vec3 m_heightFallOffBasePoint;
- Vec3 m_eyePosInWS;
- Vec3 m_eyePosInOS;
- Vec3 m_rampParams;
- Vec3 m_windOffset;
- float m_noiseScale;
- Vec3 m_noiseFreq;
- float m_noiseOffset;
- float m_noiseElapsedTime;
- Vec3 m_scale;
-};
-
-
-#endif // #ifndef _CREFOGVOLUME_
diff --git a/Code/CryEngine/CryCommon/CREGameEffect.h b/Code/CryEngine/CryCommon/CREGameEffect.h
deleted file mode 100644
index 17e68813ed..0000000000
--- a/Code/CryEngine/CryCommon/CREGameEffect.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-#ifndef _CREGameEffect_
-#define _CREGameEffect_
-
-#pragma once
-
-//==================================================================================================
-// Name: IREGameEffect
-// Desc: Interface for game effect render elements, designed to be instantiated in game code, and
-// called from the CREGameEffect within the engine. This then allows render elements
-// to be created in game code as well as in the engine.
-// Author: James Chilvers
-//==================================================================================================
-struct IREGameEffect
-{
- virtual ~IREGameEffect(){}
-
- virtual void mfPrepare(bool bCheckOverflow) = 0;
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm, CRenderObject* renderObj) = 0;
-};//------------------------------------------------------------------------------------------------
-
-//==================================================================================================
-// Name: CREGameEffect
-// Desc: Render element that uses the IREGameEffect interface for its functionality
-// Author: James Chilvers
-//==================================================================================================
-class CREGameEffect
- : public CRendElementBase
-{
-public:
-
- CREGameEffect();
- ~CREGameEffect();
-
- // CRendElementBase interface
- void mfPrepare(bool bCheckOverflow);
- bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- // CREGameEffect interface
- inline void SetPrivateImplementation(IREGameEffect* pImpl) { m_pImpl = pImpl; }
- inline IREGameEffect* GetPrivateImplementation() const { return m_pImpl; }
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-private:
-
- IREGameEffect* m_pImpl; // Implementation of of render element
-};//------------------------------------------------------------------------------------------------
-
-#endif // #ifndef _CREGameEffect_
diff --git a/Code/CryEngine/CryCommon/CREGeomCache.h b/Code/CryEngine/CryCommon/CREGeomCache.h
deleted file mode 100644
index 6911b8486e..0000000000
--- a/Code/CryEngine/CryCommon/CREGeomCache.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-// Description : Backend part of geometry cache rendering
-
-#ifndef CRYINCLUDE_CRYCOMMON_CREGEOMCACHE_H
-#define CRYINCLUDE_CRYCOMMON_CREGEOMCACHE_H
-#pragma once
-
-#if defined(USE_GEOM_CACHES)
-
-#include
-#include
-
-class CREGeomCache
- : public CRendElementBase
-{
-public:
- struct SMeshInstance
- {
- AABB m_aabb;
- Matrix34 m_matrix;
- Matrix34 m_prevMatrix;
- };
-
- struct SMeshRenderData
- {
- DynArray m_instances;
- _smart_ptr m_pRenderMesh;
- };
-
- struct UpdateList
- {
- CryCriticalSection m_mutex;
- AZStd::vector> m_geoms;
- };
-
-public:
- CREGeomCache();
- ~CREGeomCache();
-
- bool Update(const int flags, const bool bTesselation);
- static void UpdateModified();
-
- // CRendElementBase interface
- virtual bool mfUpdate(int Flags, bool bTessellation);
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- // CREGeomCache interface
- virtual void InitializeRenderElement(const uint numMeshes, _smart_ptr* pMeshes, uint16 materialId);
- virtual void SetupMotionBlur(CRenderObject* pRenderObject, const SRenderingPassInfo& passInfo);
-
- virtual volatile int* SetAsyncUpdateState(int& threadId);
- virtual DynArray* GetMeshFillDataPtr();
- virtual DynArray* GetRenderDataPtr();
- virtual void DisplayFilledBuffer(const int threadId);
-
-
- AZ::Vertex::Format GetVertexFormat() const override;
- bool GetGeometryInfo(SGeometryInfo &streams) override;
-
-private:
- uint16 m_materialId;
- volatile bool m_bUpdateFrame[2];
- volatile int m_transformUpdateState[2];
-
- // We use a double buffered m_meshFillData array for input from the main thread. When data
- // was successfully sent from the main thread it gets copied to m_meshRenderData
- // This simplifies the cases where frame data is missing, e.g. meshFillData is not updated for a frame
- // Note that meshFillData really needs to be double buffered because the copy occurs in render thread
- // so the next main thread could already be touching the data again
- //
- // Note: m_meshRenderData is directly accessed for ray intersections via GetRenderDataPtr.
- // This is safe, because it's only used in editor.
- DynArray m_meshFillData[2];
- DynArray m_meshRenderData;
-
- static StaticInstance sm_updateList[2]; // double buffered update lists
-
- AZ::Vertex::Format m_geomCacheVertexFormat;
-};
-
-#endif
-#endif // CRYINCLUDE_CRYCOMMON_CREGEOMCACHE_H
diff --git a/Code/CryEngine/CryCommon/CREImposter.h b/Code/CryEngine/CryCommon/CREImposter.h
deleted file mode 100644
index 1150212b7d..0000000000
--- a/Code/CryEngine/CryCommon/CREImposter.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#pragma once
-
-#include
-#include "Cry_Camera.h"
-
-//================================================================================
-
-struct SDynTexture2;
-struct SDynTexture;
-class IDynTexture;
-class CameraViewParameters;
-
-struct IImposterRenderElement
-{
- virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0;
- virtual void mfPrepare(bool bCheckOverflow) = 0;
- virtual bool mfDraw(CShader* ef, SShaderPass* sl) = 0;
- virtual const SMinMaxBox& mfGetWorldSpaceBounds() = 0;
-
- virtual bool IsSplit() = 0;
- virtual bool IsScreenImposter() = 0;
-
- virtual float GetRadiusX() = 0;
- virtual float GetRadiusY() = 0;
- virtual Vec3* GetQuadCorners() = 0;
- virtual Vec3 GetNearPoint() = 0;
- virtual Vec3 GetFarPoint() = 0;
- virtual float GetErrorToleranceCosAngle() = 0;
- virtual uint32 GetState() = 0;
- virtual int GetAlphaRef() = 0;
- virtual ColorF GetColorHelper() = 0;
- virtual Vec3 GetLastSunDirection() = 0;
- virtual uint8 GetLastBestEdge() = 0;
- virtual float GetNear() = 0;
- virtual float GetFar() = 0;
- virtual float GetTransparency() = 0;
- virtual Vec3 GetPosition();
- virtual int GetLogResolutionX() = 0;
- virtual int GetLogResolutionY() = 0;
- virtual CameraViewParameters& GetLastViewParameters() = 0;
- virtual IDynTexture* GetTexture() = 0;
- virtual IDynTexture* GetScreenTexture() = 0;
- virtual IDynTexture* GetFrontTexture() = 0;
- virtual IDynTexture* GetDepthTexture() = 0;
- virtual const SMinMaxBox& GetWorldSpaceBounds() = 0;
-
- virtual void SetBBox(const Vec3& min, const Vec3& max) = 0;
- virtual void SetScreenImposterState(bool state) = 0;
- virtual void SetState(uint32 state) = 0;
- virtual void SetAlphaRef(uint32 ref) = 0;
- virtual void SetPosition(Vec3 pos) = 0;
- virtual void SetFrameResetValue(int frameResetValue) = 0;
- virtual void SetTexture(IDynTexture* texture) = 0;
- virtual void SetScreenTexture(IDynTexture* texture) = 0;
- virtual void SetFrontTexture(IDynTexture* texture) = 0;
- virtual void SetDepthTexture(IDynTexture* texture) = 0;
-};
-
-class CREImposter
- : public CRendElementBase
-{
- friend class CRECloud;
- static IDynTexture* m_pScreenTexture;
-
- CameraViewParameters m_LastViewParameters;
- bool m_bScreenImposter;
- bool m_bSplit;
- float m_fRadiusX;
- float m_fRadiusY;
- Vec3 m_vQuadCorners[4]; // in world space, relative to m_vPos, in clockwise order, can be rotated
- Vec3 m_vNearPoint;
- Vec3 m_vFarPoint;
- int m_nLogResolutionX;
- int m_nLogResolutionY;
- IDynTexture* m_pTexture;
- IDynTexture* m_pFrontTexture;
- IDynTexture* m_pTextureDepth;
- float m_fErrorToleranceCosAngle; // cosine of m_fErrorToleranceAngle used to check if IsImposterValid
- SMinMaxBox m_WorldSpaceBV;
- uint32 m_State;
- int m_AlphaRef;
- float m_fCurTransparency;
- ColorF m_ColorHelper;
- Vec3 m_vPos;
- Vec3 m_vLastSunDir;
- uint8 m_nLastBestEdge; // 0..11 this edge is favored to not jitter between different edges
- float m_fNear;
- float m_fFar;
-
- bool IsImposterValid(const CameraViewParameters& viewParameters, float fRadiusX, float fRadiusY, float fCamRadiusX, float fCamRadiusY,
- const int iRequiredLogResX, const int iRequiredLogResY, const uint32 dwBestEdge);
-
- bool Display(bool bDisplayFrontOfSplit);
-
-public:
- int m_nFrameReset;
- int m_FrameUpdate;
- float m_fTimeUpdate;
-
- static int m_MemUpdated;
- static int m_MemPostponed;
- static int m_PrevMemUpdated;
- static int m_PrevMemPostponed;
-
- CREImposter()
- : CRendElementBase()
- , m_pTexture(NULL)
- , m_pFrontTexture(NULL)
- , m_pTextureDepth(NULL)
- , m_bSplit(false)
- , m_fRadiusX(0)
- , m_fRadiusY(0)
- , m_fErrorToleranceCosAngle(cos(DEG2RAD(0.25f)))
- , m_bScreenImposter(false)
- , m_State(GS_DEPTHWRITE)
- , m_AlphaRef(-1)
- , m_fCurTransparency(1.0f)
- , m_FrameUpdate(0)
- , m_nFrameReset(0)
- , m_fTimeUpdate(0)
- , m_vLastSunDir(0, 0, 0)
- , m_nLogResolutionX(0)
- , m_nLogResolutionY(0)
- , m_nLastBestEdge(0)
- {
- mfSetType(eDATA_Imposter);
- mfUpdateFlags(FCEF_TRANSFORM);
- m_ColorHelper = Col_White;
- }
- virtual ~CREImposter()
- {
- ReleaseResources();
- }
-
- bool UpdateImposter();
- void ReleaseResources();
-
- bool PrepareForUpdate();
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sl);
- const SMinMaxBox& mfGetWorldSpaceBounds() { return m_WorldSpaceBV; }
-
- virtual bool IsSplit() { return m_bSplit; }
- virtual bool IsScreenImposter() { return m_bScreenImposter; }
-
- virtual float GetRadiusX() { return m_fRadiusX; }
- virtual float GetRadiusY() { return m_fRadiusY; }
- virtual Vec3* GetQuadCorners() { return &m_vQuadCorners[0]; }
- virtual Vec3 GetNearPoint() { return m_vNearPoint; }
- virtual Vec3 GetFarPoint() { return m_vFarPoint; }
- virtual float GetErrorToleranceCosAngle() { return m_fErrorToleranceCosAngle; }
- virtual uint32 GetState() { return m_State; }
- virtual int GetAlphaRef() { return m_AlphaRef; }
- virtual ColorF GetColorHelper() { return m_ColorHelper; }
- virtual Vec3 GetLastSunDirection() { return m_vLastSunDir; }
- virtual uint8 GetLastBestEdge() { return m_nLastBestEdge; }
- virtual float GetNear() { return m_fNear; }
- virtual float GetFar() { return m_fFar; }
- virtual float GetTransparency() { return m_fCurTransparency; }
- virtual Vec3 GetPosition();
- virtual int GetLogResolutionX() { return m_nLogResolutionX; }
- virtual int GetLogResolutionY() { return m_nLogResolutionY; }
- virtual CameraViewParameters& GetLastViewParameters() { return m_LastViewParameters; }
- virtual IDynTexture** GetTexture() { return &m_pTexture; }
- virtual IDynTexture** GetScreenTexture() { return &m_pScreenTexture; }
- virtual IDynTexture** GetFrontTexture() { return &m_pFrontTexture; }
- virtual IDynTexture** GetDepthTexture() { return &m_pTextureDepth; }
- virtual const SMinMaxBox& GetWorldSpaceBounds() { return m_WorldSpaceBV; }
- virtual int GetFrameReset() { return m_nFrameReset; }
- virtual void SetBBox(const Vec3& min, const Vec3& max) { m_WorldSpaceBV.SetMin(min); m_WorldSpaceBV.SetMax(max); }
- virtual void SetScreenImposterState(bool state) { m_bScreenImposter = state; }
- virtual void SetState(uint32 state) { m_State = state; }
- virtual void SetAlphaRef(uint32 ref) { m_AlphaRef = ref; }
- virtual void SetPosition(Vec3 pos) { m_vPos = pos; }
- virtual void SetFrameResetValue(int frameResetValue) { m_nFrameReset = frameResetValue; }
-};
diff --git a/Code/CryEngine/CryCommon/CREMesh.h b/Code/CryEngine/CryCommon/CREMesh.h
deleted file mode 100644
index 40df816808..0000000000
--- a/Code/CryEngine/CryCommon/CREMesh.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef __CREMESH_H__
-#define __CREMESH_H__
-
-class CREMesh
- : public CRendElementBase
-{
-public:
-
- struct CRenderChunk* m_pChunk;
- class CRenderMesh* m_pRenderMesh;
-
- // Copy of Chunk to avoid indirections
- int32 m_nFirstIndexId;
- int32 m_nNumIndices;
-
- uint32 m_nFirstVertId;
- uint32 m_nNumVerts;
-
-protected:
- CREMesh()
- {
- mfSetType(eDATA_Mesh);
- mfUpdateFlags(FCEF_TRANSFORM);
-
- m_pChunk = NULL;
- m_pRenderMesh = NULL;
- m_nFirstIndexId = -1;
- m_nNumIndices = -1;
- m_nFirstVertId = 0;
- m_nNumVerts = 0;
- }
-
- virtual ~CREMesh()
- {
- }
-
- // Ideally should be declared and left unimplemented to prevent slicing at compile time
- // but this would prevent auto code gen in renderer later on.
- // To track potential slicing, uncomment the following (and their equivalent in CREMeshImpl)
- //CREMesh(CREMesh&);
- //CREMesh& operator=(CREMesh& rhs);
-};
-
-#endif // __CREMESH_H__
diff --git a/Code/CryEngine/CryCommon/CREOcclusionQuery.h b/Code/CryEngine/CryCommon/CREOcclusionQuery.h
deleted file mode 100644
index 9350a74104..0000000000
--- a/Code/CryEngine/CryCommon/CREOcclusionQuery.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef __CREOCCLUSIONQUERY_H__
-#define __CREOCCLUSIONQUERY_H__
-
-#define SUPP_HMAP_OCCL
-#define SUPP_HWOBJ_OCCL
-
-//=============================================================
-
-class CRenderMesh;
-
-class CREOcclusionQuery
- : public CRendElementBase
-{
- friend class CRender3D;
- bool m_bSucceeded;
-public:
-
- int m_nVisSamples;
- int m_nCheckFrame;
- int m_nDrawFrame;
- Vec3 m_vBoxMin;
- Vec3 m_vBoxMax;
-
- UINT_PTR m_nOcclusionID; // this will carry a pointer LPDIRECT3DQUERY9, so it needs to be 64-bit on Windows 64
-
- CRenderMesh* m_pRMBox;
- static uint32 m_nQueriesPerFrameCounter;
- static uint32 m_nReadResultNowCounter;
- static uint32 m_nReadResultTryCounter;
-
- CREOcclusionQuery()
- {
- m_nOcclusionID = 0;
-
- m_nVisSamples = 800 * 600;
- m_nCheckFrame = 0;
- m_nDrawFrame = 0;
- m_vBoxMin = Vec3(0, 0, 0);
- m_vBoxMax = Vec3(0, 0, 0);
- m_pRMBox = NULL;
-
- mfSetType(eDATA_OcclusionQuery);
- mfUpdateFlags(FCEF_TRANSFORM);
- }
-
- bool RT_ReadResult_Try(uint32 nDefaultNumSamples);
-
- ILINE bool HasSucceeded() const { return m_bSucceeded; }
-
- virtual ~CREOcclusionQuery();
-
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
- virtual void mfReset();
- virtual bool mfReadResult_Try(uint32 nDefaultNumSamples = 1);
- virtual bool mfReadResult_Now();
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-};
-
-struct OcclusionTestClient
-{
- OcclusionTestClient()
- : nLastOccludedMainFrameID(0)
- , nLastVisibleMainFrameID(0)
- {
-#ifdef SUPP_HMAP_OCCL
- vLastVisPoint.Set(0, 0, 0);
- nTerrainOccLastFrame = 0;
-#endif
-#ifdef SUPP_HWOBJ_OCCL
- bOccluded = true;
- pREOcclusionQuery = 0;
-#endif
- //nInstantTestRequested=0;
- }
-#ifdef SUPP_HWOBJ_OCCL
- ~OcclusionTestClient()
- {
- if (pREOcclusionQuery)
- {
- pREOcclusionQuery->Release(false);
- }
- }
-#endif
- uint32 nLastVisibleMainFrameID, nLastOccludedMainFrameID;
- uint32 nLastShadowCastMainFrameID, nLastNoShadowCastMainFrameID;
-#ifdef SUPP_HMAP_OCCL
- Vec3 vLastVisPoint;
- int nTerrainOccLastFrame;
-#endif
-#ifdef SUPP_HWOBJ_OCCL
- CREOcclusionQuery* pREOcclusionQuery;
- uint8 bOccluded;
-#endif
- //uint8 nInstantTestRequested;
-};
-
-
-#endif // CRYINCLUDE_CRYCOMMON_CREOCCLUSIONQUERY_H
diff --git a/Code/CryEngine/CryCommon/CREPostProcess.h b/Code/CryEngine/CryCommon/CREPostProcess.h
deleted file mode 100644
index 4803ae2166..0000000000
--- a/Code/CryEngine/CryCommon/CREPostProcess.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef CRYINCLUDE_CRYCOMMON_CREPOSTPROCESS_H
-#define CRYINCLUDE_CRYCOMMON_CREPOSTPROCESS_H
-#pragma once
-
-
-class CREPostProcess
- : public CRendElementBase
-{
- friend class CD3D9Renderer;
-
-public:
-
- CREPostProcess();
- virtual ~CREPostProcess();
-
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- // Use for setting numeric values, vec4 (colors, position, vectors, wtv), strings
- virtual int mfSetParameter(const char* pszParam, float fValue, bool bForceValue = false) const;
- virtual int mfSetParameterVec4(const char* pszParam, const Vec4& pValue, bool bForceValue = false) const;
- virtual int mfSetParameterString(const char* pszParam, const char* pszArg) const;
-
- virtual void mfGetParameter(const char* pszParam, float& fValue) const;
- virtual void mfGetParameterVec4(const char* pszParam, Vec4& pValue) const;
- virtual void mfGetParameterString(const char* pszParam, const char*& pszArg) const;
-
- virtual int32 mfGetPostEffectID(const char* pPostEffectName) const;
-
- // Reset all post processing effects
- virtual void Reset(bool bOnSpecChange = false);
- virtual void mfReset()
- {
- Reset();
- }
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-};
-
-#endif // CRYINCLUDE_CRYCOMMON_CREPOSTPROCESS_H
diff --git a/Code/CryEngine/CryCommon/CREPrismObject.h b/Code/CryEngine/CryCommon/CREPrismObject.h
deleted file mode 100644
index 4ec290f1b9..0000000000
--- a/Code/CryEngine/CryCommon/CREPrismObject.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-#ifndef _CREPRISMOBJECT_
-#define _CREPRISMOBJECT_
-
-#pragma once
-
-#if !defined(EXCLUDE_DOCUMENTATION_PURPOSE)
-
-class CREPrismObject
- : public CRendElementBase
-{
-public:
- CREPrismObject();
-
- virtual ~CREPrismObject() {}
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-
- Vec3 m_center;
-};
-
-#endif // EXCLUDE_DOCUMENTATION_PURPOSE
-
-#endif // _CREPRISMOBJECT_
diff --git a/Code/CryEngine/CryCommon/CRESky.h b/Code/CryEngine/CryCommon/CRESky.h
deleted file mode 100644
index 3dfc7d184f..0000000000
--- a/Code/CryEngine/CryCommon/CRESky.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef __CRESKY_H__
-#define __CRESKY_H__
-
-//=============================================================
-
-#include "VertexFormats.h"
-#include
-
-struct SSkyLightRenderParams;
-
-class CRESky
- : public CRendElementBase
-{
- friend class CRender3D;
-
-public:
-
- float m_fTerrainWaterLevel;
- float m_fSkyBoxStretching;
- float m_fAlpha;
- int m_nSphereListId;
-
-public:
- CRESky();
- virtual ~CRESky();
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-
- AZ::Vertex::Format GetVertexFormat() const override;
- bool GetGeometryInfo(SGeometryInfo& streams) override;
-
-private:
- AZ::Vertex::Format m_skyVertexFormat;
-};
-
-class CREHDRSky
- : public CRendElementBase
-{
-public:
- CREHDRSky();
- virtual ~CREHDRSky();
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-
- void GenerateSkyDomeTextures(int32 width, int32 height);
-
- virtual AZ::Vertex::Format GetVertexFormat() const override;
- virtual bool GetGeometryInfo(SGeometryInfo& streams) override;
-
-public:
- const SSkyLightRenderParams* m_pRenderParams;
- int m_moonTexId;
- class CTexture* m_pSkyDomeTextureMie;
- class CTexture* m_pSkyDomeTextureRayleigh;
-
- static void SetCommonMoonParams(CShader* ef, bool bUseMoon = false);
-
-private:
- void Init();
-
-private:
- int m_skyDomeTextureLastTimeStamp;
- int m_frameReset;
- class CStars* m_pStars;
- AZ::Vertex::Format m_hdrSkyVertexFormat;
-};
-
-
-#endif // __CRESKY_H__
diff --git a/Code/CryEngine/CryCommon/CREVolumeObject.h b/Code/CryEngine/CryCommon/CREVolumeObject.h
deleted file mode 100644
index 2137053a8e..0000000000
--- a/Code/CryEngine/CryCommon/CREVolumeObject.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-#ifndef _CREVOLUMEOBJECT_
-#define _CREVOLUMEOBJECT_
-
-#pragma once
-
-#include "VertexFormats.h"
-
-
-struct IVolumeObjectRenderNode;
-
-struct IVolumeTexture
-{
-public:
- virtual ~IVolumeTexture() {}
- virtual void Release() = 0;
- virtual bool Create(unsigned int width, unsigned int height, unsigned int depth, unsigned char* pData) = 0;
- virtual bool Update(unsigned int width, unsigned int height, unsigned int depth, const unsigned char* pData) = 0;
- virtual int GetTexID() const = 0;
- virtual uint32 GetWidth() const = 0;
- virtual uint32 GetHeight() const = 0;
- virtual uint32 GetDepth() const = 0;
- virtual ITexture* GetTexture() const = 0;
-};
-
-class CREVolumeObject
- : public CRendElementBase
-{
-public:
- CREVolumeObject();
-
- virtual ~CREVolumeObject();
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
-
- virtual IVolumeTexture* CreateVolumeTexture() const;
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-
- Vec3 m_center;
- Matrix34 m_matInv;
- Vec3 m_eyePosInWS;
- Vec3 m_eyePosInOS;
- Plane_tpl m_volumeTraceStartPlane;
- AABB m_renderBoundsOS;
- bool m_viewerInsideVolume;
- bool m_nearPlaneIntersectsVolume;
- float m_alpha;
- float m_scale;
-
- IVolumeTexture* m_pDensVol;
- IVolumeTexture* m_pShadVol;
- _smart_ptr m_pHullMesh;
-};
-
-#endif // #ifndef _CREVOLUMEOBJECT_
diff --git a/Code/CryEngine/CryCommon/CREWaterOcean.h b/Code/CryEngine/CryCommon/CREWaterOcean.h
deleted file mode 100644
index e8ca310d41..0000000000
--- a/Code/CryEngine/CryCommon/CREWaterOcean.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef _CREWATEROCEAN_
-#define _CREWATEROCEAN_
-
-class CWater;
-
-class CREWaterOcean
- : public CRendElementBase
-{
-public:
- CREWaterOcean();
- virtual ~CREWaterOcean();
-
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
- virtual void mfGetPlane(Plane_tpl& pl);
-
- virtual void Create(uint32 nVerticesCount, SVF_P3F_C4B_T2F* pVertices, uint32 nIndicesCount, const void* pIndices, uint32 nIndexSizeof);
- void ReleaseOcean();
-
- virtual Vec3 GetPositionAt(float x, float y) const;
- virtual Vec4* GetDisplaceGrid() const;
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-private:
-
- uint32 m_nVerticesCount;
- uint32 m_nIndicesCount;
- uint32 m_nIndexSizeof;
-
- void* m_pVertDecl;
- void* m_pVertices;
- void* m_pIndices;
-
-private:
-
- void UpdateFFT();
- void FrameUpdate();
-};
-
-
-#endif
diff --git a/Code/CryEngine/CryCommon/CREWaterVolume.h b/Code/CryEngine/CryCommon/CREWaterVolume.h
deleted file mode 100644
index 89102e3097..0000000000
--- a/Code/CryEngine/CryCommon/CREWaterVolume.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-#ifndef _CREWATERVOLUME_
-#define _CREWATERVOLUME_
-
-#pragma once
-
-
-#include "VertexFormats.h"
-
-class CREWaterVolume
- : public CRendElementBase
-{
-public:
- CREWaterVolume();
-
- virtual ~CREWaterVolume();
- virtual void mfPrepare(bool bCheckOverflow);
- virtual bool mfDraw(CShader* ef, SShaderPass* sfm);
- virtual void mfGetPlane(Plane_tpl& pl);
- virtual void mfCenter(Vec3& vCenter, CRenderObject* pObj);
-
- virtual void GetMemoryUsage(ICrySizer* pSizer) const
- {
- pSizer->AddObject(this, sizeof(*this));
- }
-
-public:
- struct SParams
- {
- SParams()
- : m_pVertices(0)
- , m_pIndices(0)
- , m_numVertices(0)
- , m_numIndices(0)
- , m_center(0, 0, 0)
- , m_WSBBox(Vec3(-1, -1, -1), Vec3(1, 1, 1))
- , m_fogPlane(Vec3(0, 0, 1), 0)
- , m_fogDensity(0.1f)
- , m_fogColor(0.2f, 0.5f, 0.7f)
- , m_fogColorAffectedBySun(true)
- , m_fogShadowing(0.5f)
- , m_caustics(true)
- , m_causticIntensity(1.0f)
- , m_causticTiling(1.0f)
- , m_causticHeight(0.9f)
- , m_viewerInsideVolume(false)
- , m_viewerCloseToWaterPlane(false)
- , m_viewerCloseToWaterVolume(false)
- {
- }
-
- const SVF_P3F_C4B_T2F* m_pVertices;
- const uint16* m_pIndices;
-
- size_t m_numVertices;
- size_t m_numIndices;
-
- Vec3 m_center;
- AABB m_WSBBox;
-
- Plane_tpl m_fogPlane;
- float m_fogDensity;
- Vec3 m_fogColor;
- bool m_fogColorAffectedBySun;
- float m_fogShadowing;
-
- bool m_caustics;
- float m_causticIntensity;
- float m_causticTiling;
- float m_causticHeight;
-
- bool m_viewerInsideVolume;
- bool m_viewerCloseToWaterPlane;
- bool m_viewerCloseToWaterVolume;
- };
-
- struct SOceanParams
- {
- SOceanParams()
- : m_fogColor(0.2f, 0.5f, 0.7f)
- , m_fogColorShallow(0.2f, 0.5f, 0.7f)
- , m_fogDensity(0.2f)
- {
- }
-
- Vec3 m_fogColor;
- Vec3 m_fogColorShallow;
- float m_fogDensity;
- };
-
-public:
- const SParams* m_pParams;
- const SOceanParams* m_pOceanParams;
- bool m_drawWaterSurface;
- bool m_drawFastPath;
-};
-
-
-#endif // #ifndef _CREWATERVOLUME_
diff --git a/Code/CryEngine/CryCommon/CountedValue.h b/Code/CryEngine/CryCommon/CountedValue.h
deleted file mode 100644
index 8ff3c5639c..0000000000
--- a/Code/CryEngine/CryCommon/CountedValue.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-// Description : A wrapper that counts the number of times the wrapped object
-// has been set This is useful for netserializing an object
-// that might be given a new value that s the same as the old value
-
-
-#ifndef CRYINCLUDE_CRYCOMMON_COUNTEDVALUE_H
-#define CRYINCLUDE_CRYCOMMON_COUNTEDVALUE_H
-#pragma once
-
-
-template
-struct CountedValue
-{
-public:
- CountedValue()
- : m_lastProducedId(0)
- , m_lastConsumedId(0) {}
-
- typedef uint32 TCountedID;
-
- void SetAndDirty(const T& value)
- {
- m_value = value;
- ++m_lastProducedId;
- CRY_ASSERT(m_lastProducedId > 0);
- }
-
- const T* GetLatestValue()
- {
- bool bHasNewValue = IsDirty(); // check for dirtiness before updating ids
- m_lastConsumedId = m_lastProducedId;
-
- return bHasNewValue ? &m_value : NULL;
- }
-
- inline bool IsDirty() const
- {
- return m_lastProducedId != m_lastConsumedId;
- }
-
- const T& Peek() const
- {
- return m_value;
- }
-
- TCountedID GetLatestID() const
- {
- return m_lastProducedId;
- }
-
- // This method should only be used to update the object during serialization!
- void UpdateDuringSerializationOnly(const T& value, TCountedID lastProducedId)
- {
- m_value = value;
- m_lastProducedId = lastProducedId;
- }
-
-private:
- TCountedID m_lastProducedId;
- TCountedID m_lastConsumedId;
- T m_value;
-};
-
-#endif // CRYINCLUDE_CRYCOMMON_COUNTEDVALUE_H
diff --git a/Code/CryEngine/CryCommon/CrtDebugStats.h b/Code/CryEngine/CryCommon/CrtDebugStats.h
deleted file mode 100644
index 6f03d33c18..0000000000
--- a/Code/CryEngine/CryCommon/CrtDebugStats.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-// support for leak dumping and statistics gathering using vs Crt Debug
-// should be included in every DLL below DllMain()
-#ifndef CRYINCLUDE_CRYCOMMON_CRTDEBUGSTATS_H
-#define CRYINCLUDE_CRYCOMMON_CRTDEBUGSTATS_H
-#pragma once
-
-#ifdef WIN32
-#ifdef _DEBUG
-
-
-#include
-#include // CryLogAlways
-#include
-
-// copied from DBGINT.H (not a public header!)
-
-#define nNoMansLandSize 4
-
-typedef struct _CrtMemBlockHeader
-{
- struct _CrtMemBlockHeader* pBlockHeaderNext;
- struct _CrtMemBlockHeader* pBlockHeaderPrev;
- char* szFileName;
- int nLine;
- size_t nDataSize;
- int nBlockUse;
- long lRequest;
- unsigned char gap[nNoMansLandSize];
- /* followed by:
- * unsigned char data[nDataSize];
- * unsigned char anotherGap[nNoMansLandSize];
- */
-} _CrtMemBlockHeader;
-
-struct SFileInfo
-{
- int blocks;
- INT_PTR bytes; //AMD Port
- SFileInfo(INT_PTR b) { blocks = 1; bytes = b; }; //AMD Port
-};
-
-_CrtMemState lastcheckpoint;
-bool checkpointset = false;
-
-extern "C" void __declspec(dllexport) CheckPoint()
-{
- _CrtMemCheckpoint(&lastcheckpoint);
- checkpointset = true;
-};
-
-bool pairgreater(const std::pair& elem1, const std::pair& elem2)
-{
- return elem1.second.bytes > elem2.second.bytes;
-}
-
-extern "C" void __declspec(dllexport) UsageSummary([[maybe_unused]] ILog * log, char* modulename, int* extras)
-{
- _CrtMemState state;
-
- if (checkpointset)
- {
- _CrtMemState recent;
- _CrtMemCheckpoint(&recent);
- _CrtMemDifference(&state, &lastcheckpoint, &recent);
- }
- else
- {
- _CrtMemCheckpoint(&state);
- };
-
- INT_PTR numblocks = state.lCounts[_NORMAL_BLOCK]; //AMD Port
- INT_PTR totalalloc = state.lSizes[_NORMAL_BLOCK]; //AMD Port
-
- check_convert(extras[0]) = totalalloc;
- check_convert(extras[1]) = numblocks;
-
- CryLogAlways("$5---------------------------------------------------------------------------------------------------");
-
- if (!numblocks)
- {
- CryLogAlways("$3Module %s has no memory in use", modulename);
- return;
- }
- ;
-
- CryLogAlways("$5Usage summary for module %s", modulename);
- CryLogAlways("%d kbytes (peak %d) in %d objects of %d average bytes\n",
- totalalloc / 1024, state.lHighWaterCount / 1024, numblocks, numblocks ? totalalloc / numblocks : 0);
- CryLogAlways("%d kbytes allocated over time\n", state.lTotalCount / 1024);
-
- typedef std::map FileMap;
- FileMap fm;
-
- for (_CrtMemBlockHeader* h = state.pBlockHeader; h; h = h->pBlockHeaderNext)
- {
- if (_BLOCK_TYPE(h->nBlockUse) != _NORMAL_BLOCK)
- {
- continue;
- }
- string s = h->szFileName ? h->szFileName : "NO_SOURCE";
- if (h->nLine > 0)
- {
- char buf[16];
- sprintf_s(buf, "_%d", h->nLine);
- s += buf;
- }
- FileMap::iterator it = fm.find(s);
- if (it != fm.end())
- {
- (*it).second.blocks++;
- (*it).second.bytes += h->nDataSize;
- }
- else
- {
- fm.insert(FileMap::value_type(s, SFileInfo(h->nDataSize)));
- };
- }
- ;
-
- typedef std::vector< std::pair > FileVector;
- FileVector fv;
- for (FileMap::iterator it = fm.begin(); it != fm.end(); ++it)
- {
- fv.push_back((*it));
- }
- std::sort(fv.begin(), fv.end(), pairgreater);
-
- for (FileVector::iterator it = fv.begin(); it != fv.end(); ++it)
- {
- CryLogAlways("%6d kbytes / %6d blocks allocated from %s\n",
- (*it).second.bytes / 1024, (*it).second.blocks, (*it).first.c_str());
- }
- ;
-};
-
-#endif // _DEBUG
-
-#if !defined(_RELEASE) && !defined(_DLL) && defined(HANDLE)
-extern "C" HANDLE _crtheap;
-extern "C" HANDLE __declspec(dllexport) GetDLLHeap() {
- return _crtheap;
-};
-#endif
-
-#endif // WIN32
-
-#endif // CRYINCLUDE_CRYCOMMON_CRTDEBUGSTATS_H
diff --git a/Code/CryEngine/CryCommon/CryArray.h b/Code/CryEngine/CryCommon/CryArray.h
index 793201cf40..73a9a9ec38 100644
--- a/Code/CryEngine/CryCommon/CryArray.h
+++ b/Code/CryEngine/CryCommon/CryArray.h
@@ -15,7 +15,7 @@
#define CRYINCLUDE_CRYCOMMON_CRYARRAY_H
#pragma once
-#include // <> required for Interfuscator
+#include "CryLegacyAllocator.h"
//---------------------------------------------------------------------------
// Convenient iteration macros
@@ -91,8 +91,6 @@ Public classes:
Array
StaticArray
DynArray
- FastDynArray
- FixedDynArray
StaticDynArray
Support classes are placed in namespaces NArray and NAlloc to reduce global name usage.
@@ -612,13 +610,6 @@ namespace NAlloc
//---------------------------------------------------------------------------
// Allocators for DynArray.
- // No reallocation, for use in FixedDynArray
- struct NullAlloc
- {
- static void* alloc(void* pMem, [[maybe_unused]] size_t& nSize, [[maybe_unused]] size_t nAlign, [[maybe_unused]] bool bSlack = false)
- { return pMem; }
- };
-
// Standard CryModule memory allocation, using aligned versions
struct ModuleAlloc
{
@@ -655,128 +646,15 @@ namespace NAlloc
// Standard allocator for DynArray stores a compatibility pointer in the memory
typedef AllocCompatible StandardAlloc;
-
- // Allocator using specific heaps
- struct GeneralHeapAlloc
- : ModuleAlloc
- {
- IGeneralMemoryHeap* m_pHeap;
-
- GeneralHeapAlloc()
- : m_pHeap(0) {}
-
- explicit GeneralHeapAlloc(IGeneralMemoryHeap* pHeap)
- : m_pHeap(pHeap) {}
-
- void* alloc(void* pMem, size_t& nSize, size_t nAlign, bool bSlack = false) const
- {
- if (m_pHeap)
- {
- if (pMem)
- {
- if (!nSize)
- {
- // Dealloc
- m_pHeap->Free(pMem);
- return 0;
- }
- }
- else if (nSize)
- {
- // Alloc
- if (bSlack)
- {
- nSize = realloc_size(nSize);
- }
- return m_pHeap->Memalign(nAlign, nSize, "");
- }
- }
-
- return ModuleAlloc::alloc(pMem, nSize, nAlign, bSlack);
- }
- };
};
//---------------------------------------------------------------------------
// Storage schemes for dynamic arrays
namespace NArray
{
- /*---------------------------------------------------------------------------
- // STORAGE prototype for DynArray
- // Extends ArrayStorage with resizing functionality.
-
- struct DynStorage
- {
- struct Store: ArrayStorage::Store
- {
- I capacity() const;
- size_t get_alloc_size() const;
- void resize_raw( I new_size, bool allow_slack );
- };
- };
- ---------------------------------------------------------------------------*/
-
- //---------------------------------------------------------------------------
- // FastDynStorage: STORAGE scheme for DynArray.
- // Simple extension to ArrayStorage: size & capacity fields are inline, 3 words storage, fast access.
-
- template
- struct FastDynStorage
- {
- template
- struct Store
- : private A
- , public ArrayStorage::Store
- {
- typedef ArrayStorage::Store super_type;
-
- using super_type::m_aElems;
- using super_type::m_nCount;
-
- // Construction.
- Store()
- : m_nCapacity(0)
- {
- }
-
- Store(const A& a)
- : A(a)
- , m_nCapacity(0)
- {
- }
-
- I capacity() const
- { return m_nCapacity; }
-
- size_t get_alloc_size() const
- { return NAlloc::get_alloc_size(*this, m_aElems, capacity() * sizeof(T), alignof(T)); }
-
- void resize_raw(I new_size, bool allow_slack = false)
- {
- if (allow_slack ? new_size > capacity() : new_size != capacity())
- {
- m_nCapacity = new_size;
- m_aElems = NAlloc::reallocate(static_cast(*this), m_aElems, m_nCount, m_nCapacity, alignof(T), allow_slack);
- }
- set_size(new_size);
- }
-
- protected:
-
- I m_nCapacity;
-
- void set_size(I new_size)
- {
- assert(new_size >= 0 && new_size <= capacity());
- m_nCount = new_size;
- }
- };
- };
-
//---------------------------------------------------------------------------
// SmallDynStorage: STORAGE scheme for DynArray.
// Array is just a single pointer, size and capacity information stored before the array data.
- // Slightly slower than FastDynStorage, optimal for saving space, especially when array likely to be empty.
template
struct SmallDynStorage
@@ -1459,35 +1337,6 @@ struct LegacyDynArray
}
};
-
-//---------------------------------------------------------------------------
-
-template
-struct FastDynArray
- : DynArray< T, I, NArray::FastDynStorage >
-{
-};
-
-template
-struct FixedDynArray
- : LegacyDynArray< T, I, NArray::FastDynStorage >
-{
- typedef NArray::ArrayStorage::Store S;
-
- void set(void* elems, I mem_size)
- {
- this->m_aElems = (T*)elems;
- this->m_nCapacity = mem_size / sizeof(T);
- this->m_nCount = 0;
- }
- void set(Array array)
- {
- this->m_aElems = array.begin();
- this->m_nCapacity = array.size();
- this->m_nCount = 0;
- }
-};
-
template
struct StaticDynArray
: LegacyDynArray< T, I, NArray::StaticDynStorage >
diff --git a/Code/CryEngine/CryCommon/CryArray2d.h b/Code/CryEngine/CryCommon/CryArray2d.h
deleted file mode 100644
index 531b23c7f6..0000000000
--- a/Code/CryEngine/CryCommon/CryArray2d.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-#ifndef CRYINCLUDE_CRYCOMMON_ARRAY2D_H
-#define CRYINCLUDE_CRYCOMMON_ARRAY2D_H
-#pragma once
-
-// Dynamic replacement for static 2d array
-template
-struct Array2d
-{
- Array2d()
- {
- m_nSize = 0;
- m_pData = 0;
- }
-
- int GetSize() const { return m_nSize; }
- int GetDataSize() const { return m_nSize * m_nSize * sizeof(T); }
-
- T* GetData() { return m_pData; }
-
- T* GetDataEnd() { return &m_pData[m_nSize * m_nSize]; }
-
- void SetData(T* pData, int nSize)
- {
- Allocate(nSize);
- memcpy(m_pData, pData, nSize * nSize * sizeof(T));
- }
-
- void Allocate(int nSize)
- {
- if (m_nSize == nSize)
- {
- return;
- }
-
- delete [] m_pData;
-
- m_nSize = nSize;
- m_pData = new T [nSize * nSize];
- memset(m_pData, 0, nSize * nSize * sizeof(T));
- }
-
- ~Array2d()
- {
- delete [] m_pData;
- }
-
- void Reset()
- {
- delete [] m_pData;
- m_pData = 0;
- m_nSize = 0;
- }
-
- T* m_pData;
- int m_nSize;
-
- T* operator [] (const int& nPos) const
- {
- assert(nPos >= 0 && nPos < m_nSize);
- return &m_pData[nPos * m_nSize];
- }
-
- Array2d& operator = (const Array2d& other)
- {
- Allocate(other.m_nSize);
- memcpy(m_pData, other.m_pData, m_nSize * m_nSize * sizeof(T));
- return *this;
- }
-};
-
-#endif // CRYINCLUDE_CRYCOMMON_ARRAY2D_H
diff --git a/Code/CryEngine/CryCommon/CryAssert_Android.h b/Code/CryEngine/CryCommon/CryAssert_Android.h
index 68f716ec28..6e60df1bb1 100644
--- a/Code/CryEngine/CryCommon/CryAssert_Android.h
+++ b/Code/CryEngine/CryCommon/CryAssert_Android.h
@@ -31,7 +31,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_Linux.h b/Code/CryEngine/CryCommon/CryAssert_Linux.h
index 7c52f78366..f0acdd79db 100644
--- a/Code/CryEngine/CryCommon/CryAssert_Linux.h
+++ b/Code/CryEngine/CryCommon/CryAssert_Linux.h
@@ -34,7 +34,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_Mac.h b/Code/CryEngine/CryCommon/CryAssert_Mac.h
index 8cf49e1a5d..f7f74c3b58 100644
--- a/Code/CryEngine/CryCommon/CryAssert_Mac.h
+++ b/Code/CryEngine/CryCommon/CryAssert_Mac.h
@@ -30,7 +30,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
@@ -45,43 +45,6 @@ void CryAssertTrace(const char* szFormat, ...)
}
}
}
-/*
-bool CryAssert(const char* szCondition, const char* szFile,unsigned int line, bool *pIgnore)
-{
- if (!gEnv) return false;
-
- gEnv->pSystem->OnAssert(szCondition, gs_szMessage, szFile, line);
-
- if (!gEnv->bNoAssertDialog && !gEnv->bIgnoreAllAsserts)
- {
- EDialogAction action = MacOSXHandleAssert(szCondition, szFile, line, gs_szMessage, gEnv->pRenderer != NULL);
-
- switch (action) {
- case eDAStop:
- raise(SIGABRT);
- exit(-1);
- case eDABreak:
- return true;
- case eDAIgnoreAll:
- gEnv->bIgnoreAllAsserts = true;
- break;
- case eDAIgnore:
- *pIgnore = true;
- break;
- case eDAReportAsBug:
- if ( gEnv && gEnv->pSystem)
- {
- gEnv->pSystem->ReportBug("Assert: %s - %s", szCondition,gs_szMessage);
- }
-
- case eDAContinue:
- default:
- break;
- }
- }
-
- return false;
-}*/
bool CryAssert(const char* szCondition, const char* szFile, unsigned int line, bool* pIgnore)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_iOS.h b/Code/CryEngine/CryCommon/CryAssert_iOS.h
index ad668fb131..2cb08befff 100644
--- a/Code/CryEngine/CryCommon/CryAssert_iOS.h
+++ b/Code/CryEngine/CryCommon/CryAssert_iOS.h
@@ -31,7 +31,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_impl.h b/Code/CryEngine/CryCommon/CryAssert_impl.h
index ed55162f1a..edbbb2f0c4 100644
--- a/Code/CryEngine/CryCommon/CryAssert_impl.h
+++ b/Code/CryEngine/CryCommon/CryAssert_impl.h
@@ -305,7 +305,7 @@ void CryAssertTrace(const char* _pszFormat, ...)
{
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (NULL == _pszFormat)
{
diff --git a/Code/CryEngine/CryCommon/CryCustomTypes.h b/Code/CryEngine/CryCommon/CryCustomTypes.h
index e8f83145eb..25578ce9cc 100644
--- a/Code/CryEngine/CryCommon/CryCustomTypes.h
+++ b/Code/CryEngine/CryCommon/CryCustomTypes.h
@@ -1207,23 +1207,4 @@ protected:
uint nPrefixLength;
};
-
-// Define an irregular enum with TypeInfo
-
-#define DEFINE_ENUM_VALS(EType, TInt, ...) \
- struct EType \
- { \
- enum E { __VA_ARGS__ }; \
- DEFINE_ENUM_VALUE(EType, E, TInt) \
- ILINE static uint Count() { return TypeInfo().Count(); } \
- static const CEnumInfo& TypeInfo() { \
- static char enum_str[] = #__VA_ARGS__; \
- static LegacyDynArray Elems; \
- CEnumDef::SInit::Init(Elems); \
- CEnumDef::SInit __VA_ARGS__; \
- static CEnumInfo info( #EType, Elems, enum_str); \
- return info; \
- } \
- };
-
#endif // CRYINCLUDE_CRYCOMMON_CRYCUSTOMTYPES_H
diff --git a/Code/CryEngine/CryCommon/CryExtension/CryCreateClassInstance.h b/Code/CryEngine/CryCommon/CryExtension/CryCreateClassInstance.h
deleted file mode 100644
index 1d1a4805d4..0000000000
--- a/Code/CryEngine/CryCommon/CryExtension/CryCreateClassInstance.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-* its licensors.
-*
-* For complete copyright and license terms please see the LICENSE at the root of this
-* distribution (the "License"). All use of this software is governed by the License,
-* or, if provided, by the license below or the license accompanying this file. Do not
-* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*
-*/
-// Original file Copyright Crytek GMBH or its affiliates, used under license.
-
-// Description : Part of CryEngine's extension framework.
-
-
-#ifndef CRYINCLUDE_CRYEXTENSION_CRYCREATECLASSINSTANCE_H
-#define CRYINCLUDE_CRYEXTENSION_CRYCREATECLASSINSTANCE_H
-#pragma once
-
-
-#include "ICryUnknown.h"
-#include "ICryFactory.h"
-#include "ICryFactoryRegistry.h"
-#include // <> required for Interfuscator
-
-
-template
-bool CryCreateClassInstance(const CryClassID& cid, AZStd::shared_ptr& p)
-{
- p = AZStd::shared_ptr