diff --git a/.gitignore b/.gitignore index c28f6ab123..3a9b8f6f8e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ AssetProcessorTemp/** [Oo]ut/** CMakeUserPresets.json [Cc]ache/ -/install/ +/[Ii]nstall/ Editor/EditorEventLog.xml Editor/EditorLayout.xml **/*egg-info/** diff --git a/Assets/Engine/Config/performance.cfg b/Assets/Engine/Config/performance.cfg deleted file mode 100644 index 153209c20d..0000000000 --- a/Assets/Engine/Config/performance.cfg +++ /dev/null @@ -1,6 +0,0 @@ -e_StatoscopeScreenshotCapturePeriod = 1 - -e_StatoscopeDataGroups = Oulm -sys_pakLogInvalidFileAccess = 1 -e_StatoscopeWriteTimeout = 10 -e_StatoscopeConnectTimeout = 10 \ No newline at end of file diff --git a/AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.fbx b/AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.fbx similarity index 100% rename from AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.fbx rename to AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.fbx diff --git a/AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.fbx.assetinfo b/AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.fbx.assetinfo rename to AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.fbx.assetinfo diff --git a/AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.mtl b/AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.mtl similarity index 100% rename from AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.mtl rename to AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.mtl diff --git a/AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.physmaterial b/AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.physmaterial similarity index 100% rename from AutomatedTesting/Assets/C4044695_PhysXCollider_AddMultipleSurfaceFbx/test.physmaterial rename to AutomatedTesting/Assets/Physics/Collider_MultipleSurfaceSlots/test.physmaterial diff --git a/AutomatedTesting/Assets/C14861501_PhysXCollider_RenderMeshAutoAssigned/SphereBot/R0-B_Body.fbx b/AutomatedTesting/Assets/Physics/Collider_PxMeshAutoAssigned/SphereBot/R0-B_Body.fbx similarity index 100% rename from AutomatedTesting/Assets/C14861501_PhysXCollider_RenderMeshAutoAssigned/SphereBot/R0-B_Body.fbx rename to AutomatedTesting/Assets/Physics/Collider_PxMeshAutoAssigned/SphereBot/R0-B_Body.fbx diff --git a/AutomatedTesting/Assets/C14861501_PhysXCollider_RenderMeshAutoAssigned/SphereBot/r0-b_body.fbx.assetinfo b/AutomatedTesting/Assets/Physics/Collider_PxMeshAutoAssigned/SphereBot/r0-b_body.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Assets/C14861501_PhysXCollider_RenderMeshAutoAssigned/SphereBot/r0-b_body.fbx.assetinfo rename to AutomatedTesting/Assets/Physics/Collider_PxMeshAutoAssigned/SphereBot/r0-b_body.fbx.assetinfo diff --git a/AutomatedTesting/Assets/C14861501_PhysXCollider_RenderMeshAutoAssigned/SphereBot/r0-b_body.mtl b/AutomatedTesting/Assets/Physics/Collider_PxMeshAutoAssigned/SphereBot/r0-b_body.mtl similarity index 100% rename from AutomatedTesting/Assets/C14861501_PhysXCollider_RenderMeshAutoAssigned/SphereBot/r0-b_body.mtl rename to AutomatedTesting/Assets/Physics/Collider_PxMeshAutoAssigned/SphereBot/r0-b_body.mtl diff --git a/AutomatedTesting/Assets/C4982803_Enable_PxMesh_Option/SphereBot/R0-B_Body.fbx b/AutomatedTesting/Assets/Physics/Collider_PxMeshConvexMeshCollides/SphereBot/R0-B_Body.fbx similarity index 100% rename from AutomatedTesting/Assets/C4982803_Enable_PxMesh_Option/SphereBot/R0-B_Body.fbx rename to AutomatedTesting/Assets/Physics/Collider_PxMeshConvexMeshCollides/SphereBot/R0-B_Body.fbx diff --git a/AutomatedTesting/Assets/C4982803_Enable_PxMesh_Option/SphereBot/r0-b_body.fbx.assetinfo b/AutomatedTesting/Assets/Physics/Collider_PxMeshConvexMeshCollides/SphereBot/r0-b_body.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Assets/C4982803_Enable_PxMesh_Option/SphereBot/r0-b_body.fbx.assetinfo rename to AutomatedTesting/Assets/Physics/Collider_PxMeshConvexMeshCollides/SphereBot/r0-b_body.fbx.assetinfo diff --git a/AutomatedTesting/Assets/C4982803_Enable_PxMesh_Option/SphereBot/r0-b_body.mtl b/AutomatedTesting/Assets/Physics/Collider_PxMeshConvexMeshCollides/SphereBot/r0-b_body.mtl similarity index 100% rename from AutomatedTesting/Assets/C4982803_Enable_PxMesh_Option/SphereBot/r0-b_body.mtl rename to AutomatedTesting/Assets/Physics/Collider_PxMeshConvexMeshCollides/SphereBot/r0-b_body.mtl diff --git a/AutomatedTesting/Assets/C14861504_RenderMeshAsset_WithNoPxAsset/test_asset.fbx b/AutomatedTesting/Assets/Physics/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx/test_asset.fbx similarity index 100% rename from AutomatedTesting/Assets/C14861504_RenderMeshAsset_WithNoPxAsset/test_asset.fbx rename to AutomatedTesting/Assets/Physics/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx/test_asset.fbx diff --git a/AutomatedTesting/Assets/C14861504_RenderMeshAsset_WithNoPxAsset/test_asset.fbx.assetinfo b/AutomatedTesting/Assets/Physics/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx/test_asset.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Assets/C14861504_RenderMeshAsset_WithNoPxAsset/test_asset.fbx.assetinfo rename to AutomatedTesting/Assets/Physics/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx/test_asset.fbx.assetinfo diff --git a/AutomatedTesting/Assets/C14861504_RenderMeshAsset_WithNoPxAsset/test_asset.mtl b/AutomatedTesting/Assets/Physics/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx/test_asset.mtl similarity index 100% rename from AutomatedTesting/Assets/C14861504_RenderMeshAsset_WithNoPxAsset/test_asset.mtl rename to AutomatedTesting/Assets/Physics/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx/test_asset.mtl diff --git a/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt index a589a395c1..2a5e1d7cab 100644 --- a/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt @@ -17,15 +17,15 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) return() endif() - # Enable after installing NodeJS and CDK on jenkins Windows AMI. ly_add_pytest( NAME AutomatedTesting::AWSTests - TEST_SUITE periodic + TEST_SUITE awsi TEST_SERIAL PATH ${CMAKE_CURRENT_LIST_DIR}/${PAL_PLATFORM_NAME}/ RUNTIME_DEPENDENCIES Legacy::Editor AZ::AssetProcessor + AutomatedTesting.GameLauncher AutomatedTesting.Assets COMPONENT AWS diff --git a/AutomatedTesting/Gem/PythonTests/AWS/Windows/aws_metrics/aws_metrics_automation_test.py b/AutomatedTesting/Gem/PythonTests/AWS/Windows/aws_metrics/aws_metrics_automation_test.py index 061db991cf..1fb35cb9e8 100644 --- a/AutomatedTesting/Gem/PythonTests/AWS/Windows/aws_metrics/aws_metrics_automation_test.py +++ b/AutomatedTesting/Gem/PythonTests/AWS/Windows/aws_metrics/aws_metrics_automation_test.py @@ -133,7 +133,7 @@ def update_kinesis_analytics_application_status(aws_metrics_utils: pytest.fixtur aws_metrics_utils.stop_kinesis_data_analytics_application( resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsApplicationName')) -@pytest.mark.SUITE_periodic +@pytest.mark.SUITE_awsi @pytest.mark.usefixtures('automatic_process_killer') @pytest.mark.usefixtures('aws_credentials') @pytest.mark.usefixtures('resource_mappings') diff --git a/AutomatedTesting/Gem/PythonTests/AWS/Windows/client_auth/aws_client_auth_automation_test.py b/AutomatedTesting/Gem/PythonTests/AWS/Windows/client_auth/aws_client_auth_automation_test.py index b56d3f88f5..198fb934d9 100644 --- a/AutomatedTesting/Gem/PythonTests/AWS/Windows/client_auth/aws_client_auth_automation_test.py +++ b/AutomatedTesting/Gem/PythonTests/AWS/Windows/client_auth/aws_client_auth_automation_test.py @@ -21,7 +21,7 @@ AWS_CLIENT_AUTH_FEATURE_NAME = 'AWSClientAuth' logger = logging.getLogger(__name__) -@pytest.mark.SUITE_periodic +@pytest.mark.SUITE_awsi @pytest.mark.usefixtures('asset_processor') @pytest.mark.usefixtures('automatic_process_killer') @pytest.mark.usefixtures('aws_utils') diff --git a/AutomatedTesting/Gem/PythonTests/AWS/Windows/core/test_aws_resource_interaction.py b/AutomatedTesting/Gem/PythonTests/AWS/Windows/core/test_aws_resource_interaction.py index 529151f3f6..949186ad50 100644 --- a/AutomatedTesting/Gem/PythonTests/AWS/Windows/core/test_aws_resource_interaction.py +++ b/AutomatedTesting/Gem/PythonTests/AWS/Windows/core/test_aws_resource_interaction.py @@ -74,7 +74,7 @@ def write_test_data_to_dynamodb_table(resource_mappings: pytest.fixture, aws_uti raise -@pytest.mark.SUITE_periodic +@pytest.mark.SUITE_awsi @pytest.mark.usefixtures('automatic_process_killer') @pytest.mark.usefixtures('asset_processor') @pytest.mark.parametrize('feature_name', [AWS_CORE_FEATURE_NAME]) diff --git a/AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt index 172eded09a..cb83fe5344 100644 --- a/AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/Blast/CMakeLists.txt @@ -8,10 +8,10 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) ly_add_pytest( - NAME AutomatedTesting::BlastTests + NAME AutomatedTesting::BlastTests_Main TEST_SUITE main TEST_SERIAL TRUE - PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py + PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py RUNTIME_DEPENDENCIES Legacy::Editor AZ::AssetProcessor diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/Blast/ImportPathHelper.py deleted file mode 100755 index 0e395664ad..0000000000 --- a/AutomatedTesting/Gem/PythonTests/Blast/ImportPathHelper.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -def init(): - import os - import sys - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') diff --git a/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Active.py b/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py old mode 100755 new mode 100644 similarity index 76% rename from AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Active.py rename to AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py index 111f6d62e6..dbc4a1a456 --- a/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Active.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py @@ -22,29 +22,29 @@ from base import TestAutomationBase @pytest.mark.parametrize("project", ["AutomatedTesting"]) class TestAutomation(TestAutomationBase): def test_ActorSplitsAfterCollision(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterCollision as test_module + from .tests import Blast_ActorSplitsAfterCollision as test_module self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterRadialDamage(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterRadialDamage as test_module + from .tests import Blast_ActorSplitsAfterRadialDamage as test_module self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterCapsuleDamage(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterCapsuleDamage as test_module + from .tests import Blast_ActorSplitsAfterCapsuleDamage as test_module self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterImpactSpreadDamage(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterImpactSpreadDamage as test_module + from .tests import Blast_ActorSplitsAfterImpactSpreadDamage as test_module self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterShearDamage(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterShearDamage as test_module + from .tests import Blast_ActorSplitsAfterShearDamage as test_module self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterTriangleDamage(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterTriangleDamage as test_module + from .tests import Blast_ActorSplitsAfterTriangleDamage as test_module self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterStressDamage(self, request, workspace, editor, launcher_platform): - from . import ActorSplitsAfterStressDamage as test_module + from .tests import Blast_ActorSplitsAfterStressDamage as test_module self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/BaseDamageTest.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/BaseDamageTest.py index 109dbf13f3..87340ebb26 --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/BaseDamageTest.py @@ -41,11 +41,7 @@ def base_run(damage_func): :return: None """ - - import ImportPathHelper as imports - - imports.init() - + from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper diff --git a/AutomatedTesting/Gem/PythonTests/Blast/BlastUtils.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/BlastUtils.py similarity index 100% rename from AutomatedTesting/Gem/PythonTests/Blast/BlastUtils.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/BlastUtils.py diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterCapsuleDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterCapsuleDamage.py old mode 100755 new mode 100644 similarity index 79% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterCapsuleDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterCapsuleDamage.py index 96087569b3..11b395d927 --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterCapsuleDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterCapsuleDamage.py @@ -9,10 +9,8 @@ import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__))) -from ActorSplitsAfterDamage import Tests - -def ActorSplitsAfterCapsuleDamage(): - from ActorSplitsAfterDamage import base_run as internal_run +def Blast_ActorSplitsAfterCapsuleDamage(): + from BaseDamageTest import base_run as internal_run from BlastUtils import Constants def CapsuleDamage(target_id, position0): @@ -26,8 +24,5 @@ def ActorSplitsAfterCapsuleDamage(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterCapsuleDamage) + Report.start_test(Blast_ActorSplitsAfterCapsuleDamage) diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterCollision.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterCollision.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterCollision.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterCollision.py index af6bc62f71..815db78ddc --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterCollision.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterCollision.py @@ -18,7 +18,7 @@ class Tests(): # fmt: on -def ActorSplitsAfterCollision(): +def Blast_ActorSplitsAfterCollision(): """ Summary: @@ -46,10 +46,6 @@ def ActorSplitsAfterCollision(): :return: None """ - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -103,8 +99,5 @@ def ActorSplitsAfterCollision(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterCollision) + Report.start_test(Blast_ActorSplitsAfterCollision) diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterImpactSpreadDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterImpactSpreadDamage.py old mode 100755 new mode 100644 similarity index 75% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterImpactSpreadDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterImpactSpreadDamage.py index e98c7108ba..6cea44af17 --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterImpactSpreadDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterImpactSpreadDamage.py @@ -9,10 +9,8 @@ import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__))) -from ActorSplitsAfterDamage import Tests - -def ActorSplitsAfterImpactSpreadDamage(): - from ActorSplitsAfterDamage import base_run as internal_run +def Blast_ActorSplitsAfterImpactSpreadDamage(): + from BaseDamageTest import base_run as internal_run from BlastUtils import Constants def ImpactSpreadDamage(target_id, position): @@ -24,8 +22,5 @@ def ActorSplitsAfterImpactSpreadDamage(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterImpactSpreadDamage) + Report.start_test(Blast_ActorSplitsAfterImpactSpreadDamage) diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterRadialDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterRadialDamage.py old mode 100755 new mode 100644 similarity index 75% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterRadialDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterRadialDamage.py index 9f5f37752c..b3ddc9143c --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterRadialDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterRadialDamage.py @@ -9,10 +9,8 @@ import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__))) -from ActorSplitsAfterDamage import Tests - -def ActorSplitsAfterRadialDamage(): - from ActorSplitsAfterDamage import base_run as internal_run +def Blast_ActorSplitsAfterRadialDamage(): + from BaseDamageTest import base_run as internal_run from BlastUtils import Constants def RadialDamage(target_id, position): @@ -24,8 +22,5 @@ def ActorSplitsAfterRadialDamage(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterRadialDamage) \ No newline at end of file + Report.start_test(Blast_ActorSplitsAfterRadialDamage) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterShearDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterShearDamage.py old mode 100755 new mode 100644 similarity index 77% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterShearDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterShearDamage.py index 16abcbceea..8d14898fe6 --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterShearDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterShearDamage.py @@ -9,10 +9,8 @@ import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__))) -from ActorSplitsAfterDamage import Tests - -def ActorSplitsAfterShearDamage(): - from ActorSplitsAfterDamage import base_run as internal_run +def Blast_ActorSplitsAfterShearDamage(): + from BaseDamageTest import base_run as internal_run from BlastUtils import Constants def ShearDamage(target_id, position): @@ -25,8 +23,5 @@ def ActorSplitsAfterShearDamage(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterShearDamage) \ No newline at end of file + Report.start_test(Blast_ActorSplitsAfterShearDamage) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterStressDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterStressDamage.py old mode 100755 new mode 100644 similarity index 75% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterStressDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterStressDamage.py index a66efc5159..538d62929f --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterStressDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterStressDamage.py @@ -9,10 +9,8 @@ import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__))) -from ActorSplitsAfterDamage import Tests - -def ActorSplitsAfterStressDamage(): - from ActorSplitsAfterDamage import base_run as internal_run +def Blast_ActorSplitsAfterStressDamage(): + from BaseDamageTest import base_run as internal_run from BlastUtils import Constants def StressDamage(target_id, position): @@ -24,8 +22,5 @@ def ActorSplitsAfterStressDamage(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterStressDamage) + Report.start_test(Blast_ActorSplitsAfterStressDamage) diff --git a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterTriangleDamage.py b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterTriangleDamage.py old mode 100755 new mode 100644 similarity index 81% rename from AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterTriangleDamage.py rename to AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterTriangleDamage.py index 0dcd6d5354..31a7dc083e --- a/AutomatedTesting/Gem/PythonTests/Blast/ActorSplitsAfterTriangleDamage.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/tests/Blast_ActorSplitsAfterTriangleDamage.py @@ -9,10 +9,8 @@ import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__))) -from ActorSplitsAfterDamage import Tests - -def ActorSplitsAfterTriangleDamage(): - from ActorSplitsAfterDamage import base_run as internal_run +def Blast_ActorSplitsAfterTriangleDamage(): + from BaseDamageTest import base_run as internal_run from BlastUtils import Constants def TriangleDamage(target_id, position): @@ -28,8 +26,5 @@ def ActorSplitsAfterTriangleDamage(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report - Report.start_test(ActorSplitsAfterTriangleDamage) \ No newline at end of file + Report.start_test(Blast_ActorSplitsAfterTriangleDamage) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py index 0b4cf47961..fec9d9880b 100644 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py @@ -214,6 +214,12 @@ class EditorEntity: """ return editor.EditorEntityInfoRequestBus(bus.Event, "GetParent", self.id) + def get_children_ids(self) -> List[azlmbr.entity.EntityId]: + """ + :return: Entity ids of children. Type: [entity.EntityId()] + """ + return editor.EditorEntityInfoRequestBus(bus.Event, "GetChildren", self.id) + def add_component(self, component_name: str) -> EditorComponent: """ Used to add new component to Entity. diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt index 3913041f88..4343be3194 100644 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt @@ -12,7 +12,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) TEST_SUITE main TEST_REQUIRES gpu TEST_SERIAL - PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py + PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py RUNTIME_DEPENDENCIES Legacy::Editor AZ::AssetProcessor diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py deleted file mode 100755 index 0e395664ad..0000000000 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -def init(): - import os - import sys - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Active.py b/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Main.py old mode 100755 new mode 100644 similarity index 62% rename from AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Active.py rename to AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Main.py index 9302054d33..49a776a48c --- a/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Active.py +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Main.py @@ -22,12 +22,11 @@ from base import TestAutomationBase class TestAutomation(TestAutomationBase): use_null_renderer = False # Use default renderer (needs gpu) - extra_cmdline_args = [] - def test_C18977329_NvCloth_AddClothSimulationToMesh(self, request, workspace, editor, launcher_platform): - from . import C18977329_NvCloth_AddClothSimulationToMesh as test_module - self._run_test(request, workspace, editor, test_module, self.extra_cmdline_args, self.use_null_renderer) + def test_NvCloth_AddClothSimulationToMesh(self, request, workspace, editor, launcher_platform): + from .tests import NvCloth_AddClothSimulationToMesh as test_module + self._run_test(request, workspace, editor, test_module, use_null_renderer = self.use_null_renderer) - def test_C18977330_NvCloth_AddClothSimulationToActor(self, request, workspace, editor, launcher_platform): - from . import C18977330_NvCloth_AddClothSimulationToActor as test_module - self._run_test(request, workspace, editor, test_module, self.extra_cmdline_args, self.use_null_renderer) + def test_NvCloth_AddClothSimulationToActor(self, request, workspace, editor, launcher_platform): + from .tests import NvCloth_AddClothSimulationToActor as test_module + self._run_test(request, workspace, editor, test_module, use_null_renderer = self.use_null_renderer) diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py b/AutomatedTesting/Gem/PythonTests/NvCloth/tests/NvCloth_AddClothSimulationToActor.py old mode 100755 new mode 100644 similarity index 89% rename from AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py rename to AutomatedTesting/Gem/PythonTests/NvCloth/tests/NvCloth_AddClothSimulationToActor.py index 2eaed04f41..357067b176 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/tests/NvCloth_AddClothSimulationToActor.py @@ -15,7 +15,7 @@ class Tests: exit_game_mode = ("Exited game mode", "Failed to exit game mode") # fmt: on -def C18977330_NvCloth_AddClothSimulationToActor(): +def NvCloth_AddClothSimulationToActor(): """ Summary: Load level with Entity having Actor and Cloth components already setup. Verify that editor remains stable in Game mode. @@ -44,11 +44,7 @@ def C18977330_NvCloth_AddClothSimulationToActor(): from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report - - # Helper file Imports - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -57,7 +53,7 @@ def C18977330_NvCloth_AddClothSimulationToActor(): helper.init_idle() # 1) Load the level - helper.open_level("NvCloth", "C18977330_NvCloth_AddClothSimulationToActor") + helper.open_level("NvCloth", "NvCloth_AddClothSimulationToActor") # 2) Start the Tracer to catch any errors and warnings with Tracer() as section_tracer: @@ -84,7 +80,5 @@ def C18977330_NvCloth_AddClothSimulationToActor(): helper.close_editor() if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report - Report.start_test(C18977330_NvCloth_AddClothSimulationToActor) + Report.start_test(NvCloth_AddClothSimulationToActor) diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py b/AutomatedTesting/Gem/PythonTests/NvCloth/tests/NvCloth_AddClothSimulationToMesh.py old mode 100755 new mode 100644 similarity index 89% rename from AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py rename to AutomatedTesting/Gem/PythonTests/NvCloth/tests/NvCloth_AddClothSimulationToMesh.py index 6009c2aca7..0f9d8448f7 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/tests/NvCloth_AddClothSimulationToMesh.py @@ -15,7 +15,7 @@ class Tests: exit_game_mode = ("Exited game mode", "Failed to exit game mode") # fmt: on -def C18977329_NvCloth_AddClothSimulationToMesh(): +def NvCloth_AddClothSimulationToMesh(): """ Summary: Load level with Entity having Mesh and Cloth components already setup. Verify that editor remains stable in Game mode. @@ -45,10 +45,6 @@ def C18977329_NvCloth_AddClothSimulationToMesh(): from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report - # Helper file Imports - import ImportPathHelper as imports - - imports.init() from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -57,7 +53,7 @@ def C18977329_NvCloth_AddClothSimulationToMesh(): helper.init_idle() # 1) Load the level - helper.open_level("NvCloth", "C18977329_NvCloth_AddClothSimulationToMesh") + helper.open_level("NvCloth", "NvCloth_AddClothSimulationToMesh") # 2) Start the Tracer to catch any errors and warnings with Tracer() as section_tracer: @@ -84,7 +80,5 @@ def C18977329_NvCloth_AddClothSimulationToMesh(): helper.close_editor() if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report - Report.start_test(C18977329_NvCloth_AddClothSimulationToMesh) + Report.start_test(NvCloth_AddClothSimulationToMesh) diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt index 1c7a02862d..10cf949c25 100644 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/CMakeLists.txt @@ -11,7 +11,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) NAME AutomatedTesting::WhiteBoxTests TEST_SUITE main TEST_SERIAL - PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py + PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py RUNTIME_DEPENDENCIES Legacy::Editor AZ::AssetProcessor diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/FileManagement.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/FileManagement.py deleted file mode 100755 index 89b7559dd1..0000000000 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/FileManagement.py +++ /dev/null @@ -1,350 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT - -""" - -# Imports -import os -import shutil -import json -import logging -import ly_test_tools.environment.file_system as fs - - -class FileManagement: - """ - File Management static class: Handles file backup and restoration. - Organizes backing up files into a single directory and - mapping the back up files to their original files. - - Features accessible via the exposed decorator functions. - """ - - # Static variables - MAX_BACKUPS = 10000 # Arbitrary number to cap same-file-name name generating - backup_folder_name = ".backup" - backup_folder_path = os.path.join(os.path.split(__file__)[0], backup_folder_name) # CWD plus backup folder name - file_map_name = "_filebackup_map.json" # JSON file to store original to back up file mappings - - @staticmethod - def _load_file_map(): - # type: () -> {str: str} - """ - Loads the FileManagement's json file map. - The returned dictionary has key: value sets such that: - keys: full path to an original file currently being backed up - values: name of the original file's backup file. Uses a numbering system for - storing multiple file names that are identical but located in different directories. - If there is no current json file or the file cannot be parsed, an empty dictionary is returned. - :return: Dictionary to map original file's to their back up file names. - """ - json_file_path = os.path.join(FileManagement.backup_folder_path, FileManagement.file_map_name) - if os.path.exists(json_file_path): - try: - with open(json_file_path, "r") as f: - return json.load(f) - except ValueError: - logging.info("Decoding JSON file {} failed. Empty dictionary used".format(json_file_path)) - return {} - - @staticmethod - def _save_file_map(file_map): - # type: ({str: str}) -> None - """ - Saves the [file_map] dictionary as a json file. - If [file_map] is empty, deletes the json file. - :param file_map: A dictionary mapping original file paths to their back up file names. - :return: None - """ - file_path = os.path.join(FileManagement.backup_folder_path, FileManagement.file_map_name) - if os.path.exists(file_path): - fs.unlock_file(file_path) - if len(file_map) > 0: - with open(file_path, "w") as f: - json.dump(file_map, f) - fs.lock_file(file_path) - else: - fs.delete([file_path], True, False) - - @staticmethod - def _next_available_name(file_name, file_map): - # type: (str, {str: str}) -> str or None - """ - Generates the next available backup file name using a FILE_NAME_x.ext naming convention - where x is a number. Returns None if we've maxed out the numbering system. - :param file_name: The base file to generate a back up file name for. - :param file_map: The file_map for the FileManagement system - :return: str - """ - suffix, extension = file_name.split(".", 1) - for i in range(FileManagement.MAX_BACKUPS): - potential_name = suffix + "_" + str(i) + "." + extension - if potential_name not in file_map.values(): - return potential_name - return None - - @staticmethod - def _backup_file(file_name, file_path): - # type: (str, str) -> None - """ - Backs up the [file_name] located at [file_path] into the FileManagement's backup folder. - Leaves the backup file locked from writing privileges. - :param file_name: The file's name that will be backed up - :param file_path: The path to the file to back up - :return: None - """ - file_map = FileManagement._load_file_map() - backup_path = FileManagement.backup_folder_path - backup_file_name = "{}.bak".format(file_name) - backup_file = os.path.join(backup_path, backup_file_name) - # If backup directory DNE, make one - if not os.path.exists(backup_path): - os.mkdir(backup_path) - # If "traditional" backup file exists, delete it (myFile.txt.bak) - if os.path.exists(backup_file): - fs.delete([backup_file], True, False) - # Find my next storage name (myFile_1.txt.bak) - backup_storage_file_name = FileManagement._next_available_name(backup_file_name, file_map) - if backup_storage_file_name is None: - # If _next_available_name returns None, we have backed up MAX_BACKUPS of files name [file_name] - raise Exception( - "FileManagement class ran out of backups per name. Max: {}".format(FileManagement.MAX_BACKUPS) - ) - backup_storage_file = os.path.join(backup_path, backup_storage_file_name) - if os.path.exists(backup_storage_file): - # This file should not exists, but if it does it's about to get clobbered! - fs.unlock_file(backup_storage_file) - # Create "traditional" backup file (myFile.txt.bak) - fs.create_backup(os.path.join(file_path, file_name), backup_path) - # Copy "traditional" backup file into storage backup (myFile_1.txt.bak) - FileManagement._copy_file(backup_file_name, backup_path, backup_storage_file_name, backup_path) - fs.lock_file(backup_storage_file) - # Delete "traditional" back up file - fs.unlock_file(backup_file) - fs.delete([backup_file], True, False) - # Update file map with new file - file_map[os.path.join(file_path, file_name)] = backup_storage_file_name - FileManagement._save_file_map(file_map) - # Unlock original file to get it ready to be edited by the test - fs.unlock_file(os.path.join(file_path, file_name)) - - @staticmethod - def _restore_file(file_name, file_path): - # type: (str, str) -> None - """ - Restores the [file_name] located at [file_path] which is backed up in FileManagement's backup folder. - Locks [file_name] from writing privileges when done restoring. - :param file_name: The Original file that was backed up, and now restored - :param file_path: The location of the original file that was backed up - :return: None - """ - file_map = FileManagement._load_file_map() - backup_path = FileManagement.backup_folder_path - src_file = os.path.join(file_path, file_name) - if src_file in file_map: - backup_file = os.path.join(backup_path, file_map[src_file]) - if os.path.exists(backup_file): - fs.unlock_file(backup_file) - fs.unlock_file(src_file) - # Make temporary copy of backed up file to restore from - temp_file = "{}.bak".format(file_name) - FileManagement._copy_file(file_map[src_file], backup_path, temp_file, backup_path) - fs.restore_backup(src_file, backup_path) - fs.lock_file(src_file) - # Delete backup file - fs.delete([os.path.join(backup_path, temp_file)], True, False) - fs.delete([backup_file], True, False) - # Remove from file map - del file_map[src_file] - FileManagement._save_file_map(file_map) - if not os.listdir(backup_path): - # Delete backup folder if it's empty now - os.rmdir(backup_path) - - @staticmethod - def _find_files(file_names, root_dir, search_subdirs=False): - # type: ([str], str, bool) -> {str:str} - """ - Searches the [root_dir] directory tree for each of the file names in [file_names]. Returns a dictionary - where keys = the entries in file_names, and their values are the paths they were found at. - Raises a runtime warning if not exactly one copy of each file is found. - :param file_names: A list of file_names to look for - :param root_dir: The root directory to begin the search - collect all file paths matching that file_name - :param search_subdirs: Optional boolean flag for searching sub-directories of [parent_path] - :return: A dictionary where keys are file names, and values are the file's path. - """ - file_list = {} - found_count = 0 - for file_name in file_names: - file_list[file_name] = None - if search_subdirs: - # Search parent path for all file name arguments - for dir_path, _, dir_files in os.walk(root_dir): - for dir_file in dir_files: - if dir_file in file_list.keys(): - if file_list[dir_file] is None: - file_list[dir_file] = dir_path - found_count += 1 - else: - # Found multiple files with same name. Raise warning. - raise RuntimeWarning("Found multiple files with the name {}.".format(dir_file)) - else: - for dir_file in os.listdir(root_dir): - if os.path.isfile(os.path.join(root_dir, dir_file)) and dir_file in file_names: - file_list[dir_file] = root_dir - not_found = [file_name for file_name in file_names if file_list[file_name] is None] - if not_found: - raise RuntimeWarning("Could not find the following files: {}".format(not_found)) - - return file_list - - @staticmethod - def _copy_file(src_file, src_path, target_file, target_path): - # type: (str, str, str, str) -> None - """ - Copies the [src_file] at located in [src_path] to the [target_file] located at [target_path]. - Leaves the [target_file] unlocked for reading and writing privileges - :param src_file: The source file to copy (file name) - :param src_path: The source file's path - :param target_file: The target file to copy into (file name) - :param target_path: The target file's path - :return: None - """ - target_file_path = os.path.join(target_path, target_file) - src_file_path = os.path.join(src_path, src_file) - if os.path.exists(target_file_path): - fs.unlock_file(target_file_path) - shutil.copyfile(src_file_path, target_file_path) - - @staticmethod - def file_revert(file_name, parent_path=None, search_subdirs=False): - # type: (str, str, bool) -> function - """ - Function decorator: - Convenience version of file_revert_list for passing a single file - Calls file_revert_list on a list one [file_name] - :param file_name: The name of a file to backup (not path) - :param parent_path: The root directory to search for the [file_names] (relative to the dev folder). - Defaults to the project folder described by the inner function's workspace fixture - :param search_subdirs: A boolean option for searching sub-directories for the files in [file_names] - :return: function as per the function decorator pattern - """ - return FileManagement.file_revert_list([file_name], parent_path, search_subdirs) - - @staticmethod - def file_revert_list(file_names, parent_path=None, search_subdirs=False): - # type: ([str], str, bool) -> function - """ - Function decorator: - Collects file names specified in [file_names] in the [parent_path] directory. - Backs up these files before executing the parameter to the "wrap" function. - If the search_subdirs flag is True, searches all subdirectories of [parent_path] for files. - :param file_names: A list of file names (not paths) - :param parent_path: The root directory to search for the [file_names] (relative to the dev folder). - Defaults to the project folder described by the inner function's workspace fixture - :param search_subdirs: A boolean option for searching sub-directories for the files in [file_names] - :return: function as per the function decorator pattern - """ - - def wrap(func): - # type: (function) -> function - def inner(self, request, workspace, editor, launcher_platform): - # type: (...) -> None - """ - Inner function to wrap around decorated function. Function being decorated must match this - functions parameter order. - """ - root_path = parent_path - if root_path is not None: - root_path = os.path.join(workspace.paths.engine_root(), root_path) - else: - # Default to project folder (AutomatedTesting) - root_path = workspace.paths.project() - - # Try to locate files - try: - file_list = FileManagement._find_files(file_names, root_path, search_subdirs) - except RuntimeWarning as w: - assert False, ( - w.message - + " Please check use of search_subdirs; make sure you are using the correct parent directory." - ) - - # Restore from backups - for file_name, file_path in file_list.items(): - FileManagement._restore_file(file_name, file_path) - - # Create backups for each discovered path for each specified filename - for file_name, file_path in file_list.items(): - FileManagement._backup_file(file_name, file_path) - - try: - # Run the test - func(self, request, workspace, editor, launcher_platform) - finally: - # Restore backups for each discovered path for each specified filename if they exist - for file_name, file_path in file_list.items(): - FileManagement._restore_file(file_name, file_path) - - return inner - - return wrap - - @staticmethod - def file_override(target_file, src_file, parent_path=None, search_subdirs=False): - # type: (str, str, str, bool) -> function - """ - Function decorator: - Searches for [target_file] and [src_file] in [parent_path](relative to the project dev folder) - and performs backup and file swapping. [target_file] is backed up and replaced with [src_file] before the - decorated function executes. - After the decorated function is executed [target_file] is restored to the state before being swapped. - If [parent_path] is not specified, the project folder described by the current workspace will be used. - If the search_subdirs flag is True, searches all subdirectories of [parent_path] for files. - :param target_file: The name of the file being backed up and swapped into - :param src_file: The name of the file to swap into [target_file] - :param parent_path: The root directory to search for the [file_names] (relative to the dev folder). - Defaults to the project folder described by the inner function's workspace fixture - :param search_subdirs: A boolean option for searching sub-directories for the files in [file_names] - :return: The decorated function - """ - - def wrap(func): - def inner(self, request, workspace, editor, launcher_platform): - """ - Inner function to wrap around decorated function. Function being decorated must match this - functions parameter order. - """ - root_path = parent_path - if root_path is not None: - root_path = os.path.join(workspace.paths.engine_root(), root_path) - else: - # Default to project folder (AutomatedTesting) - root_path = workspace.paths.project() - - # Try to locate both target and source files - try: - file_list = FileManagement._find_files([target_file, src_file], root_path, search_subdirs) - except RuntimeWarning as w: - assert False, ( - w.message - + " Please check use of search_subdirs; make sure you are using the correct parent directory." - ) - - FileManagement._restore_file(target_file, file_list[target_file]) - FileManagement._backup_file(target_file, file_list[target_file]) - FileManagement._copy_file(src_file, file_list[src_file], target_file, file_list[target_file]) - - try: - # Run Test - func(self, request, workspace, editor, launcher_platform) - finally: - FileManagement._restore_file(target_file, file_list[target_file]) - - return inner - - return wrap diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/ImportPathHelper.py deleted file mode 100755 index 0e395664ad..0000000000 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/ImportPathHelper.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -def init(): - import os - import sys - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Active.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py old mode 100755 new mode 100644 similarity index 61% rename from AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Active.py rename to AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py index c4a08f5667..fa6c81c98a --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Active.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py @@ -12,7 +12,6 @@ import pytest import sys import os -from .FileManagement import FileManagement as fm from ly_test_tools import LAUNCHERS sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') @@ -23,14 +22,14 @@ from base import TestAutomationBase @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) class TestAutomation(TestAutomationBase): - def test_C28798177_WhiteBox_AddComponentToEntity(self, request, workspace, editor, launcher_platform): - from . import C28798177_WhiteBox_AddComponentToEntity as test_module + def test_WhiteBox_AddComponentToEntity(self, request, workspace, editor, launcher_platform): + from .tests import WhiteBox_AddComponentToEntity as test_module self._run_test(request, workspace, editor, test_module) - def test_C29279329_WhiteBox_SetDefaultShape(self, request, workspace, editor, launcher_platform): - from . import C29279329_WhiteBox_SetDefaultShape as test_module + def test_WhiteBox_SetDefaultShape(self, request, workspace, editor, launcher_platform): + from .tests import WhiteBox_SetDefaultShape as test_module self._run_test(request, workspace, editor, test_module) - def test_C28798205_WhiteBox_SetInvisible(self, request, workspace, editor, launcher_platform): - from . import C28798205_WhiteBox_SetInvisible as test_module + def test_WhiteBox_SetInvisible(self, request, workspace, editor, launcher_platform): + from .tests import WhiteBox_SetInvisible as test_module self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py old mode 100755 new mode 100644 similarity index 93% rename from AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py rename to AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py index bd65555951..7e250e304f --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798177_WhiteBox_AddComponentToEntity.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py @@ -21,8 +21,6 @@ def C28798177_WhiteBox_AddComponentToEntity(): import os import sys from Gems.WhiteBox.Editor.Scripts import WhiteBoxInit as init - import ImportPathHelper as imports - imports.init() import azlmbr.bus as bus import azlmbr.editor as editor @@ -53,8 +51,5 @@ def C28798177_WhiteBox_AddComponentToEntity(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C28798177_WhiteBox_AddComponentToEntity) diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py rename to AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py index 060a648389..417561a3bd --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/C29279329_WhiteBox_SetDefaultShape.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py @@ -25,8 +25,6 @@ def C29279329_WhiteBox_SetDefaultShape(): import os import sys from Gems.WhiteBox.Editor.Scripts import WhiteBoxInit as init - import ImportPathHelper as imports - imports.init() import azlmbr.whitebox.api as api import azlmbr.bus as bus @@ -102,8 +100,5 @@ def C29279329_WhiteBox_SetDefaultShape(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C29279329_WhiteBox_SetDefaultShape) diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py rename to AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py index 3cbfd4ea08..9642835e8f --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/C28798205_WhiteBox_SetInvisible.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py @@ -24,9 +24,7 @@ def C28798205_WhiteBox_SetInvisible(): import os import sys from Gems.WhiteBox.Editor.Scripts import WhiteBoxInit as init - import ImportPathHelper as imports import editor_python_test_tools.hydra_editor_utils as hydra - imports.init() import azlmbr.whitebox.api as api import azlmbr.whitebox @@ -63,8 +61,5 @@ def C28798205_WhiteBox_SetInvisible(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C28798205_WhiteBox_SetInvisible) diff --git a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_GPUTests.py b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_GPUTests.py index 047f46a40f..e62ab5e5dc 100644 --- a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_GPUTests.py +++ b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_GPUTests.py @@ -7,8 +7,10 @@ SPDX-License-Identifier: Apache-2.0 OR MIT Tests that require a GPU in order to run. """ +import datetime import logging import os +import zipfile import pytest @@ -40,6 +42,33 @@ def golden_images_directory(): return golden_images_dir +def create_screenshots_archive(screenshot_path): + """ + Creates a new zip file archive at archive_path containing all files listed within archive_path. + :param screenshot_path: location containing the files to archive, the zip archive file will also be saved here. + :return: None, but creates a new zip file archive inside path containing all of the files inside archive_path. + """ + files_to_archive = [] + + # Search for .png and .ppm files to add to the zip archive file. + for (folder_name, sub_folders, file_names) in os.walk(screenshot_path): + for file_name in file_names: + if file_name.endswith(".png") or file_name.endswith(".ppm"): + file_path = os.path.join(folder_name, file_name) + files_to_archive.append(file_path) + + # Setup variables for naming the zip archive file. + timestamp = datetime.datetime.now().timestamp() + formatted_timestamp = datetime.datetime.utcfromtimestamp(timestamp).strftime("%Y-%m-%d_%H-%M-%S") + screenshots_file = os.path.join(screenshot_path, f'zip_archive_{formatted_timestamp}.zip') + + # Write all of the valid .png and .ppm files to the archive file. + with zipfile.ZipFile(screenshots_file, 'w', compression=zipfile.ZIP_DEFLATED, allowZip64=True) as zip_archive: + for file_path in files_to_archive: + file_name = os.path.basename(file_path) + zip_archive.write(file_path, file_name) + + @pytest.mark.parametrize("project", ["AutomatedTesting"]) @pytest.mark.parametrize("launcher_platform", ["windows_editor"]) @pytest.mark.parametrize("level", ["auto_test"]) @@ -53,8 +82,8 @@ class TestAllComponentsIndepthTests(object): Tests that a basic rendering level setup can be created (lighting, meshes, materials, etc.). """ # Clear existing test screenshots before starting test. - test_screenshots = [os.path.join( - workspace.paths.project(), DEFAULT_SUBFOLDER_PATH, screenshot_name)] + screenshot_directory = os.path.join(workspace.paths.project(), DEFAULT_SUBFOLDER_PATH) + test_screenshots = [os.path.join(screenshot_directory, screenshot_name)] file_system.delete(test_screenshots, True, True) golden_images = [os.path.join(golden_images_directory(), screenshot_name)] @@ -86,6 +115,8 @@ class TestAllComponentsIndepthTests(object): for test_screenshot, golden_screenshot in zip(test_screenshots, golden_images): compare_screenshots(test_screenshot, golden_screenshot) + create_screenshots_archive(screenshot_directory) + def test_LightComponent_ScreenshotMatchesGoldenImage( self, request, editor, workspace, project, launcher_platform, level): """ @@ -105,9 +136,10 @@ class TestAllComponentsIndepthTests(object): "SpotLight_5.ppm", "SpotLight_6.ppm", ] + screenshot_directory = os.path.join(workspace.paths.project(), DEFAULT_SUBFOLDER_PATH) test_screenshots = [] for screenshot in screenshot_names: - screenshot_path = os.path.join(workspace.paths.project(), DEFAULT_SUBFOLDER_PATH, screenshot) + screenshot_path = os.path.join(screenshot_directory, screenshot) test_screenshots.append(screenshot_path) file_system.delete(test_screenshots, True, True) @@ -139,6 +171,8 @@ class TestAllComponentsIndepthTests(object): for test_screenshot, golden_screenshot in zip(test_screenshots, golden_images): compare_screenshots(test_screenshot, golden_screenshot) + create_screenshots_archive(screenshot_directory) + @pytest.mark.parametrize('rhi', ['dx12', 'vulkan']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) diff --git a/AutomatedTesting/Gem/PythonTests/editor/TestSuite_Sandbox_Optimized.py b/AutomatedTesting/Gem/PythonTests/editor/TestSuite_Sandbox_Optimized.py index d49e9e1c9b..4a472095ae 100644 --- a/AutomatedTesting/Gem/PythonTests/editor/TestSuite_Sandbox_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/editor/TestSuite_Sandbox_Optimized.py @@ -11,7 +11,6 @@ import pytest from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite -@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") @pytest.mark.SUITE_sandbox @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/PhysXColliderSurfaceTagEmitter_E2E_Editor.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/PhysXColliderSurfaceTagEmitter_E2E_Editor.py index 2052c59a94..361dbdaea9 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/PhysXColliderSurfaceTagEmitter_E2E_Editor.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/PhysXColliderSurfaceTagEmitter_E2E_Editor.py @@ -156,7 +156,7 @@ class TestPhysXColliderSurfaceTagEmitter(EditorTestHelper): # Setup collider entity with a PhysX Mesh test_physx_mesh_asset_id = asset.AssetCatalogRequestBus( bus.Broadcast, "GetAssetIdByPath", os.path.join("levels", "physics", - "c4044697_material_perfacematerialvalidation", + "Material_PerFaceMaterialGetsCorrectMaterial", "test.pxmesh"), math.Uuid(), False) # Remove/re-add component due to LYN-5496 diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/gradient_signal/TestSuite_Periodic_Optimized.py b/AutomatedTesting/Gem/PythonTests/largeworlds/gradient_signal/TestSuite_Periodic_Optimized.py index 514504d324..f996a1f8c3 100644 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/gradient_signal/TestSuite_Periodic_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/gradient_signal/TestSuite_Periodic_Optimized.py @@ -10,6 +10,7 @@ import pytest from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite +@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") @pytest.mark.SUITE_periodic @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py index 8c662a9b45..9cc572ad69 100644 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py @@ -12,6 +12,7 @@ import ly_test_tools.environment.file_system as file_system from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite +@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") @pytest.mark.SUITE_periodic @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @@ -58,11 +59,11 @@ class TestAutomation(EditorTestSuite): from .EditorScripts import GraphClosed_TabbedGraph as test_module class test_LandscapeCanvas_Slice_CreateInstantiate(EditorSingleTest): + from .EditorScripts import Slice_CreateInstantiate as test_module # Custom teardown to remove slice asset created during test def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "slices", "TestSlice.slice")], True, True) - from .EditorScripts import Slice_CreateInstantiate as test_module class test_LandscapeCanvas_GradientModifierNodes_EntityCreatedOnNodeAdd(EditorSharedTest): from .EditorScripts import GradientModifierNodes_EntityCreatedOnNodeAdd as test_module diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py index dad37297cc..9e3a9cb4ff 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py @@ -20,368 +20,164 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesti from base import TestAutomationBase @pytest.mark.parametrize("project", ["AutomatedTesting"]) +@pytest.mark.parametrize("launcher_platform", ['windows_editor']) class TestAutomation(TestAutomationBase): @fm.file_revert("ragdollbones.physmaterial", - r"AutomatedTesting\Levels\Physics\C4925582_Material_AddModifyDeleteOnRagdollBones") - def test_C4925582_Material_AddModifyDeleteOnRagdollBones(self, request, workspace, editor): - from .material import C4925582_Material_AddModifyDeleteOnRagdollBones as test_module + r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnRagdollBones") + def test_Material_LibraryCrudOperationsReflectOnRagdollBones(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryCrudOperationsReflectOnRagdollBones as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C4925580_Material_RagdollBonesMaterial(self, request, workspace, editor): - from .material import C4925580_Material_RagdollBonesMaterial as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Material_RagdollBones(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_RagdollBones as test_module + self._run_test(request, workspace, editor, test_module) @fm.file_revert("c15308221_material_componentsinsyncwithlibrary.physmaterial", - r"AutomatedTesting\Levels\Physics\C15308221_Material_ComponentsInSyncWithLibrary") - def test_C15308221_Material_ComponentsInSyncWithLibrary(self, request, workspace, editor): - from .material import C15308221_Material_ComponentsInSyncWithLibrary as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + r"AutomatedTesting\Levels\Physics\Material_ComponentsInSyncWithLibrary") + def test_Material_ComponentsInSyncWithLibrary(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_ComponentsInSyncWithLibrary as test_module + self._run_test(request, workspace, editor, test_module) # BUG: LY-107723") - def test_C14976308_ScriptCanvas_SetKinematicTargetTransform(self, request, workspace, editor): - from .script_canvas import C14976308_ScriptCanvas_SetKinematicTargetTransform as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_ScriptCanvas_SetKinematicTargetTransform(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_SetKinematicTargetTransform as test_module + self._run_test(request, workspace, editor, test_module) # Failing, PhysXTerrain @fm.file_revert("c4925579_material_addmodifydeleteonterrain.physmaterial", - r"AutomatedTesting\Levels\Physics\C4925579_Material_AddModifyDeleteOnTerrain") - def test_C4925579_Material_AddModifyDeleteOnTerrain(self, request, workspace, editor): - from .material import C4925579_Material_AddModifyDeleteOnTerrain as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnTerrain") + def test_Material_LibraryCrudOperationsReflectOnTerrain(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryCrudOperationsReflectOnTerrain as test_module + self._run_test(request, workspace, editor, test_module) # Failing, PhysXTerrain - def test_C13508019_Terrain_TerrainTexturePainterWorks(self, request, workspace, editor): - from .terrain import C13508019_Terrain_TerrainTexturePainterWorks as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Terrain_TerrainTexturePainterWorks(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_TerrainTexturePainterWorks as test_module + self._run_test(request, workspace, editor, test_module) # Failing, PhysXTerrain - def test_C4925577_Materials_MaterialAssignedToTerrain(self, request, workspace, editor): - from .material import C4925577_Materials_MaterialAssignedToTerrain as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Material_CanBeAssignedToTerrain(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_CanBeAssignedToTerrain as test_module + self._run_test(request, workspace, editor, test_module) # Failing, PhysXTerrain - def test_C15096735_Materials_DefaultLibraryConsistency(self, request, workspace, editor): - from .material import C15096735_Materials_DefaultLibraryConsistency as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Material_DefaultLibraryConsistentOnAllFeatures(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_DefaultLibraryConsistentOnAllFeatures as test_module + self._run_test(request, workspace, editor, test_module) # Failing, PhysXTerrain - @fm.file_revert("all_ones_1.physmaterial", r"AutomatedTesting\Levels\Physics\C15096737_Materials_DefaultMaterialLibraryChanges") - @fm.file_override("default.physxconfiguration", "C15096737_Materials_DefaultMaterialLibraryChanges.physxconfiguration", "AutomatedTesting") - def test_C15096737_Materials_DefaultMaterialLibraryChanges(self, request, workspace, editor): - from .material import C15096737_Materials_DefaultMaterialLibraryChanges as test_module - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + @fm.file_revert("all_ones_1.physmaterial", r"AutomatedTesting\Levels\Physics\Material_DefaultMaterialLibraryChangesWork") + @fm.file_override("default.physxconfiguration", "Material_DefaultMaterialLibraryChangesWork.physxconfiguration", "AutomatedTesting") + def test_Material_DefaultMaterialLibraryChangesWork(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_DefaultMaterialLibraryChangesWork as test_module + self._run_test(request, workspace, editor, test_module) - def test_C4976242_Collision_SameCollisionlayerSameCollisiongroup(self, request, workspace, editor): - from .collider import C4976242_Collision_SameCollisionlayerSameCollisiongroup as test_module + def test_Collider_SameCollisionGroupSameLayerCollide(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_SameCollisionGroupSameLayerCollide as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Ragdoll_OldRagdollSerializationNoErrors(self, request, workspace, editor, launcher_platform): + from .tests.ragdoll import Ragdoll_OldRagdollSerializationNoErrors as test_module + self._run_test(request, workspace, editor, test_module) - def test_C15096732_Material_DefaultLibraryUpdatedAcrossLevels(self, request, workspace, editor): - @fm.file_override("default.physxconfiguration", - "Material_DefaultLibraryUpdatedAcrossLevels_before.physxconfiguration", "AutomatedTesting", - search_subdirs=True) - def test_levels_before(self, request, workspace, editor): - from .material import C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before as test_module_0 - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module_0, expected_lines, unexpected_lines) + @fm.file_override("default.physxconfiguration", "ScriptCanvas_OverlapNode.physxconfiguration") + def test_ScriptCanvas_OverlapNode(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_OverlapNode as test_module + self._run_test(request, workspace, editor, test_module) - # File override replaces the previous physxconfiguration file with another where the only difference is the default material library - @fm.file_override("default.physxconfiguration", - "Material_DefaultLibraryUpdatedAcrossLevels_after.physxconfiguration", "AutomatedTesting", - search_subdirs=True) - def test_levels_after(self, request, workspace, editor): - from .material import C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after as test_module_1 - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module_1, expected_lines, unexpected_lines) - - test_levels_before(self, request, workspace, editor) - test_levels_after(self, request, workspace, editor) - - def test_C14654882_Ragdoll_ragdollAPTest(self, request, workspace, editor): - from .ragdoll import C14654882_Ragdoll_ragdollAPTest as test_module - - expected_lines = [] - unexpected_lines = test_module.UnexpectedLines.lines - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - @fm.file_override("default.physxconfiguration", "C12712454_ScriptCanvas_OverlapNodeVerification.physxconfiguration") - def test_C12712454_ScriptCanvas_OverlapNodeVerification(self, request, workspace, editor): - from .script_canvas import C12712454_ScriptCanvas_OverlapNodeVerification as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C4044460_Material_StaticFriction(self, request, workspace, editor): - from .material import C4044460_Material_StaticFriction as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - + def test_Material_StaticFriction(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_StaticFriction as test_module + self._run_test(request, workspace, editor, test_module) @fm.file_revert("c4888315_material_addmodifydeleteoncollider.physmaterial", - r"AutomatedTesting\Levels\Physics\C4888315_Material_AddModifyDeleteOnCollider") - def test_C4888315_Material_AddModifyDeleteOnCollider(self, request, workspace, editor): - from .material import C4888315_Material_AddModifyDeleteOnCollider as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCollider") + def test_Material_LibraryCrudOperationsReflectOnCollider(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryCrudOperationsReflectOnCollider as test_module + self._run_test(request, workspace, editor, test_module) @fm.file_revert("c15563573_material_addmodifydeleteoncharactercontroller.physmaterial", - r"AutomatedTesting\Levels\Physics\C15563573_Material_AddModifyDeleteOnCharacterController") - def test_C15563573_Material_AddModifyDeleteOnCharacterController(self, request, workspace, editor): - from .material import C15563573_Material_AddModifyDeleteOnCharacterController as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCharacterController") + def test_Material_LibraryCrudOperationsReflectOnCharacterController(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryCrudOperationsReflectOnCharacterController as test_module + self._run_test(request, workspace, editor, test_module) @fm.file_revert("c4888315_material_addmodifydeleteoncollider.physmaterial", - r"AutomatedTesting\Levels\Physics\C4888315_Material_AddModifyDeleteOnCollider") - def test_C4888315_Material_AddModifyDeleteOnCollider(self, request, workspace, editor): - from .material import C4888315_Material_AddModifyDeleteOnCollider as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - + r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCollider") + def test_Material_LibraryCrudOperationsReflectOnCollider(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryCrudOperationsReflectOnCollider as test_module + self._run_test(request, workspace, editor, test_module) @fm.file_revert("c15563573_material_addmodifydeleteoncharactercontroller.physmaterial", - r"AutomatedTesting\Levels\Physics\C15563573_Material_AddModifyDeleteOnCharacterController") - def test_C15563573_Material_AddModifyDeleteOnCharacterController(self, request, workspace, editor): - from .material import C15563573_Material_AddModifyDeleteOnCharacterController as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCharacterController") + def test_Material_LibraryCrudOperationsReflectOnCharacterController(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryCrudOperationsReflectOnCharacterController as test_module + self._run_test(request, workspace, editor, test_module) @fm.file_revert("c4044455_material_librarychangesinstantly.physmaterial", r"AutomatedTesting\Levels\Physics\C4044455_Material_LibraryChangesInstantly") - def test_C4044455_Material_libraryChangesInstantly(self, request, workspace, editor): - from .material import C4044455_Material_libraryChangesInstantly as test_module + def test_Material_LibraryChangesReflectInstantly(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryChangesReflectInstantly as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - - @fm.file_revert("C15425935_Material_LibraryUpdatedAcrossLevels.physmaterial", - r"AutomatedTesting\Levels\Physics\C15425935_Material_LibraryUpdatedAcrossLevels") - def test_C15425935_Material_LibraryUpdatedAcrossLevels(self, request, workspace, editor): - from .material import C15425935_Material_LibraryUpdatedAcrossLevels as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + @fm.file_revert("Material_LibraryUpdatedAcrossLevels.physmaterial", + r"AutomatedTesting\Levels\Physics\Material_LibraryUpdatedAcrossLevels") + def test_Material_LibraryUpdatedAcrossLevels(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryUpdatedAcrossLevels as test_module + self._run_test(request, workspace, editor, test_module) - def test_C4976199_RigidBodies_LinearDampingObjectMotion(self, request, workspace, editor): - from .rigid_body import C4976199_RigidBodies_LinearDampingObjectMotion as test_module + def test_RigidBody_LinearDampingAffectsMotion(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_LinearDampingAffectsMotion as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Terrain_CollisionAgainstRigidBody(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_CollisionAgainstRigidBody as test_module + self._run_test(request, workspace, editor, test_module) - def test_C5689518_PhysXTerrain_CollidesWithPhysXTerrain(self, request, workspace, editor): - from .terrain import C5689518_PhysXTerrain_CollidesWithPhysXTerrain as test_module + def test_ShapeCollider_CylinderShapeCollides(self, request, workspace, editor, launcher_platform): + from .tests.collider import ShapeCollider_CylinderShapeCollides as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Physics_WorldBodyBusWorksOnEditorComponents(self, request, workspace, editor, launcher_platform): + from .tests import Physics_WorldBodyBusWorksOnEditorComponents as test_module + self._run_test(request, workspace, editor, test_module) - def test_C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(self, request, workspace, editor): - from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module + def test_Collider_PxMeshErrorIfNoMesh(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_PxMeshErrorIfNoMesh as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_ForceRegion_ImpulsesBoxShapedRigidBody(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ImpulsesBoxShapedRigidBody as test_module + self._run_test(request, workspace, editor, test_module) - def test_C29032500_EditorComponents_WorldBodyBusWorks(self, request, workspace, editor): - from .general import C29032500_EditorComponents_WorldBodyBusWorks as test_module + def test_Terrain_SpawnSecondTerrainComponentWarning(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_SpawnSecondTerrainComponentWarning as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Terrain_AddPhysTerrainComponent(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_AddPhysTerrainComponent as test_module + self._run_test(request, workspace, editor, test_module) - def test_C14861498_ConfirmError_NoPxMesh(self, request, workspace, editor, launcher_platform): - from .collider import C14861498_ConfirmError_NoPxMesh as test_module + def test_Terrain_CanAddMultipleTerrainComponents(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_CanAddMultipleTerrainComponents as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Terrain_MultipleTerrainComponentsWarning(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_MultipleTerrainComponentsWarning as test_module + self._run_test(request, workspace, editor, test_module) - def test_C5959763_ForceRegion_ForceRegionImpulsesCube(self, request, workspace, editor, launcher_platform): - from .force_region import C5959763_ForceRegion_ForceRegionImpulsesCube as test_module + def test_Terrain_MultipleTerrainComponentsWarning(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_MultipleTerrainComponentsWarning as test_module + self._run_test(request, workspace, editor, test_module) - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_ForceRegion_HighValuesDirectionAxesWorkWithNoError(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_HighValuesDirectionAxesWorkWithNoError as test_module + self._run_test(request, workspace, editor, test_module) - def test_C5689531_Warning_TerrainSliceTerrainComponent(self, request, workspace, editor, launcher_platform): - from .terrain import C5689531_Warning_TerrainSliceTerrainComponent as test_module - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_Terrain_MultipleResolutionsValid(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_MultipleResolutionsValid as test_module + self._run_test(request, workspace, editor, test_module) - def test_C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(self, request, workspace, editor, launcher_platform): - from .terrain import C5689522_Physxterrain_AddPhysxterrainNoEditorCrash as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C5689524_MultipleTerrains_CheckWarningInConsole(self, request, workspace, editor, launcher_platform): - from .terrain import C5689524_MultipleTerrains_CheckWarningInConsole as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C5689528_Terrain_MultipleTerrainComponents(self, request, workspace, editor, launcher_platform): - from .terrain import C5689528_Terrain_MultipleTerrainComponents as test_module - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C5689528_Terrain_MultipleTerrainComponents(self, request, workspace, editor, launcher_platform): - from .terrain import C5689528_Terrain_MultipleTerrainComponents as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C6321601_Force_HighValuesDirectionAxes(self, request, workspace, editor, launcher_platform): - from .force_region import C6321601_Force_HighValuesDirectionAxes as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C6032082_Terrain_MultipleResolutionsValid(self, request, workspace, editor, launcher_platform): - from .terrain import C6032082_Terrain_MultipleResolutionsValid as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - def test_C12905527_ForceRegion_MagnitudeDeviation(self, request, workspace, editor, launcher_platform): - from .force_region import C12905527_ForceRegion_MagnitudeDeviation as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243580_Joints_Fixed2BodiesConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243580_Joints_Fixed2BodiesConstrained as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243583_Joints_Hinge2BodiesConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243583_Joints_Hinge2BodiesConstrained as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243588_Joints_Ball2BodiesConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243588_Joints_Ball2BodiesConstrained as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243581_Joints_FixedBreakable(self, request, workspace, editor, launcher_platform): - from .joints import C18243581_Joints_FixedBreakable as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243587_Joints_HingeBreakable(self, request, workspace, editor, launcher_platform): - from .joints import C18243587_Joints_HingeBreakable as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243592_Joints_BallBreakable(self, request, workspace, editor, launcher_platform): - from .joints import C18243592_Joints_BallBreakable as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243585_Joints_HingeNoLimitsConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243585_Joints_HingeNoLimitsConstrained as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243590_Joints_BallNoLimitsConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243590_Joints_BallNoLimitsConstrained as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243582_Joints_FixedLeadFollowerCollide(self, request, workspace, editor, launcher_platform): - from .joints import C18243582_Joints_FixedLeadFollowerCollide as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) - - # Removed from active suite to meet 60 minutes limit in AR job - def test_C18243593_Joints_GlobalFrameConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243593_Joints_GlobalFrameConstrained as test_module - - expected_lines = [] - unexpected_lines = ["Assert"] - self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) + def test_ForceRegion_SmallMagnitudeDeviationOnLargeForces(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_SmallMagnitudeDeviationOnLargeForces as test_module + self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py index de4828e36a..b64fbb5656 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py @@ -28,59 +28,67 @@ revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', ' @pytest.mark.parametrize("project", ["AutomatedTesting"]) class TestAutomation(TestAutomationBase): - def test_C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(self, request, workspace, editor, launcher_platform): - from .collider import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module + def test_RigidBody_EnablingGravityWorksUsingNotificationsPoC(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform): - from .force_region import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module + def test_ForceRegion_LocalSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_LocalSpaceForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4044459_Material_DynamicFriction.setreg_override', 'AutomatedTesting/Registry') - def test_C4044459_Material_DynamicFriction(self, request, workspace, editor, launcher_platform): - from .material import C4044459_Material_DynamicFriction as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_DynamicFriction.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_DynamicFriction(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_DynamicFriction as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976243_Collision_SameCollisionGroupDiffCollisionLayers(self, request, workspace, editor, - launcher_platform): - from .collider import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module + def test_Collider_SameCollisionGroupDiffLayersCollide(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_SameCollisionGroupDiffLayersCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C14654881_CharacterController_SwitchLevels(self, request, workspace, editor, launcher_platform): - from .character_controller import C14654881_CharacterController_SwitchLevels as test_module + def test_CharacterController_SwitchLevels(self, request, workspace, editor, launcher_platform): + from .tests.character_controller import CharacterController_SwitchLevels as test_module self._run_test(request, workspace, editor, test_module) - def test_C17411467_AddPhysxRagdollComponent(self, request, workspace, editor, launcher_platform): - from .ragdoll import C17411467_AddPhysxRagdollComponent as test_module + def test_Ragdoll_AddPhysxRagdollComponentWorks(self, request, workspace, editor, launcher_platform): + from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C12712453_ScriptCanvas_MultipleRaycastNode(self, request, workspace, editor, launcher_platform): - from .script_canvas import C12712453_ScriptCanvas_MultipleRaycastNode as test_module - # Fixme: unexpected_lines = ["Assert"] + test_module.Lines.unexpected + def test_ScriptCanvas_MultipleRaycastNode(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_MultipleRaycastNode as test_module + # Fixme: This test previously relied on unexpected lines log reading with is now not supported. + # Now the log reading must be done inside the test, preferably with the Tracer() utility + # unexpected_lines = ["Assert"] + test_module.Lines.unexpected self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4982593_PhysXCollider_CollisionLayer.setreg_override', 'AutomatedTesting/Registry') - def test_C4982593_PhysXCollider_CollisionLayerTest(self, request, workspace, editor, launcher_platform): - from .collider import C4982593_PhysXCollider_CollisionLayerTest as test_module + @fm.file_override('physxsystemconfiguration.setreg','Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Collider_DiffCollisionGroupDiffCollidingLayersNotCollide(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_DiffCollisionGroupDiffCollidingLayersNotCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C18243586_Joints_HingeLeadFollowerCollide(self, request, workspace, editor, launcher_platform): - from .joints import C18243586_Joints_HingeLeadFollowerCollide as test_module + def test_Joints_HingeLeadFollowerCollide(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_HingeLeadFollowerCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982803_Enable_PxMesh_Option(self, request, workspace, editor, launcher_platform): - from .collider import C4982803_Enable_PxMesh_Option as test_module + def test_Collider_PxMeshConvexMeshCollides(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(self, request, workspace, editor, launcher_platform): - from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module + def test_ShapeCollider_CylinderShapeCollides(self, request, workspace, editor, launcher_platform): + from .tests.shape_collider import ShapeCollider_CylinderShapeCollides as test_module self._run_test(request, workspace, editor, test_module) + + @revert_physics_config + def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): + from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module + self._run_test(request, workspace, editor, test_module) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py index ce68bb10b5..63d3b58249 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py @@ -21,7 +21,7 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest): # Base directory of the files (Default path is {ProjectName}) base_dir = None # True will will search sub-directories for the files in base - search_subdirs = False + search_subdirs = True @classmethod def wrap_run(cls, instance, request, workspace, editor, editor_test_results, launcher_platform): @@ -47,13 +47,14 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest): fm._backup_file(f, file_list[f]) for original, override in cls.files_to_override: - fm._copy_file(override, file_list[override], original, file_list[override]) + fm._copy_file(override, file_list[override], original, file_list[original]) yield # Run Test for f in original_file_list: fm._restore_file(f, file_list[f]) +@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") @pytest.mark.SUITE_main @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @@ -66,283 +67,280 @@ class TestAutomation(EditorTestSuite): ######################################### # Non-atomic tests: These need to be run in a single editor because they have custom setup and teardown class C4044459_Material_DynamicFriction(EditorSingleTest_WithFileOverrides): - from .material import C4044459_Material_DynamicFriction as test_module + from .tests.material import Material_DynamicFriction as test_module files_to_override = [ - ('physxsystemconfiguration.setreg', 'C4044459_Material_DynamicFriction.setreg_override') + ('physxsystemconfiguration.setreg', 'Material_DynamicFriction.setreg_override') ] base_dir = "AutomatedTesting/Registry" class C4982593_PhysXCollider_CollisionLayerTest(EditorSingleTest_WithFileOverrides): - from .collider import C4982593_PhysXCollider_CollisionLayerTest as test_module + from .tests.collider import Collider_DiffCollisionGroupDiffCollidingLayersNotCollide as test_module files_to_override = [ - ('physxsystemconfiguration.setreg', 'C4982593_PhysXCollider_CollisionLayer.setreg_override') + ('physxsystemconfiguration.setreg', 'Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.setreg_override') ] base_dir = "AutomatedTesting/Registry" ######################################### class C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(EditorSharedTest): - from .collider import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module + from .tests.rigid_body import RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module class C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(EditorSharedTest): - from .force_region import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module + from .tests.force_region import ForceRegion_LocalSpaceForceOnRigidBodies as test_module class C15425929_Undo_Redo(EditorSharedTest): - from .general import C15425929_Undo_Redo as test_module + from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module class C4976243_Collision_SameCollisionGroupDiffCollisionLayers(EditorSharedTest): - from .collider import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module + from .tests.collider import Collider_SameCollisionGroupDiffLayersCollide as test_module class C14654881_CharacterController_SwitchLevels(EditorSharedTest): - from .character_controller import C14654881_CharacterController_SwitchLevels as test_module + from .tests.character_controller import CharacterController_SwitchLevels as test_module class C17411467_AddPhysxRagdollComponent(EditorSharedTest): - from .ragdoll import C17411467_AddPhysxRagdollComponent as test_module + from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module class C12712453_ScriptCanvas_MultipleRaycastNode(EditorSharedTest): - from .script_canvas import C12712453_ScriptCanvas_MultipleRaycastNode as test_module + from .tests.script_canvas import ScriptCanvas_MultipleRaycastNode as test_module class C18243586_Joints_HingeLeadFollowerCollide(EditorSharedTest): - from .joints import C18243586_Joints_HingeLeadFollowerCollide as test_module + from .tests.joints import Joints_HingeLeadFollowerCollide as test_module class C4982803_Enable_PxMesh_Option(EditorSharedTest): - from .collider import C4982803_Enable_PxMesh_Option as test_module + from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module class C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(EditorSharedTest): - from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module + from .tests.shape_collider import ShapeCollider_CylinderShapeCollides as test_module class C3510642_Terrain_NotCollideWithTerrain(EditorSharedTest): - from .terrain import C3510642_Terrain_NotCollideWithTerrain as test_module + from .tests.terrain import Terrain_NoPhysTerrainComponentNoCollision as test_module class C4976195_RigidBodies_InitialLinearVelocity(EditorSharedTest): - from .rigid_body import C4976195_RigidBodies_InitialLinearVelocity as test_module + from .tests.rigid_body import RigidBody_InitialLinearVelocity as test_module class C4976206_RigidBodies_GravityEnabledActive(EditorSharedTest): - from .rigid_body import C4976206_RigidBodies_GravityEnabledActive as test_module + from .tests.rigid_body import RigidBody_StartGravityEnabledWorks as test_module class C4976207_PhysXRigidBodies_KinematicBehavior(EditorSharedTest): - from .rigid_body import C4976207_PhysXRigidBodies_KinematicBehavior as test_module + from .tests.rigid_body import RigidBody_KinematicModeWorks as test_module class C5932042_PhysXForceRegion_LinearDamping(EditorSharedTest): - from .force_region import C5932042_PhysXForceRegion_LinearDamping as test_module + from .tests.force_region import ForceRegion_LinearDampingForceOnRigidBodies as test_module class C5932043_ForceRegion_SimpleDragOnRigidBodies(EditorSharedTest): - from .force_region import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module + from .tests.force_region import ForceRegion_SimpleDragForceOnRigidBodies as test_module class C5959760_PhysXForceRegion_PointForceExertion(EditorSharedTest): - from .force_region import C5959760_PhysXForceRegion_PointForceExertion as test_module + from .tests.force_region import ForceRegion_CapsuleShapedForce as test_module class C5959764_ForceRegion_ForceRegionImpulsesCapsule(EditorSharedTest): - from .force_region import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module + from .tests.force_region import ForceRegion_ImpulsesCapsuleShapedRigidBody as test_module class C5340400_RigidBody_ManualMomentOfInertia(EditorSharedTest): - from .rigid_body import C5340400_RigidBody_ManualMomentOfInertia as test_module + from .tests.rigid_body import RigidBody_MomentOfInertiaManualSetting as test_module class C4976210_COM_ManualSetting(EditorSharedTest): - from .rigid_body import C4976210_COM_ManualSetting as test_module + from .tests.rigid_body import RigidBody_COM_ManualSettingWorks as test_module class C4976194_RigidBody_PhysXComponentIsValid(EditorSharedTest): - from .rigid_body import C4976194_RigidBody_PhysXComponentIsValid as test_module + from .tests.rigid_body import RigidBody_AddRigidBodyComponent as test_module class C5932045_ForceRegion_Spline(EditorSharedTest): - from .force_region import C5932045_ForceRegion_Spline as test_module + from .tests.force_region import ForceRegion_SplineForceOnRigidBodies as test_module class C4982797_Collider_ColliderOffset(EditorSharedTest): - from .collider import C4982797_Collider_ColliderOffset as test_module + from .tests.collider import Collider_ColliderPositionOffset as test_module class C4976200_RigidBody_AngularDampingObjectRotation(EditorSharedTest): - from .rigid_body import C4976200_RigidBody_AngularDampingObjectRotation as test_module + from .tests.rigid_body import RigidBody_AngularDampingAffectsRotation as test_module class C5689529_Verify_Terrain_RigidBody_Collider_Mesh(EditorSharedTest): - from .general import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module + from .tests import Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether as test_module class C5959810_ForceRegion_ForceRegionCombinesForces(EditorSharedTest): - from .force_region import C5959810_ForceRegion_ForceRegionCombinesForces as test_module + from .tests.force_region import ForceRegion_MultipleForcesInSameComponentCombineForces as test_module class C5959765_ForceRegion_AssetGetsImpulsed(EditorSharedTest): - from .force_region import C5959765_ForceRegion_AssetGetsImpulsed as test_module + from .tests.force_region import ForceRegion_ImpulsesPxMeshShapedRigidBody as test_module class C6274125_ScriptCanvas_TriggerEvents(EditorSharedTest): - from .script_canvas import C6274125_ScriptCanvas_TriggerEvents as test_module + from .tests.script_canvas import ScriptCanvas_TriggerEvents as test_module # needs to be updated to log for unexpected lines # expected_lines = test_module.LogLines.expected_lines class C6090554_ForceRegion_PointForceNegative(EditorSharedTest): - from .force_region import C6090554_ForceRegion_PointForceNegative as test_module + from .tests.force_region import ForceRegion_ZeroPointForceDoesNothing as test_module class C6090550_ForceRegion_WorldSpaceForceNegative(EditorSharedTest): - from .force_region import C6090550_ForceRegion_WorldSpaceForceNegative as test_module + from .tests.force_region import ForceRegion_ZeroWorldSpaceForceDoesNothing as test_module class C6090552_ForceRegion_LinearDampingNegative(EditorSharedTest): - from .force_region import C6090552_ForceRegion_LinearDampingNegative as test_module + from .tests.force_region import ForceRegion_ZeroLinearDampingDoesNothing as test_module class C5968760_ForceRegion_CheckNetForceChange(EditorSharedTest): - from .force_region import C5968760_ForceRegion_CheckNetForceChange as test_module + from .tests.force_region import ForceRegion_MovingForceRegionChangesNetForce as test_module + @pytest.mark.xfail(reason="Ongoing issue in Script Canvas, AZ::Event fail to compile on Script Canvas") class C12712452_ScriptCanvas_CollisionEvents(EditorSharedTest): - from .script_canvas import C12712452_ScriptCanvas_CollisionEvents as test_module + from .tests.script_canvas import ScriptCanvas_CollisionEvents as test_module class C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(EditorSharedTest): - from .force_region import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module + from .tests.force_region import ForceRegion_DirectionHasNoAffectOnTotalForce as test_module class C4976204_Verify_Start_Asleep_Condition(EditorSharedTest): - from .rigid_body import C4976204_Verify_Start_Asleep_Condition as test_module + from .tests.rigid_body import RigidBody_StartAsleepWorks as test_module class C6090546_ForceRegion_SliceFileInstantiates(EditorSharedTest): - from .force_region import C6090546_ForceRegion_SliceFileInstantiates as test_module + from .tests.force_region import ForceRegion_SliceFileInstantiates as test_module class C6090551_ForceRegion_LocalSpaceForceNegative(EditorSharedTest): - from .force_region import C6090551_ForceRegion_LocalSpaceForceNegative as test_module + from .tests.force_region import ForceRegion_ZeroLocalSpaceForceDoesNothing as test_module class C6090553_ForceRegion_SimpleDragForceOnRigidBodies(EditorSharedTest): - from .force_region import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module + from .tests.force_region import ForceRegion_ZeroSimpleDragForceDoesNothing as test_module class C4976209_RigidBody_ComputesCOM(EditorSharedTest): - from .rigid_body import C4976209_RigidBody_ComputesCOM as test_module + from .tests.rigid_body import RigidBody_COM_ComputingWorks as test_module class C4976201_RigidBody_MassIsAssigned(EditorSharedTest): - from .rigid_body import C4976201_RigidBody_MassIsAssigned as test_module + from .tests.rigid_body import RigidBody_MassDifferentValuesWorks as test_module class C12868580_ForceRegion_SplineModifiedTransform(EditorSharedTest): - from .force_region import C12868580_ForceRegion_SplineModifiedTransform as test_module + from .tests.force_region import ForceRegion_SplineRegionWithModifiedTransform as test_module class C12712455_ScriptCanvas_ShapeCastVerification(EditorSharedTest): - from .script_canvas import C12712455_ScriptCanvas_ShapeCastVerification as test_module + from .tests.script_canvas import ScriptCanvas_ShapeCast as test_module class C4976197_RigidBodies_InitialAngularVelocity(EditorSharedTest): - from .rigid_body import C4976197_RigidBodies_InitialAngularVelocity as test_module + from .tests.rigid_body import RigidBody_InitialAngularVelocity as test_module class C6090555_ForceRegion_SplineFollowOnRigidBodies(EditorSharedTest): - from .force_region import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module + from .tests.force_region import ForceRegion_ZeroSplineForceDoesNothing as test_module class C6131473_StaticSlice_OnDynamicSliceSpawn(EditorSharedTest): - from .general import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module + from .tests import Physics_DynamicSliceWithPhysNotSpawnsStaticSlice as test_module class C5959808_ForceRegion_PositionOffset(EditorSharedTest): - from .force_region import C5959808_ForceRegion_PositionOffset as test_module + from .tests.force_region import ForceRegion_PositionOffset as test_module @pytest.mark.xfail(reason="Something with the CryRenderer disabling is causing this test to fail now.") class C13895144_Ragdoll_ChangeLevel(EditorSharedTest): - from .ragdoll import C13895144_Ragdoll_ChangeLevel as test_module + from .tests.ragdoll import Ragdoll_LevelSwitchDoesNotCrash as test_module class C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(EditorSharedTest): - from .force_region import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module + from .tests.force_region import ForceRegion_MultipleComponentsCombineForces as test_module @pytest.mark.xfail(reason="This test will sometimes fail as the ball will continue to roll before the timeout is reached.") class C4976202_RigidBody_StopsWhenBelowKineticThreshold(EditorSharedTest): - from .rigid_body import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module + from .tests.rigid_body import RigidBody_SleepWhenBelowKineticThreshold as test_module class C13351703_COM_NotIncludeTriggerShapes(EditorSharedTest): - from .rigid_body import C13351703_COM_NotIncludeTriggerShapes as test_module + from .tests.rigid_body import RigidBody_COM_NotIncludesTriggerShapes as test_module class C5296614_PhysXMaterial_ColliderShape(EditorSharedTest): - from .material import C5296614_PhysXMaterial_ColliderShape as test_module + from .tests.material import Material_NoEffectIfNoColliderShape as test_module class C4982595_Collider_TriggerDisablesCollision(EditorSharedTest): - from .collider import C4982595_Collider_TriggerDisablesCollision as test_module + from .tests.collider import Collider_TriggerPassThrough as test_module class C14976307_Gravity_SetGravityWorks(EditorSharedTest): - from .general import C14976307_Gravity_SetGravityWorks as test_module + from .tests.rigid_body import RigidBody_SetGravityWorks as test_module class C4044694_Material_EmptyLibraryUsesDefault(EditorSharedTest): - from .material import C4044694_Material_EmptyLibraryUsesDefault as test_module + from .tests.material import Material_EmptyLibraryUsesDefault as test_module class C15845879_ForceRegion_HighLinearDampingForce(EditorSharedTest): - from .force_region import C15845879_ForceRegion_HighLinearDampingForce as test_module + from .tests.force_region import ForceRegion_NoQuiverOnHighLinearDampingForce as test_module class C4976218_RigidBodies_InertiaObjectsNotComputed(EditorSharedTest): - from .rigid_body import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module + from .tests.rigid_body import RigidBody_ComputeInertiaWorks as test_module class C14902098_ScriptCanvas_PostPhysicsUpdate(EditorSharedTest): - from .script_canvas import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module + from .tests.script_canvas import ScriptCanvas_PostPhysicsUpdate as test_module # Note: Test needs to be updated to log for unexpected lines # unexpected_lines = ["Assert"] + test_module.Lines.unexpected class C5959761_ForceRegion_PhysAssetExertsPointForce(EditorSharedTest): - from .force_region import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module + from .tests.force_region import ForceRegion_PxMeshShapedForce as test_module # Marking the Test as expected to fail using the xfail decorator due to sporadic failure on Automated Review: SPEC-3146 # The test still runs, but a failure of the test doesn't result in the test run failing @pytest.mark.xfail(reason="Test Sporadically fails with message [ NOT FOUND ] Success: Bar1 : Expected angular velocity") class C13352089_RigidBodies_MaxAngularVelocity(EditorSharedTest): - from .rigid_body import C13352089_RigidBodies_MaxAngularVelocity as test_module + from .tests.rigid_body import RigidBody_MaxAngularVelocityWorks as test_module class C18243584_Joints_HingeSoftLimitsConstrained(EditorSharedTest): - from .joints import C18243584_Joints_HingeSoftLimitsConstrained as test_module + from .tests.joints import Joints_HingeSoftLimitsConstrained as test_module class C18243589_Joints_BallSoftLimitsConstrained(EditorSharedTest): - from .joints import C18243589_Joints_BallSoftLimitsConstrained as test_module + from .tests.joints import Joints_BallSoftLimitsConstrained as test_module class C18243591_Joints_BallLeadFollowerCollide(EditorSharedTest): - from .joints import C18243591_Joints_BallLeadFollowerCollide as test_module + from .tests.joints import Joints_BallLeadFollowerCollide as test_module class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest): - from .collider import C19578018_ShapeColliderWithNoShapeComponent as test_module + from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module class C14861500_DefaultSetting_ColliderShape(EditorSharedTest): - from .collider import C14861500_DefaultSetting_ColliderShape as test_module + from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest): - from .collider import C19723164_ShapeColliders_WontCrashEditor as test_module + from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module class C4982800_PhysXColliderShape_CanBeSelected(EditorSharedTest): - from .collider import C4982800_PhysXColliderShape_CanBeSelected as test_module + from .tests.collider import Collider_SphereShapeEditting as test_module class C4982801_PhysXColliderShape_CanBeSelected(EditorSharedTest): - from .collider import C4982801_PhysXColliderShape_CanBeSelected as test_module + from .tests.collider import Collider_BoxShapeEditting as test_module class C4982802_PhysXColliderShape_CanBeSelected(EditorSharedTest): - from .collider import C4982802_PhysXColliderShape_CanBeSelected as test_module + from .tests.collider import Collider_CapsuleShapeEditting as test_module class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest): - from .force_region import C12905528_ForceRegion_WithNonTriggerCollider as test_module + from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] class C5932040_ForceRegion_CubeExertsWorldForce(EditorSharedTest): - from .force_region import C5932040_ForceRegion_CubeExertsWorldForce as test_module + from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module class C5932044_ForceRegion_PointForceOnRigidBody(EditorSharedTest): - from .force_region import C5932044_ForceRegion_PointForceOnRigidBody as test_module + from .tests.force_region import ForceRegion_PointForceOnRigidBodies as test_module class C5959759_RigidBody_ForceRegionSpherePointForce(EditorSharedTest): - from .force_region import C5959759_RigidBody_ForceRegionSpherePointForce as test_module + from .tests.force_region import ForceRegion_SphereShapedForce as test_module class C5959809_ForceRegion_RotationalOffset(EditorSharedTest): - from .force_region import C5959809_ForceRegion_RotationalOffset as test_module + from .tests.force_region import ForceRegion_RotationalOffset as test_module class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest): - from .material import C15096740_Material_LibraryUpdatedCorrectly as test_module + from .tests.material import Material_LibraryClearingAssignsDefault as test_module class C4976236_AddPhysxColliderComponent(EditorSharedTest): - from .collider import C4976236_AddPhysxColliderComponent as test_module - + from .tests.collider import Collider_AddColliderComponent as test_module @pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.") class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest): - from .collider import C14861502_PhysXCollider_AssetAutoAssigned as test_module + from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest): - from .collider import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module + from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest): - from .collider import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module + from .tests.collider import Collider_MultipleSurfaceSlots as test_module class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest): - from .collider import C14861504_RenderMeshAsset_WithNoPxAsset as test_module + from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module class C100000_RigidBody_EnablingGravityWorksPoC(EditorSharedTest): - from .collider import C100000_RigidBody_EnablingGravityWorksPoC as test_module + from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module class C4982798_Collider_ColliderRotationOffset(EditorSharedTest): - from .collider import C4982798_Collider_ColliderRotationOffset as test_module - - class C15308217_NoCrash_LevelSwitch(EditorSharedTest): - from .terrain import C15308217_NoCrash_LevelSwitch as test_module + from .tests.collider import Collider_ColliderRotationOffset as test_module class C6090547_ForceRegion_ParentChildForceRegions(EditorSharedTest): - from .force_region import C6090547_ForceRegion_ParentChildForceRegions as test_module + from .tests.force_region import ForceRegion_ParentChildForcesCombineForces as test_module class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest): - from .collider import C19578021_ShapeCollider_CanBeAdded as test_module + from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module class C15425929_Undo_Redo(EditorSharedTest): - from .general import C15425929_Undo_Redo as test_module + from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py index fca7e0e3af..da89316993 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py @@ -29,220 +29,224 @@ revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', ' class TestAutomation(TestAutomationBase): @revert_physics_config - def test_C3510642_Terrain_NotCollideWithTerrain(self, request, workspace, editor, launcher_platform): - from .terrain import C3510642_Terrain_NotCollideWithTerrain as test_module + def test_Terrain_NoPhysTerrainComponentNoCollision(self, request, workspace, editor, launcher_platform): + from .tests.terrain import Terrain_NoPhysTerrainComponentNoCollision as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976195_RigidBodies_InitialLinearVelocity(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976195_RigidBodies_InitialLinearVelocity as test_module + def test_RigidBody_InitialLinearVelocity(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_InitialLinearVelocity as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976206_RigidBodies_GravityEnabledActive(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976206_RigidBodies_GravityEnabledActive as test_module + def test_RigidBody_StartGravityEnabledWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_StartGravityEnabledWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976207_PhysXRigidBodies_KinematicBehavior(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976207_PhysXRigidBodies_KinematicBehavior as test_module + def test_RigidBody_KinematicModeWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_KinematicModeWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5932042_PhysXForceRegion_LinearDamping(self, request, workspace, editor, launcher_platform): - from .force_region import C5932042_PhysXForceRegion_LinearDamping as test_module + def test_ForceRegion_LinearDampingForceOnRigidBodies(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_LinearDampingForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5932043_ForceRegion_SimpleDragOnRigidBodies(self, request, workspace, editor, launcher_platform): - from .force_region import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module + def test_ForceRegion_SimpleDragForceOnRigidBodies(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_SimpleDragForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5959760_PhysXForceRegion_PointForceExertion(self, request, workspace, editor, launcher_platform): - from .force_region import C5959760_PhysXForceRegion_PointForceExertion as test_module + def test_ForceRegion_CapsuleShapedForce(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_CapsuleShapedForce as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5959764_ForceRegion_ForceRegionImpulsesCapsule(self, request, workspace, editor, launcher_platform): - from .force_region import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module + def test_ForceRegion_ImpulsesCapsuleShapedRigidBody(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ImpulsesCapsuleShapedRigidBody as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5340400_RigidBody_ManualMomentOfInertia(self, request, workspace, editor, launcher_platform): - from .rigid_body import C5340400_RigidBody_ManualMomentOfInertia as test_module + def test_RigidBody_MomentOfInertiaManualSetting(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_MomentOfInertiaManualSetting as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976210_COM_ManualSetting(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976210_COM_ManualSetting as test_module + def test_RigidBody_COM_ManualSettingWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_COM_ManualSettingWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976194_RigidBody_PhysXComponentIsValid(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976194_RigidBody_PhysXComponentIsValid as test_module + def test_RigidBody_AddRigidBodyComponent(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_AddRigidBodyComponent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5932045_ForceRegion_Spline(self, request, workspace, editor, launcher_platform): - from .force_region import C5932045_ForceRegion_Spline as test_module + def test_ForceRegion_SplineForceOnRigidBodies(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_SplineForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4044457_Material_RestitutionCombine.setreg_override', 'AutomatedTesting/Registry') - def test_C4044457_Material_RestitutionCombine(self, request, workspace, editor, launcher_platform): - from .material import C4044457_Material_RestitutionCombine as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_RestitutionCombine.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_RestitutionCombine(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_RestitutionCombine as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4044456_Material_FrictionCombine.setreg_override', 'AutomatedTesting/Registry') - def test_C4044456_Material_FrictionCombine(self, request, workspace, editor, launcher_platform): - from .material import C4044456_Material_FrictionCombine as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_FrictionCombine.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_FrictionCombine(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_FrictionCombine as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982797_Collider_ColliderOffset(self, request, workspace, editor, launcher_platform): - from .collider import C4982797_Collider_ColliderOffset as test_module + def test_Collider_ColliderPositionOffset(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_ColliderPositionOffset as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976200_RigidBody_AngularDampingObjectRotation(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976200_RigidBody_AngularDampingObjectRotation as test_module + def test_RigidBody_AngularDampingAffectsRotation(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_AngularDampingAffectsRotation as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5689529_Verify_Terrain_RigidBody_Collider_Mesh(self, request, workspace, editor, launcher_platform): - from .general import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module + def test_Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether(self, request, workspace, editor, launcher_platform): + from .tests import Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5959810_ForceRegion_ForceRegionCombinesForces(self, request, workspace, editor, launcher_platform): - from .force_region import C5959810_ForceRegion_ForceRegionCombinesForces as test_module + def test_ForceRegion_MultipleForcesInSameComponentCombineForces(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_MultipleForcesInSameComponentCombineForces as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5959765_ForceRegion_AssetGetsImpulsed(self, request, workspace, editor, launcher_platform): - from .force_region import C5959765_ForceRegion_AssetGetsImpulsed as test_module + def test_ForceRegion_ImpulsesPxMeshShapedRigidBody(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ImpulsesPxMeshShapedRigidBody as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6274125_ScriptCanvas_TriggerEvents(self, request, workspace, editor, launcher_platform): - from .script_canvas import C6274125_ScriptCanvas_TriggerEvents as test_module + def test_ScriptCanvas_TriggerEvents(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_TriggerEvents as test_module # FIXME: expected_lines = test_module.LogLines.expected_lines self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090554_ForceRegion_PointForceNegative(self, request, workspace, editor, launcher_platform): - from .force_region import C6090554_ForceRegion_PointForceNegative as test_module + def test_ForceRegion_ZeroPointForceDoesNothing(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ZeroPointForceDoesNothing as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090550_ForceRegion_WorldSpaceForceNegative(self, request, workspace, editor, launcher_platform): - from .force_region import C6090550_ForceRegion_WorldSpaceForceNegative as test_module + def test_ForceRegion_ZeroWorldSpaceForceDoesNothing(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ZeroWorldSpaceForceDoesNothing as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090552_ForceRegion_LinearDampingNegative(self, request, workspace, editor, launcher_platform): - from .force_region import C6090552_ForceRegion_LinearDampingNegative as test_module + def test_ForceRegion_ZeroLinearDampingDoesNothing(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ZeroLinearDampingDoesNothing as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5968760_ForceRegion_CheckNetForceChange(self, request, workspace, editor, launcher_platform): - from .force_region import C5968760_ForceRegion_CheckNetForceChange as test_module + def test_ForceRegion_MovingForceRegionChangesNetForce(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_MovingForceRegionChangesNetForce as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C12712452_ScriptCanvas_CollisionEvents(self, request, workspace, editor, launcher_platform): - from .script_canvas import C12712452_ScriptCanvas_CollisionEvents as test_module + def test_ScriptCanvas_CollisionEvents(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_CollisionEvents as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(self, request, workspace, editor, launcher_platform): - from .force_region import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module + def test_ForceRegion_DirectionHasNoAffectOnTotalForce(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_DirectionHasNoAffectOnTotalForce as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976204_Verify_Start_Asleep_Condition(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976204_Verify_Start_Asleep_Condition as test_module + def test_RigidBody_StartAsleepWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_StartAsleepWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090546_ForceRegion_SliceFileInstantiates(self, request, workspace, editor, launcher_platform): - from .force_region import C6090546_ForceRegion_SliceFileInstantiates as test_module + def test_ForceRegion_SliceFileInstantiates(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_SliceFileInstantiates as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090551_ForceRegion_LocalSpaceForceNegative(self, request, workspace, editor, launcher_platform): - from .force_region import C6090551_ForceRegion_LocalSpaceForceNegative as test_module + def test_ForceRegion_ZeroLocalSpaceForceDoesNothing(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ZeroLocalSpaceForceDoesNothing as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090553_ForceRegion_SimpleDragForceOnRigidBodies(self, request, workspace, editor, launcher_platform): - from .force_region import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module + def test_ForceRegion_ZeroSimpleDragForceDoesNothing(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ZeroSimpleDragForceDoesNothing as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976209_RigidBody_ComputesCOM(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976209_RigidBody_ComputesCOM as test_module + def test_RigidBody_COM_ComputingWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_COM_ComputingWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976201_RigidBody_MassIsAssigned(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976201_RigidBody_MassIsAssigned as test_module + def test_RigidBody_MassDifferentValuesWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_MassDifferentValuesWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C18981526_Material_RestitutionCombinePriority.setreg_override', 'AutomatedTesting/Registry') - def test_C18981526_Material_RestitutionCombinePriority(self, request, workspace, editor, launcher_platform): - from .material import C18981526_Material_RestitutionCombinePriority as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_RestitutionCombinePriorityOrder.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_RestitutionCombinePriorityOrder(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_RestitutionCombinePriorityOrder as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C12868580_ForceRegion_SplineModifiedTransform(self, request, workspace, editor, launcher_platform): - from .force_region import C12868580_ForceRegion_SplineModifiedTransform as test_module + def test_ForceRegion_SplineRegionWithModifiedTransform(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_SplineRegionWithModifiedTransform as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C12712455_ScriptCanvas_ShapeCastVerification(self, request, workspace, editor, launcher_platform): - from .script_canvas import C12712455_ScriptCanvas_ShapeCastVerification as test_module + def test_ScriptCanvas_ShapeCast(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_ShapeCast as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976197_RigidBodies_InitialAngularVelocity(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976197_RigidBodies_InitialAngularVelocity as test_module + def test_RigidBody_InitialAngularVelocity(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_InitialAngularVelocity as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6090555_ForceRegion_SplineFollowOnRigidBodies(self, request, workspace, editor, launcher_platform): - from .force_region import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module + def test_ForceRegion_ZeroSplineForceDoesNothing(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ZeroSplineForceDoesNothing as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C6131473_StaticSlice_OnDynamicSliceSpawn(self, request, workspace, editor, launcher_platform): - from .general import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module + def test_Physics_DynamicSliceWithPhysNotSpawnsStaticSlice(self, request, workspace, editor, launcher_platform): + from .tests import Physics_DynamicSliceWithPhysNotSpawnsStaticSlice as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5959808_ForceRegion_PositionOffset(self, request, workspace, editor, launcher_platform): - from .force_region import C5959808_ForceRegion_PositionOffset as test_module + def test_ForceRegion_PositionOffset(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_PositionOffset as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C18977601_Material_FrictionCombinePriority.setreg_override', 'AutomatedTesting/Registry') - def test_C18977601_Material_FrictionCombinePriority(self, request, workspace, editor, launcher_platform): - from .material import C18977601_Material_FrictionCombinePriority as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_FrictionCombinePriorityOrder.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_FrictionCombinePriorityOrder(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_FrictionCombinePriorityOrder as test_module self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail( reason="Something with the CryRenderer disabling is causing this test to fail now.") @revert_physics_config - def test_C13895144_Ragdoll_ChangeLevel(self, request, workspace, editor, launcher_platform): - from .ragdoll import C13895144_Ragdoll_ChangeLevel as test_module + def test_Ragdoll_LevelSwitchDoesNotCrash(self, request, workspace, editor, launcher_platform): + from .tests.ragdoll import Ragdoll_LevelSwitchDoesNotCrash as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(self, request, workspace, editor, launcher_platform): - from .force_region import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module + def test_ForceRegion_MultipleComponentsCombineForces(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_MultipleComponentsCombineForces as test_module self._run_test(request, workspace, editor, test_module) # Marking the test as an expected failure due to sporadic failure on Automated Review: LYN-2580 @@ -250,237 +254,303 @@ class TestAutomation(TestAutomationBase): @pytest.mark.xfail( reason="This test needs new physics asset with multiple materials to be more stable.") @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4044697_Material_PerfaceMaterialValidation.setreg_override', 'AutomatedTesting/Registry') - def test_C4044697_Material_PerfaceMaterialValidation(self, request, workspace, editor, launcher_platform): - from .material import C4044697_Material_PerfaceMaterialValidation as test_module + @fm.file_override('physxsystemconfiguration.setreg', 'Material_PerFaceMaterialGetsCorrectMaterial.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_PerFaceMaterialGetsCorrectMaterial(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_PerFaceMaterialGetsCorrectMaterial as test_module self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail( reason="This test will sometimes fail as the ball will continue to roll before the timeout is reached.") @revert_physics_config - def test_C4976202_RigidBody_StopsWhenBelowKineticThreshold(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module + def test_RigidBody_SleepWhenBelowKineticThreshold(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_SleepWhenBelowKineticThreshold as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C13351703_COM_NotIncludeTriggerShapes(self, request, workspace, editor, launcher_platform): - from .rigid_body import C13351703_COM_NotIncludeTriggerShapes as test_module + def test_RigidBody_COM_NotIncludesTriggerShapes(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_COM_NotIncludesTriggerShapes as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5296614_PhysXMaterial_ColliderShape(self, request, workspace, editor, launcher_platform): - from .material import C5296614_PhysXMaterial_ColliderShape as test_module + def test_Material_NoEffectIfNoColliderShape(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_NoEffectIfNoColliderShape as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982595_Collider_TriggerDisablesCollision(self, request, workspace, editor, launcher_platform): - from .collider import C4982595_Collider_TriggerDisablesCollision as test_module + def test_Collider_TriggerPassThrough(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_TriggerPassThrough as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C14976307_Gravity_SetGravityWorks(self, request, workspace, editor, launcher_platform): - from .general import C14976307_Gravity_SetGravityWorks as test_module + def test_RigidBody_SetGravityWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_SetGravityWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.setreg_override', 'AutomatedTesting/Registry') - def test_C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(self, request, workspace, editor, launcher_platform): - from .material import C15556261_PhysXMaterials_CharacterControllerMaterialAssignment as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_CharacterController.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_CharacterController(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_CharacterController as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4044694_Material_EmptyLibraryUsesDefault(self, request, workspace, editor, launcher_platform): - from .material import C4044694_Material_EmptyLibraryUsesDefault as test_module + def test_Material_EmptyLibraryUsesDefault(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_EmptyLibraryUsesDefault as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C15845879_ForceRegion_HighLinearDampingForce(self, request, workspace, editor, launcher_platform): - from .force_region import C15845879_ForceRegion_HighLinearDampingForce as test_module + def test_ForceRegion_NoQuiverOnHighLinearDampingForce(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_NoQuiverOnHighLinearDampingForce as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4976218_RigidBodies_InertiaObjectsNotComputed(self, request, workspace, editor, launcher_platform): - from .rigid_body import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module + def test_RigidBody_ComputeInertiaWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_ComputeInertiaWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C14902098_ScriptCanvas_PostPhysicsUpdate(self, request, workspace, editor, launcher_platform): - from .script_canvas import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module + def test_ScriptCanvas_PostPhysicsUpdate(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_PostPhysicsUpdate as test_module # Fixme: unexpected_lines = ["Assert"] + test_module.Lines.unexpected self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4976245_PhysXCollider_CollisionLayerTest.setreg_override', 'AutomatedTesting/Registry') - def test_C4976245_PhysXCollider_CollisionLayerTest(self, request, workspace, editor, launcher_platform): - from .collider import C4976245_PhysXCollider_CollisionLayerTest as test_module + @fm.file_override('physxsystemconfiguration.setreg','Collider_NoneCollisionGroupSameLayerNotCollide.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Collider_NoneCollisionGroupSameLayerNotCollide(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_NoneCollisionGroupSameLayerNotCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4976244_Collider_SameGroupSameLayerCollision.setreg_override', 'AutomatedTesting/Registry') - def test_C4976244_Collider_SameGroupSameLayerCollision(self, request, workspace, editor, launcher_platform): - from .collider import C4976244_Collider_SameGroupSameLayerCollision as test_module + @fm.file_override('physxsystemconfiguration.setreg','Collider_SameCollisionGroupSameCustomLayerCollide.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Collider_SameCollisionGroupSameCustomLayerCollide(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_SameCollisionGroupSameCustomLayerCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxdefaultsceneconfiguration.setreg','C14195074_ScriptCanvas_PostUpdateEvent.setreg_override', 'AutomatedTesting/Registry') - def test_C14195074_ScriptCanvas_PostUpdateEvent(self, request, workspace, editor, launcher_platform): - from .script_canvas import C14195074_ScriptCanvas_PostUpdateEvent as test_module + @fm.file_override('physxdefaultsceneconfiguration.setreg','ScriptCanvas_PostUpdateEvent.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_ScriptCanvas_PostUpdateEvent(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_PostUpdateEvent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4044461_Material_Restitution.setreg_override', 'AutomatedTesting/Registry') - def test_C4044461_Material_Restitution(self, request, workspace, editor, launcher_platform): - from .material import C4044461_Material_Restitution as test_module + @fm.file_override('physxsystemconfiguration.setreg','Material_Restitution.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Material_Restitution(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_Restitution as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxdefaultsceneconfiguration.setreg','C14902097_ScriptCanvas_PreUpdateEvent.setreg_override', 'AutomatedTesting/Registry') - def test_C14902097_ScriptCanvas_PreUpdateEvent(self, request, workspace, editor, launcher_platform): - from .script_canvas import C14902097_ScriptCanvas_PreUpdateEvent as test_module + @fm.file_override('physxdefaultsceneconfiguration.setreg', 'ScriptCanvas_PreUpdateEvent.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_ScriptCanvas_PreUpdateEvent(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_PreUpdateEvent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C5959761_ForceRegion_PhysAssetExertsPointForce(self, request, workspace, editor, launcher_platform): - from .force_region import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module + def test_ForceRegion_PxMeshShapedForce(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_PxMeshShapedForce as test_module self._run_test(request, workspace, editor, test_module) # Marking the Test as expected to fail using the xfail decorator due to sporadic failure on Automated Review: SPEC-3146 # The test still runs, but a failure of the test doesn't result in the test run failing @pytest.mark.xfail(reason="Test Sporadically fails with message [ NOT FOUND ] Success: Bar1 : Expected angular velocity") @revert_physics_config - def test_C13352089_RigidBodies_MaxAngularVelocity(self, request, workspace, editor, launcher_platform): - from .rigid_body import C13352089_RigidBodies_MaxAngularVelocity as test_module + def test_RigidBody_MaxAngularVelocityWorks(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_MaxAngularVelocityWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C18243584_Joints_HingeSoftLimitsConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243584_Joints_HingeSoftLimitsConstrained as test_module + def test_Joints_HingeSoftLimitsConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_HingeSoftLimitsConstrained as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C18243589_Joints_BallSoftLimitsConstrained(self, request, workspace, editor, launcher_platform): - from .joints import C18243589_Joints_BallSoftLimitsConstrained as test_module + def test_Joints_BallSoftLimitsConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_BallSoftLimitsConstrained as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C18243591_Joints_BallLeadFollowerCollide(self, request, workspace, editor, launcher_platform): - from .joints import C18243591_Joints_BallLeadFollowerCollide as test_module + def test_Joints_BallLeadFollowerCollide(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_BallLeadFollowerCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C4976227_Collider_NewGroup.setreg_override', 'AutomatedTesting/Registry') - def test_C4976227_Collider_NewGroup(self, request, workspace, editor, launcher_platform): - from .collider import C4976227_Collider_NewGroup as test_module + @fm.file_override('physxsystemconfiguration.setreg','Collider_AddingNewGroupWorks.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Collider_AddingNewGroupWorks(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_AddingNewGroupWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C19578018_ShapeColliderWithNoShapeComponent(self, request, workspace, editor, launcher_platform): - from .collider import C19578018_ShapeColliderWithNoShapeComponent as test_module + def test_ShapeCollider_InactiveWhenNoShapeComponent(self, request, workspace, editor, launcher_platform): + from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C14861500_DefaultSetting_ColliderShape(self, request, workspace, editor, launcher_platform): - from .collider import C14861500_DefaultSetting_ColliderShape as test_module + def test_Collider_CheckDefaultShapeSettingIsPxMesh(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C19723164_ShapeCollider_WontCrashEditor(self, request, workspace, editor, launcher_platform): - from .collider import C19723164_ShapeColliders_WontCrashEditor as test_module + def test_ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(self, request, workspace, editor, launcher_platform): + from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982800_PhysXColliderShape_CanBeSelected(self, request, workspace, editor, launcher_platform): - from .collider import C4982800_PhysXColliderShape_CanBeSelected as test_module + def test_Collider_SphereShapeEditting(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_SphereShapeEditting as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982801_PhysXColliderShape_CanBeSelected(self, request, workspace, editor, launcher_platform): - from .collider import C4982801_PhysXColliderShape_CanBeSelected as test_module + def test_Collider_BoxShapeEditting(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_BoxShapeEditting as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982802_PhysXColliderShape_CanBeSelected(self, request, workspace, editor, launcher_platform): - from .collider import C4982802_PhysXColliderShape_CanBeSelected as test_module + def test_Collider_CapsuleShapeEditting(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_CapsuleShapeEditting as test_module self._run_test(request, workspace, editor, test_module) - def test_C12905528_ForceRegion_WithNonTriggerCollider(self, request, workspace, editor, launcher_platform): - from .force_region import C12905528_ForceRegion_WithNonTriggerCollider as test_module + def test_ForceRegion_WithNonTriggerColliderWarning(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] self._run_test(request, workspace, editor, test_module) - def test_C5932040_ForceRegion_CubeExertsWorldForce(self, request, workspace, editor, launcher_platform): - from .force_region import C5932040_ForceRegion_CubeExertsWorldForce as test_module + def test_ForceRegion_WorldSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) - def test_C5932044_ForceRegion_PointForceOnRigidBody(self, request, workspace, editor, launcher_platform): - from .force_region import C5932044_ForceRegion_PointForceOnRigidBody as test_module + def test_ForceRegion_PointForceOnRigidBodies(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_PointForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) - def test_C5959759_RigidBody_ForceRegionSpherePointForce(self, request, workspace, editor, launcher_platform): - from .force_region import C5959759_RigidBody_ForceRegionSpherePointForce as test_module + def test_ForceRegion_SphereShapedForce(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_SphereShapedForce as test_module self._run_test(request, workspace, editor, test_module) - def test_C5959809_ForceRegion_RotationalOffset(self, request, workspace, editor, launcher_platform): - from .force_region import C5959809_ForceRegion_RotationalOffset as test_module + def test_ForceRegion_RotationalOffset(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_RotationalOffset as test_module self._run_test(request, workspace, editor, test_module) - def test_C15096740_Material_LibraryUpdatedCorrectly(self, request, workspace, editor, launcher_platform): - from .material import C15096740_Material_LibraryUpdatedCorrectly as test_module + def test_Material_LibraryClearingAssignsDefault(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_LibraryClearingAssignsDefault as test_module self._run_test(request, workspace, editor, test_module) - def test_C4976236_AddPhysxColliderComponent(self, request, workspace, editor, launcher_platform): - from .collider import C4976236_AddPhysxColliderComponent as test_module + def test_Collider_AddColliderComponent(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_AddColliderComponent as test_module self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail( reason="This will fail due to this issue ATOM-15487.") - def test_C14861502_PhysXCollider_AssetAutoAssigned(self, request, workspace, editor, launcher_platform): - from .collider import C14861502_PhysXCollider_AssetAutoAssigned as test_module + def test_Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module self._run_test(request, workspace, editor, test_module) - def test_C14861501_PhysXCollider_RenderMeshAutoAssigned(self, request, workspace, editor, launcher_platform): - from .collider import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module + def test_Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module self._run_test(request, workspace, editor, test_module) - def test_C4044695_PhysXCollider_AddMultipleSurfaceFbx(self, request, workspace, editor, launcher_platform): - from .collider import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module + def test_Collider_MultipleSurfaceSlots(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_MultipleSurfaceSlots as test_module self._run_test(request, workspace, editor, test_module) - def test_C14861504_RenderMeshAsset_WithNoPxAsset(self, request, workspace, editor, launcher_platform): - from .collider import C14861504_RenderMeshAsset_WithNoPxAsset as test_module + def test_Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module self._run_test(request, workspace, editor, test_module) - def test_C100000_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform): - from .collider import C100000_RigidBody_EnablingGravityWorksPoC as test_module + def test_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform): + from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - @fm.file_override('physxsystemconfiguration.setreg','C3510644_Collider_CollisionGroups.setreg_override', 'AutomatedTesting/Registry') - def test_C3510644_Collider_CollisionGroups(self, request, workspace, editor, launcher_platform): - from .collider import C3510644_Collider_CollisionGroups as test_module + @fm.file_override('physxsystemconfiguration.setreg','Collider_CollisionGroupsWorkflow.setreg_override', + 'AutomatedTesting/Registry', search_subdirs=True) + def test_Collider_CollisionGroupsWorkflow(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_CollisionGroupsWorkflow as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C4982798_Collider_ColliderRotationOffset(self, request, workspace, editor, launcher_platform): - from .collider import C4982798_Collider_ColliderRotationOffset as test_module + def test_Collider_ColliderRotationOffset(self, request, workspace, editor, launcher_platform): + from .tests.collider import Collider_ColliderRotationOffset as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C15308217_NoCrash_LevelSwitch(self, request, workspace, editor, launcher_platform): - from .terrain import C15308217_NoCrash_LevelSwitch as test_module - self._run_test(request, workspace, editor, test_module) - - @revert_physics_config - def test_C6090547_ForceRegion_ParentChildForceRegions(self, request, workspace, editor, launcher_platform): - from .force_region import C6090547_ForceRegion_ParentChildForceRegions as test_module + def test_ForceRegion_ParentChildForcesCombineForces(self, request, workspace, editor, launcher_platform): + from .tests.force_region import ForceRegion_ParentChildForcesCombineForces as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C19578021_ShapeCollider_CanBeAdded(self, request, workspace, editor, launcher_platform): - from .collider import C19578021_ShapeCollider_CanBeAdded as test_module + def test_ShapeCollider_CanBeAddedWitNoWarnings(self, request, workspace, editor, launcher_platform): + from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config - def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): - from .general import C15425929_Undo_Redo as test_module + def test_Physics_UndoRedoWorksOnEntityWithPhysComponents(self, request, workspace, editor, launcher_platform): + from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module self._run_test(request, workspace, editor, test_module) + + def test_Joints_Fixed2BodiesConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_Fixed2BodiesConstrained as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_Hinge2BodiesConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_Hinge2BodiesConstrained as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_Ball2BodiesConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_Ball2BodiesConstrained as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_FixedBreakable(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_FixedBreakable as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_HingeBreakable(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_HingeBreakable as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_BallBreakable(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_BallBreakable as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_HingeNoLimitsConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_HingeNoLimitsConstrained as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_BallNoLimitsConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_BallNoLimitsConstrained as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_FixedLeadFollowerCollide(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_FixedLeadFollowerCollide as test_module + self._run_test(request, workspace, editor, test_module) + + def test_Joints_GlobalFrameConstrained(self, request, workspace, editor, launcher_platform): + from .tests.joints import Joints_GlobalFrameConstrained as test_module + self._run_test(request, workspace, editor, test_module) + + @revert_physics_config + def test_Material_DefaultLibraryUpdatedAcrossLevels(self, request, workspace, editor, launcher_platform): + @fm.file_override("physxsystemconfiguration.setreg", + "Material_DefaultLibraryUpdatedAcrossLevels_before.setreg", + "AutomatedTesting", + search_subdirs=True) + def levels_before(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_DefaultLibraryUpdatedAcrossLevels_before as test_module_0 + self._run_test(request, workspace, editor, test_module_0) + + # File override replaces the previous physxconfiguration file with another where the only difference is the default material library + @fm.file_override("physxsystemconfiguration.setreg", + "Material_DefaultLibraryUpdatedAcrossLevels_after.setreg", + "AutomatedTesting", + search_subdirs=True) + def levels_after(self, request, workspace, editor, launcher_platform): + from .tests.material import Material_DefaultLibraryUpdatedAcrossLevels_after as test_module_1 + self._run_test(request, workspace, editor, test_module_1) + + levels_before(self, request, workspace, editor, launcher_platform) + levels_after(self, request, workspace, editor, launcher_platform) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py old mode 100755 new mode 100644 index 0346df2ebd..81fdc747d5 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py @@ -29,25 +29,17 @@ revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', ' class TestAutomation(TestAutomationBase): ## Seems to be flaky, need to investigate - def test_C19536274_GetCollisionName_PrintsName(self, request, workspace, editor, launcher_platform): - from .general import C19536274_GetCollisionName_PrintsName as test_module + def test_ScriptCanvas_GetCollisionNameReturnsName(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_GetCollisionNameReturnsName as test_module # Fixme: expected_lines=["Layer Name: Right"] self._run_test(request, workspace, editor, test_module) ## Seems to be flaky, need to investigate - def test_C19536277_GetCollisionName_PrintsNothing(self, request, workspace, editor, launcher_platform): - from .general import C19536277_GetCollisionName_PrintsNothing as test_module + def test_ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer(self, request, workspace, editor, launcher_platform): + from .tests.script_canvas import ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer as test_module # All groups present in the PhysX Collider that could show up in test # Fixme: collision_groups = ["All", "None", "All_NoTouchBend", "All_3", "None_1", "All_NoTouchBend_1", "All_2", "None_1_1", "All_NoTouchBend_1_1", "All_1", "None_1_1_1", "All_NoTouchBend_1_1_1", "All_4", "None_1_1_1_1", "All_NoTouchBend_1_1_1_1", "GroupLeft", "GroupRight"] # Fixme: for group in collision_groups: # Fixme: unexpected_lines.append(f"GroupName: {group}") # Fixme: expected_lines=["GroupName: "] self._run_test(request, workspace, editor, test_module) - - ## Seems to be flaky, need to investigate - @pytest.mark.xfail( - reason="Editor crashes and errors about files accessed by multiple processes appear in the log.") - @revert_physics_config - def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): - from .general import C15425929_Undo_Redo as test_module - self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C15308217_NoCrash_LevelSwitch.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C15308217_NoCrash_LevelSwitch.py deleted file mode 100644 index f3641b12bc..0000000000 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C15308217_NoCrash_LevelSwitch.py +++ /dev/null @@ -1,105 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - - -# Test case ID : C15308217 -# Test Case Title : Verify that the Terrain texture layer doesn't crash when changing -# from on a level with a terrain component to another level without a terrain component - - - -# fmt: off -class Tests(): - enter_game_mode_1 = ("Entered game mode for level1", "Failed to enter game mode for level1") - enter_game_mode_2 = ("Entered game mode for level2", "Failed to enter game mode for level2") - find_terrain = ("Terrain found", "Terrain not found") - exit_game_mode_1 = ("Exited game mode for level1", "Couldn't exit game mode for level1") - exit_game_mode_2 = ("Exited game mode for level2", "Couldn't exit game mode for level2") -# fmt: on - - -def C15308217_NoCrash_LevelSwitch(): - - """ - Summary: - Verify that the Terrain texture layer doesn't crash when changing from on a level with a - terrain component to another level without a terrain component - - Level Description: - Level C15308217_NoCrash_LevelSwitchWithOutTerrain: - No entities - Level C15308217_NoCrash_LevelSwitchWithTerrain: - Terrain (entity) - PhysX Terrain entity is created in the level - - Expected Behavior: - Editior should not crash. - We are switching the levels and validating the entities and checking any crash is happening while - switching between levels - - Test Steps: - 1) Open level with PhysX Terrain component - 2) Enter game mode - 3) Retrieve and validate entities - 4) Exit game mode - 5) Open level which doesn't have a PhysX Terrain component - 6) Enter game mode - 7) Wait for WAIT_TIME to check if any crash happens - 8) Exit game mode - 9) Close the editor - - - 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 - """ - - import os - import sys - from editor_python_test_tools.utils import Report - from editor_python_test_tools.utils import TestHelper as helper - - import azlmbr.legacy.general as general - import azlmbr.bus - - # Constants - WAIT_TIME = 1.0 - - helper.init_idle() - - # 1) Open level with PhysX Terrain component - helper.open_level("Physics", "C15308217_NoCrash_LevelSwitchWithTerrain") - - # 2) Enter game mode - helper.enter_game_mode(Tests.enter_game_mode_1) - - # 3) Retrieve and validate entities - terrain_id = general.find_game_entity("Terrain") - Report.critical_result(Tests.find_terrain, terrain_id.IsValid()) - - # 4) Exit game mode - helper.exit_game_mode(Tests.exit_game_mode_1) - - # 5) Open level which doesn't have a PhysX Terrain component - helper.open_level("Physics", "C15308217_NoCrash_LevelSwitchWithOutTerrain") - - # 6) Enter game mode - helper.enter_game_mode(Tests.enter_game_mode_2) - - # 7) Wait for WAIT_TIME to check if any crash happens - general.idle_wait(WAIT_TIME) - - # 8) Exit game mode - helper.exit_game_mode(Tests.exit_game_mode_2) - - - -if __name__ == "__main__": - from editor_python_test_tools.utils import Report - Report.start_test(C15308217_NoCrash_LevelSwitch) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C6131473_StaticSlice_OnDynamicSliceSpawn.py b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/general/C6131473_StaticSlice_OnDynamicSliceSpawn.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice.py index e28893dee3..03674fbb17 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C6131473_StaticSlice_OnDynamicSliceSpawn.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice.py @@ -21,7 +21,7 @@ class Tests(): # fmt: on -def C6131473_StaticSlice_OnDynamicSliceSpawn(): +def Physics_DynamicSliceWithPhysNotSpawnsStaticSlice(): """ Summary: @@ -71,7 +71,7 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C6131473_StaticSlice_OnDynamicSliceSpawn") + helper.open_level("Physics", "Physics_DynamicSliceWithPhysNotSpawnsStaticSlice") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -99,4 +99,4 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6131473_StaticSlice_OnDynamicSliceSpawn) + Report.start_test(Physics_DynamicSliceWithPhysNotSpawnsStaticSlice) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C15425929_Undo_Redo.py b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_UndoRedoWorksOnEntityWithPhysComponents.py similarity index 93% rename from AutomatedTesting/Gem/PythonTests/physics/general/C15425929_Undo_Redo.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/Physics_UndoRedoWorksOnEntityWithPhysComponents.py index f74c1d10cb..f114eeaa1f 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C15425929_Undo_Redo.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_UndoRedoWorksOnEntityWithPhysComponents.py @@ -20,7 +20,7 @@ class Tests: # fmt: off -def C15425929_Undo_Redo(): +def Physics_UndoRedoWorksOnEntityWithPhysComponents(): """ Summary: Tests that no error messages arise when using the undo and redo functions in the editor. @@ -53,7 +53,7 @@ def C15425929_Undo_Redo(): helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C15425929_Undo_Redo") + helper.open_level("Physics", "Physics_UndoRedoWorksOnEntityWithPhysComponents") with Tracer() as error_tracer: # Entity to delete and undo and re-delete @@ -87,4 +87,4 @@ def C15425929_Undo_Redo(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15425929_Undo_Redo) + Report.start_test(Physics_UndoRedoWorksOnEntityWithPhysComponents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether.py similarity index 93% rename from AutomatedTesting/Gem/PythonTests/physics/general/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether.py index f011e65972..f82eed5895 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether.py @@ -23,7 +23,7 @@ class Tests(): # fmt: on -def C5689529_Verify_Terrain_RigidBody_Collider_Mesh(): +def Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether(): """ Summary: @@ -71,7 +71,7 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5689529_Verify_Terrain_RigidBody_Collider_Mesh") + helper.open_level("Physics", "Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -102,4 +102,4 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5689529_Verify_Terrain_RigidBody_Collider_Mesh) + Report.start_test(Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C29032500_EditorComponents_WorldBodyBusWorks.py b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_WorldBodyBusWorksOnEditorComponents.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/general/C29032500_EditorComponents_WorldBodyBusWorks.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/Physics_WorldBodyBusWorksOnEditorComponents.py index 0f7f91dafb..ba3f2088cb 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C29032500_EditorComponents_WorldBodyBusWorks.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/Physics_WorldBodyBusWorksOnEditorComponents.py @@ -48,7 +48,7 @@ class Tests(): # fmt: on -def C29032500_EditorComponents_WorldBodyBusWorks(): +def Physics_WorldBodyBusWorksOnEditorComponents(): r""" Summary: Runs a test to make sure that a WorldBodyBus works property for components @@ -92,7 +92,7 @@ def C29032500_EditorComponents_WorldBodyBusWorks(): AABB_THRESHOLD = 0.01 # Entities won't move in the simulation helper.init_idle() - helper.open_level("Physics", "C29032500_EditorComponents_WorldBodyBusWorks") + helper.open_level("Physics", "Physics_WorldBodyBusWorksOnEditorComponents") def create_aabb(aabb_min_tuple, aabb_max_tuple): return azlmbr.math.Aabb_CreateFromMinMax(azlmbr.math.Vector3(aabb_min_tuple[0], aabb_min_tuple[1], aabb_min_tuple[2]), @@ -150,4 +150,4 @@ def C29032500_EditorComponents_WorldBodyBusWorks(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C29032500_EditorComponents_WorldBodyBusWorks) + Report.start_test(Physics_WorldBodyBusWorksOnEditorComponents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/character_controller/C14654881_CharacterController_SwitchLevels.py b/AutomatedTesting/Gem/PythonTests/physics/tests/character_controller/CharacterController_SwitchLevels.py similarity index 90% rename from AutomatedTesting/Gem/PythonTests/physics/character_controller/C14654881_CharacterController_SwitchLevels.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/character_controller/CharacterController_SwitchLevels.py index 3976bcf25c..564a2a1020 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/character_controller/C14654881_CharacterController_SwitchLevels.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/character_controller/CharacterController_SwitchLevels.py @@ -23,7 +23,7 @@ class Tests: # fmt: on -def C14654881_CharacterController_SwitchLevels(): +def CharacterController_SwitchLevels(): """ Summary: Runs an automated test to verify that switching levels from a level containing a character controller component @@ -64,7 +64,7 @@ def C14654881_CharacterController_SwitchLevels(): helper.init_idle() # 1.1) Load level 1 (with character controller) - helper.open_level("Physics", "C14654881_CharacterController_SwitchLevels") + helper.open_level("Physics", "CharacterController_SwitchLevels") # 1.2) Enter game mode helper.enter_game_mode(Tests.level1_enter_game_mode) @@ -77,7 +77,7 @@ def C14654881_CharacterController_SwitchLevels(): helper.exit_game_mode(Tests.level1_exit_game_mode) # 2.1) Load level 2 (empty level) - helper.open_level("Physics", "C14654881_CharacterController_SwitchLevelsEmpty") + helper.open_level("Physics", "Base") # 2.2) Enter game mode helper.enter_game_mode(Tests.level2_enter_game_mode) @@ -89,4 +89,4 @@ def C14654881_CharacterController_SwitchLevels(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14654881_CharacterController_SwitchLevels) + Report.start_test(CharacterController_SwitchLevels) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976236_AddPhysxColliderComponent.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_AddColliderComponent.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4976236_AddPhysxColliderComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_AddColliderComponent.py index e4341bb148..4172e66962 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976236_AddPhysxColliderComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_AddColliderComponent.py @@ -20,7 +20,7 @@ class Tests(): # fmt: on -def C4976236_AddPhysxColliderComponent(): +def Collider_AddColliderComponent(): """ Summary: Opens an empty level and creates an Entity with PhysX Collider. Verify that editor remains stable in Game mode. @@ -83,4 +83,4 @@ def C4976236_AddPhysxColliderComponent(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976236_AddPhysxColliderComponent) + Report.start_test(Collider_AddColliderComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976227_Collider_NewGroup.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_AddingNewGroupWorks.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4976227_Collider_NewGroup.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_AddingNewGroupWorks.py index e9704d6be5..acb5ae6bee 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976227_Collider_NewGroup.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_AddingNewGroupWorks.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C4976227_Collider_NewGroup(): +def Collider_AddingNewGroupWorks(): """ Summary: Runs an automated test to ensure that a collision group can be added. @@ -59,7 +59,7 @@ def C4976227_Collider_NewGroup(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C4976227_Collider_NewGroup") + helper.open_level("Physics", "Collider_AddingNewGroupWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -80,4 +80,4 @@ def C4976227_Collider_NewGroup(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976227_Collider_NewGroup) + Report.start_test(Collider_AddingNewGroupWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982801_PhysXColliderShape_CanBeSelected.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_BoxShapeEditting.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982801_PhysXColliderShape_CanBeSelected.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_BoxShapeEditting.py index 33b7dc0b48..68ff0b4edc 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982801_PhysXColliderShape_CanBeSelected.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_BoxShapeEditting.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def C4982801_PhysXColliderShape_CanBeSelected(): +def Collider_BoxShapeEditting(): """ Summary: Adding PhysX Collider and Shape components to test entity, then attempting to modify the shape's dimensions @@ -102,4 +102,4 @@ def C4982801_PhysXColliderShape_CanBeSelected(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982801_PhysXColliderShape_CanBeSelected) + Report.start_test(Collider_BoxShapeEditting) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982802_PhysXColliderShape_CanBeSelected.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CapsuleShapeEditting.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982802_PhysXColliderShape_CanBeSelected.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CapsuleShapeEditting.py index 4881c5b9a0..7df12c68f0 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982802_PhysXColliderShape_CanBeSelected.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CapsuleShapeEditting.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def C4982802_PhysXColliderShape_CanBeSelected(): +def Collider_CapsuleShapeEditting(): """ Summary: Adding PhysX Collider and Shape components to test entity, then attempting to modify the shape's dimensions @@ -102,4 +102,4 @@ def C4982802_PhysXColliderShape_CanBeSelected(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982802_PhysXColliderShape_CanBeSelected) + Report.start_test(Collider_CapsuleShapeEditting) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861500_DefaultSetting_ColliderShape.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C14861500_DefaultSetting_ColliderShape.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py index aed856f530..cf8bd740c9 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861500_DefaultSetting_ColliderShape.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py @@ -18,7 +18,7 @@ class Tests(): # fmt: on -def C14861500_DefaultSetting_ColliderShape(): +def Collider_CheckDefaultShapeSettingIsPxMesh(): """ Summary: Check the default for Shape on the PhysX Collider component @@ -69,4 +69,4 @@ def C14861500_DefaultSetting_ColliderShape(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14861500_DefaultSetting_ColliderShape) + Report.start_test(Collider_CheckDefaultShapeSettingIsPxMesh) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982797_Collider_ColliderOffset.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_ColliderPositionOffset.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982797_Collider_ColliderOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_ColliderPositionOffset.py index d4d8ab15fd..a784d10684 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982797_Collider_ColliderOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_ColliderPositionOffset.py @@ -25,7 +25,7 @@ class Tests: # fmt: on -def C4982797_Collider_ColliderOffset(): +def Collider_ColliderPositionOffset(): # type: () -> None """ Summary: @@ -287,7 +287,7 @@ def C4982797_Collider_ColliderOffset(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4982797_Collider_ColliderOffset") + helper.open_level("Physics", "Collider_ColliderPositionOffset") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -331,4 +331,4 @@ def C4982797_Collider_ColliderOffset(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982797_Collider_ColliderOffset) + Report.start_test(Collider_ColliderPositionOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982798_Collider_ColliderRotationOffset.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_ColliderRotationOffset.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982798_Collider_ColliderRotationOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_ColliderRotationOffset.py index 8368b9a66f..8b3ccfe5c7 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982798_Collider_ColliderRotationOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_ColliderRotationOffset.py @@ -29,7 +29,7 @@ class Tests: # fmt: on -def C4982798_Collider_ColliderRotationOffset(): +def Collider_ColliderRotationOffset(): # type: () -> None """ Summary: @@ -255,7 +255,7 @@ def C4982798_Collider_ColliderRotationOffset(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4982798_Collider_ColliderRotationOffset") + helper.open_level("Physics", "Collider_ColliderRotationOffset") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -299,4 +299,4 @@ def C4982798_Collider_ColliderRotationOffset(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982798_Collider_ColliderRotationOffset) + Report.start_test(Collider_ColliderRotationOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C3510644_Collider_CollisionGroups.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CollisionGroupsWorkflow.py similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C3510644_Collider_CollisionGroups.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CollisionGroupsWorkflow.py index 28638cc2a6..0440645df8 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C3510644_Collider_CollisionGroups.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_CollisionGroupsWorkflow.py @@ -38,7 +38,7 @@ class Tests: # fmt: on -def C3510644_Collider_CollisionGroups(): +def Collider_CollisionGroupsWorkflow(): # type: () -> None """ Summary: @@ -261,7 +261,7 @@ def C3510644_Collider_CollisionGroups(): # 1) Open level helper.init_idle() - helper.open_level("Physics", "C3510644_Collider_CollisionGroups") + helper.open_level("Physics", "Collider_CollisionGroupsWorkflow") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -358,4 +358,4 @@ def C3510644_Collider_CollisionGroups(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C3510644_Collider_CollisionGroups) + Report.start_test(Collider_CollisionGroupsWorkflow) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982593_PhysXCollider_CollisionLayerTest.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982593_PhysXCollider_CollisionLayerTest.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.py index 3fdb9d3403..efcbf5c83a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982593_PhysXCollider_CollisionLayerTest.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.py @@ -30,7 +30,7 @@ class Tests: # fmt: on -def C4982593_PhysXCollider_CollisionLayerTest(): +def Collider_DiffCollisionGroupDiffCollidingLayersNotCollide(): # type: () -> None """ Summary: @@ -96,7 +96,7 @@ def C4982593_PhysXCollider_CollisionLayerTest(): # 1) Open level / Enter game mode helper.init_idle() - helper.open_level("Physics", "C4982593_PhysxCollider_CollisionLayerTest") + helper.open_level("Physics", "Collider_DiffCollisionGroupDiffCollidingLayersNotCollide") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve/validate entities @@ -227,4 +227,4 @@ def C4982593_PhysXCollider_CollisionLayerTest(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982593_PhysXCollider_CollisionLayerTest) + Report.start_test(Collider_DiffCollisionGroupDiffCollidingLayersNotCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_MultipleSurfaceSlots.py similarity index 92% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_MultipleSurfaceSlots.py index cfe6f3962c..2eabc6ab09 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_MultipleSurfaceSlots.py @@ -23,7 +23,7 @@ class Tests(): # fmt: on -def C4044695_PhysXCollider_AddMultipleSurfaceFbx(): +def Collider_MultipleSurfaceSlots(): """ Summary: Create entity with Mesh and PhysX Collider components and assign a fbx file in both the components. @@ -59,8 +59,8 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx(): SURFACE_TAG_COUNT = 4 # Number of surface tags included in used asset # Asset paths - STATIC_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.azmodel") - PHYSX_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.pxmesh") + STATIC_MESH = os.path.join("assets", "Physics", "Collider_MultipleSurfaceSlots", "test.azmodel") + PHYSX_MESH = os.path.join("assets", "Physics","Collider_MultipleSurfaceSlots", "test.pxmesh") helper.init_idle() # 1) Load the empty level @@ -86,12 +86,12 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx(): px_asset = Asset.find_asset_by_path(PHYSX_MESH) collider_component.set_component_property_value("Shape Configuration|Asset|PhysX Mesh", px_asset.id) px_asset.id = collider_component.get_component_property_value("Shape Configuration|Asset|PhysX Mesh") - Report.result(Tests.assign_px_mesh_asset, px_asset.get_path() == PHYSX_MESH.replace(os.sep, "/")) + Report.result(Tests.assign_px_mesh_asset, px_asset.get_path().lower() == PHYSX_MESH.replace(os.sep, "/").lower()) mesh_asset = Asset.find_asset_by_path(STATIC_MESH) mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id) mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset") - Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/")) + Report.result(Tests.assign_mesh_asset, mesh_asset.get_path().lower() == STATIC_MESH.replace(os.sep, "/").lower()) # 6) Check if multiple material slots show up under Materials section in the PhysX Collider component pte = collider_component.get_property_tree() @@ -106,4 +106,4 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044695_PhysXCollider_AddMultipleSurfaceFbx) + Report.start_test(Collider_MultipleSurfaceSlots) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976245_PhysXCollider_CollisionLayerTest.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_NoneCollisionGroupSameLayerNotCollide.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4976245_PhysXCollider_CollisionLayerTest.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_NoneCollisionGroupSameLayerNotCollide.py index a7c9152744..f52a5683a6 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976245_PhysXCollider_CollisionLayerTest.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_NoneCollisionGroupSameLayerNotCollide.py @@ -30,7 +30,7 @@ class Tests: # fmt: on -def C4976245_PhysXCollider_CollisionLayerTest(): +def Collider_NoneCollisionGroupSameLayerNotCollide(): # type: () -> None """ Summary: @@ -105,7 +105,7 @@ def C4976245_PhysXCollider_CollisionLayerTest(): # 1) Open level / Enter game mode helper.init_idle() - helper.open_level("Physics", "C4976245_PhysxCollider_CollisionLayerTest") + helper.open_level("Physics", "Collider_NoneCollisionGroupSameLayerNotCollide") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve/validate entities @@ -219,4 +219,4 @@ def C4976245_PhysXCollider_CollisionLayerTest(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976245_PhysXCollider_CollisionLayerTest) + Report.start_test(Collider_NoneCollisionGroupSameLayerNotCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861501_PhysXCollider_RenderMeshAutoAssigned.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py similarity index 88% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C14861501_PhysXCollider_RenderMeshAutoAssigned.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py index 73c94a2dfb..f229842d2f 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861501_PhysXCollider_RenderMeshAutoAssigned.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py @@ -20,7 +20,7 @@ class Tests(): # fmt: on -def C14861501_PhysXCollider_RenderMeshAutoAssigned(): +def Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent(): """ Summary: Create entity with Mesh component and assign a render mesh to the Mesh component. Add Physics Collider component @@ -55,9 +55,9 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned(): from editor_python_test_tools.asset_utils import Asset # Asset paths - STATIC_MESH = os.path.join("assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.azmodel") + STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.azmodel") PHYSX_MESH = os.path.join( - "assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.pxmesh" + "assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.pxmesh" ) helper.init_idle() @@ -76,7 +76,7 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned(): mesh_asset = Asset.find_asset_by_path(STATIC_MESH) mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id) mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset") - Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/")) + Report.result(Tests.assign_mesh_asset, mesh_asset.get_path().lower() == STATIC_MESH.replace(os.sep, "/").lower()) # 5) Add PhysX Collider component test_component = test_entity.add_component("PhysX Collider") @@ -85,9 +85,9 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned(): # 6) The physics asset in PhysX Collider component is auto-assigned. asset_id = test_component.get_component_property_value("Shape Configuration|Asset|PhysX Mesh") test_asset = Asset(asset_id) - Report.result(Tests.automatic_shape_change, test_asset.get_path() == PHYSX_MESH.replace(os.sep, "/")) + Report.result(Tests.automatic_shape_change, test_asset.get_path().lower() == PHYSX_MESH.replace(os.sep, "/").lower()) if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14861501_PhysXCollider_RenderMeshAutoAssigned) + Report.start_test(Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861502_PhysXCollider_AssetAutoAssigned.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C14861502_PhysXCollider_AssetAutoAssigned.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py index b8c0e4a529..8b08aae49d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861502_PhysXCollider_AssetAutoAssigned.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py @@ -20,7 +20,7 @@ class Tests(): # fmt: on -def C14861502_PhysXCollider_AssetAutoAssigned(): +def Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(): """ Summary: Create entity with Mesh and PhysX Collider components, then assign a render mesh to the Mesh component @@ -92,4 +92,4 @@ def C14861502_PhysXCollider_AssetAutoAssigned(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14861502_PhysXCollider_AssetAutoAssigned) + Report.start_test(Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982803_Enable_PxMesh_Option.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshConvexMeshCollides.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982803_Enable_PxMesh_Option.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshConvexMeshCollides.py index 7497ae8253..7d8f421d6b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982803_Enable_PxMesh_Option.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshConvexMeshCollides.py @@ -27,7 +27,7 @@ class Tests(): # fmt: on -def C4982803_Enable_PxMesh_Option(): +def Collider_PxMeshConvexMeshCollides(): """ Summary: Load level with Entity above ground having PhysX Collider, PhysX Rigid Body and Mesh components. @@ -70,7 +70,7 @@ def C4982803_Enable_PxMesh_Option(): # Constants PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property - MESH_ASSET_PATH = os.path.join("assets", "c4982803_enable_pxmesh_option", "spherebot", "r0-b_body.pxmesh") + MESH_ASSET_PATH = os.path.join("assets", "Physics", "Collider_PxMeshConvexMeshCollides", "spherebot", "r0-b_body.pxmesh") TIMEOUT = 2.0 helper.init_idle() @@ -99,7 +99,7 @@ def C4982803_Enable_PxMesh_Option(): mesh_asset = Asset.find_asset_by_path(MESH_ASSET_PATH) collider_component.set_component_property_value("Shape Configuration|Asset|PhysX Mesh", mesh_asset.id) mesh_asset.id = collider_component.get_component_property_value("Shape Configuration|Asset|PhysX Mesh") - Report.result(Tests.assign_fbx_mesh, mesh_asset.get_path() == MESH_ASSET_PATH.replace(os.sep, "/")) + Report.result(Tests.assign_fbx_mesh, mesh_asset.get_path().lower() == MESH_ASSET_PATH.replace(os.sep, "/").lower()) # 5) Create terrain entity with physx terrain terrain = EditorEntity.create_editor_entity_at([512.0, 512.0, 31.0], "Terrain") @@ -140,4 +140,4 @@ def C4982803_Enable_PxMesh_Option(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982803_Enable_PxMesh_Option) + Report.start_test(Collider_PxMeshConvexMeshCollides) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861498_ConfirmError_NoPxMesh.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshErrorIfNoMesh.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C14861498_ConfirmError_NoPxMesh.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshErrorIfNoMesh.py index 731f114b8c..fcf1810801 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861498_ConfirmError_NoPxMesh.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshErrorIfNoMesh.py @@ -21,7 +21,7 @@ class Tests(): # fmt:on -def C14861498_ConfirmError_NoPxMesh(): +def Collider_PxMeshErrorIfNoMesh(): """ Summary: This test looks for the presence of an error when an entity with a PhysXCollider has no physics mesh, but has its @@ -63,7 +63,7 @@ def C14861498_ConfirmError_NoPxMesh(): 'EditorColliderComponent' in warningInfo.message for warningInfo in warning_tracer.warnings) # 1) Load level / enter game mode - helper.open_level("Physics", "C14861498_ConfirmError_NoPxMesh") + helper.open_level("Physics", "Collider_PxMeshErrorIfNoMesh") helper.enter_game_mode(Tests.enter_game_mode) # 2) Find game entity @@ -81,4 +81,4 @@ def C14861498_ConfirmError_NoPxMesh(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14861498_ConfirmError_NoPxMesh) + Report.start_test(Collider_PxMeshErrorIfNoMesh) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861504_RenderMeshAsset_WithNoPxAsset.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py similarity index 93% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C14861504_RenderMeshAsset_WithNoPxAsset.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py index 1a63f478fd..780c5439dd 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C14861504_RenderMeshAsset_WithNoPxAsset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C14861504_RenderMeshAsset_WithNoPxAsset(): +def Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx(): """ Summary: Create entity with Mesh component and assign a render mesh that has no physics asset to the Mesh component. @@ -63,7 +63,7 @@ def C14861504_RenderMeshAsset_WithNoPxAsset(): import azlmbr.asset as azasset # Asset paths - STATIC_MESH = os.path.join("assets", "c14861504_rendermeshasset_withnopxasset", "test_asset.azmodel") + STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx", "test_asset.azmodel") helper.init_idle() # 1) Load the empty level @@ -81,7 +81,7 @@ def C14861504_RenderMeshAsset_WithNoPxAsset(): mesh_asset = Asset.find_asset_by_path(STATIC_MESH) mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id) mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset") - Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/")) + Report.result(Tests.assign_mesh_asset, mesh_asset.get_path().lower() == STATIC_MESH.replace(os.sep, "/").lower()) # 5) Add PhysX Collider component test_component = test_entity.add_component("PhysX Collider") @@ -101,4 +101,4 @@ def C14861504_RenderMeshAsset_WithNoPxAsset(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14861504_RenderMeshAsset_WithNoPxAsset) + Report.start_test(Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupDiffLayersCollide.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupDiffLayersCollide.py index 893d0d06f6..03636ac279 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupDiffLayersCollide.py @@ -25,7 +25,7 @@ class Tests(): # fmt: on -def C4976243_Collision_SameCollisionGroupDiffCollisionLayers(): +def Collider_SameCollisionGroupDiffLayersCollide(): """ Summary: @@ -78,7 +78,7 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976243_Collision_SameCollisionGroupDiffCollisionLayers") + helper.open_level("Physics", "Collider_SameCollisionGroupDiffLayersCollide") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -123,4 +123,4 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976243_Collision_SameCollisionGroupDiffCollisionLayers) + Report.start_test(Collider_SameCollisionGroupDiffLayersCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976244_Collider_SameGroupSameLayerCollision.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupSameCustomLayerCollide.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4976244_Collider_SameGroupSameLayerCollision.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupSameCustomLayerCollide.py index 44ea29de76..2e40c0b557 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976244_Collider_SameGroupSameLayerCollision.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupSameCustomLayerCollide.py @@ -26,7 +26,7 @@ class Tests: # fmt: on -def C4976244_Collider_SameGroupSameLayerCollision(): +def Collider_SameCollisionGroupSameCustomLayerCollide(): # type: () -> None """ Summary: @@ -127,7 +127,7 @@ def C4976244_Collider_SameGroupSameLayerCollision(): # Main Script # 1) Load the level helper.init_idle() - helper.open_level("physics", "C4976244_Collider_SameGroupSameLayerCollision") + helper.open_level("physics", "Collider_SameCollisionGroupSameCustomLayerCollide") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -181,4 +181,4 @@ def C4976244_Collider_SameGroupSameLayerCollision(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976244_Collider_SameGroupSameLayerCollision) + Report.start_test(Collider_SameCollisionGroupSameCustomLayerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupSameLayerCollide.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupSameLayerCollide.py index 86ef5b6ed4..34a7309fb5 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SameCollisionGroupSameLayerCollide.py @@ -26,7 +26,7 @@ class Tests(): # fmt: on -def C4976242_Collision_SameCollisionlayerSameCollisiongroup(): +def Collider_SameCollisionGroupSameLayerCollide(): """ Summary: @@ -77,7 +77,7 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup(): helper.init_idle() # 1) Open level and Enter game mode - helper.open_level("Physics", "C4976242_Collision_SameCollisionlayerSameCollisiongroup") + helper.open_level("Physics", "Collider_SameCollisionGroupSameLayerCollide") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve and validate Entities @@ -184,4 +184,4 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976242_Collision_SameCollisionlayerSameCollisiongroup) + Report.start_test(Collider_SameCollisionGroupSameLayerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982800_PhysXColliderShape_CanBeSelected.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SphereShapeEditting.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982800_PhysXColliderShape_CanBeSelected.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SphereShapeEditting.py index 0f1b9c6070..bffd041d92 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982800_PhysXColliderShape_CanBeSelected.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_SphereShapeEditting.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def C4982800_PhysXColliderShape_CanBeSelected(): +def Collider_SphereShapeEditting(): """ Summary: Adding PhysX Collider and Shape components to test entity, then attempting to modify the shape's dimensions @@ -90,4 +90,4 @@ def C4982800_PhysXColliderShape_CanBeSelected(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982800_PhysXColliderShape_CanBeSelected) + Report.start_test(Collider_SphereShapeEditting) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982595_Collider_TriggerDisablesCollision.py b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_TriggerPassThrough.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C4982595_Collider_TriggerDisablesCollision.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_TriggerPassThrough.py index d3b0faa6d4..3953db6d34 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C4982595_Collider_TriggerDisablesCollision.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/collider/Collider_TriggerPassThrough.py @@ -30,7 +30,7 @@ class Tests: # fmt: on -def C4982595_Collider_TriggerDisablesCollision(): +def Collider_TriggerPassThrough(): """ Summary: This script runs an automated test to verify that when an entity's PhysX collider is set as a trigger, the entity no @@ -184,7 +184,7 @@ def C4982595_Collider_TriggerDisablesCollision(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4982595_Collider_TriggerDisablesCollision") + helper.open_level("Physics", "Collider_TriggerPassThrough") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve and validate entities @@ -230,4 +230,4 @@ def C4982595_Collider_TriggerDisablesCollision(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4982595_Collider_TriggerDisablesCollision) + Report.start_test(Collider_TriggerPassThrough) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959760_PhysXForceRegion_PointForceExertion.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_CapsuleShapedForce.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959760_PhysXForceRegion_PointForceExertion.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_CapsuleShapedForce.py index 6648b41d31..a69a019a1c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959760_PhysXForceRegion_PointForceExertion.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_CapsuleShapedForce.py @@ -30,7 +30,7 @@ class Tests: # fmt: on -def C5959760_PhysXForceRegion_PointForceExertion(): +def ForceRegion_CapsuleShapedForce(): # type: () -> None """ Summary: @@ -121,7 +121,7 @@ def C5959760_PhysXForceRegion_PointForceExertion(): # 1) Open level / Enter game mode helper.init_idle() - helper.open_level("Physics", "C5959760_PhysXForceRegion_PointForceExertion") + helper.open_level("Physics", "ForceRegion_CapsuleShapedForce") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve entities @@ -219,4 +219,4 @@ def C5959760_PhysXForceRegion_PointForceExertion(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959760_PhysXForceRegion_PointForceExertion) + Report.start_test(ForceRegion_CapsuleShapedForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_DirectionHasNoAffectOnTotalForce.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_DirectionHasNoAffectOnTotalForce.py index 11488b14c2..e1a694ca8c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_DirectionHasNoAffectOnTotalForce.py @@ -50,7 +50,7 @@ class Tests: # fmt: on -def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(): +def ForceRegion_DirectionHasNoAffectOnTotalForce(): """ Summary: Check that world and local space force direction should not affect magnitude of force exerted on entity. @@ -219,7 +219,7 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude") + helper.open_level("Physics", "ForceRegion_DirectionHasNoAffectOnTotalForce") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -279,4 +279,4 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude) + Report.start_test(ForceRegion_DirectionHasNoAffectOnTotalForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6321601_Force_HighValuesDirectionAxes.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_HighValuesDirectionAxesWorkWithNoError.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6321601_Force_HighValuesDirectionAxes.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_HighValuesDirectionAxesWorkWithNoError.py index 47cc085479..11e091cba0 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6321601_Force_HighValuesDirectionAxes.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_HighValuesDirectionAxesWorkWithNoError.py @@ -37,7 +37,7 @@ class Tests(): # fmt: on -def C6321601_Force_HighValuesDirectionAxes(): +def ForceRegion_HighValuesDirectionAxesWorkWithNoError(): """ Summary: @@ -204,7 +204,7 @@ def C6321601_Force_HighValuesDirectionAxes(): return entity_error_tracer.has_errors # 1) Open level - helper.open_level("Physics", "C6321601_Force_HighValuesDirectionAxes") + helper.open_level("Physics", "ForceRegion_HighValuesDirectionAxesWorkWithNoError") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -243,4 +243,4 @@ def C6321601_Force_HighValuesDirectionAxes(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6321601_Force_HighValuesDirectionAxes) + Report.start_test(ForceRegion_HighValuesDirectionAxesWorkWithNoError) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959763_ForceRegion_ForceRegionImpulsesCube.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesBoxShapedRigidBody.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959763_ForceRegion_ForceRegionImpulsesCube.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesBoxShapedRigidBody.py index 8bea169a82..24cb2bbc1c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959763_ForceRegion_ForceRegionImpulsesCube.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesBoxShapedRigidBody.py @@ -24,7 +24,7 @@ class Tests: # fmt: on -def C5959763_ForceRegion_ForceRegionImpulsesCube(): +def ForceRegion_ImpulsesBoxShapedRigidBody(): """ This run() function will open a a level and validate that a Cube gets impulsed by a force region. It does this by: @@ -42,8 +42,6 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube(): # Setup path import os, sys - - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general @@ -80,7 +78,7 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube(): UPWARD_Z_VECTOR = 1.0 # Open level - helper.open_level("Physics", "C5959763_ForceRegion_ForceRegionImpulsesCube") + helper.open_level("Physics", "ForceRegion_ImpulsesBoxShapedRigidBody") # Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -164,4 +162,4 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959763_ForceRegion_ForceRegionImpulsesCube) + Report.start_test(ForceRegion_ImpulsesBoxShapedRigidBody) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesCapsuleShapedRigidBody.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesCapsuleShapedRigidBody.py index 4ce345a5eb..d9f586c647 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesCapsuleShapedRigidBody.py @@ -24,7 +24,7 @@ class Tests: # fmt: on -def C5959764_ForceRegion_ForceRegionImpulsesCapsule(): +def ForceRegion_ImpulsesCapsuleShapedRigidBody(): """ This run() function will open a a level and validate that a Capsule gets impulsed by a force region. It does this by: @@ -80,7 +80,7 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule(): UPWARD_Z_VECTOR = 1.0 # Open level - helper.open_level("Physics", "C5959764_ForceRegion_ForceRegionImpulsesCapsule") + helper.open_level("Physics", "ForceRegion_ImpulsesCapsuleShapedRigidBody") # Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -166,4 +166,4 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959764_ForceRegion_ForceRegionImpulsesCapsule) + Report.start_test(ForceRegion_ImpulsesCapsuleShapedRigidBody) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959765_ForceRegion_AssetGetsImpulsed.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesPxMeshShapedRigidBody.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959765_ForceRegion_AssetGetsImpulsed.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesPxMeshShapedRigidBody.py index 36ecddb3ca..4bd953cdf3 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959765_ForceRegion_AssetGetsImpulsed.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ImpulsesPxMeshShapedRigidBody.py @@ -23,7 +23,7 @@ class Tests: tests_completed = ("Tests completed", "Tests did not complete") # fmt: on -def C5959765_ForceRegion_AssetGetsImpulsed(): +def ForceRegion_ImpulsesPxMeshShapedRigidBody(): """ # This run() function will open a a level and validate that a asset gets impulsed by a force region. # It does this by: @@ -83,7 +83,7 @@ def C5959765_ForceRegion_AssetGetsImpulsed(): UPWARD_Z_VECTOR = 1.0 # 1) Open level - helper.open_level("Physics", "C5959765_ForceRegion_AssetGetsImpulsed") + helper.open_level("Physics", "ForceRegion_ImpulsesPxMeshShapedRigidBody") # 2) Enters Game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -168,4 +168,4 @@ def C5959765_ForceRegion_AssetGetsImpulsed(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959765_ForceRegion_AssetGetsImpulsed) + Report.start_test(ForceRegion_ImpulsesPxMeshShapedRigidBody) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932042_PhysXForceRegion_LinearDamping.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_LinearDampingForceOnRigidBodies.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5932042_PhysXForceRegion_LinearDamping.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_LinearDampingForceOnRigidBodies.py index 5112729cc2..4e3cc4e43d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932042_PhysXForceRegion_LinearDamping.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_LinearDampingForceOnRigidBodies.py @@ -34,7 +34,7 @@ class Tests: # fmt: on -def C5932042_PhysXForceRegion_LinearDamping(): +def ForceRegion_LinearDampingForceOnRigidBodies(): # type: () -> None """ Summary: @@ -131,7 +131,7 @@ def C5932042_PhysXForceRegion_LinearDamping(): # 1) Open level / Enter game mode helper.init_idle() - helper.open_level("Physics", "C5932042_PhysXForceRegion_LinearDamping") + helper.open_level("Physics", "ForceRegion_LinearDampingForceOnRigidBodies") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve and validate entities @@ -265,4 +265,4 @@ def C5932042_PhysXForceRegion_LinearDamping(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5932042_PhysXForceRegion_LinearDamping) + Report.start_test(ForceRegion_LinearDampingForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_LocalSpaceForceOnRigidBodies.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_LocalSpaceForceOnRigidBodies.py index 15c77ba17e..66605a033d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_LocalSpaceForceOnRigidBodies.py @@ -30,7 +30,7 @@ class Tests: # fmt: on -def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(): +def ForceRegion_LocalSpaceForceOnRigidBodies(): """ Summary: Runs an automated test to ensure that when a rigid body enters a force region a local space force is exerted. @@ -80,7 +80,7 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies") + helper.open_level("Physics", "ForceRegion_LocalSpaceForceOnRigidBodies") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -157,4 +157,4 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies) + Report.start_test(ForceRegion_LocalSpaceForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968760_ForceRegion_CheckNetForceChange.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MovingForceRegionChangesNetForce.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5968760_ForceRegion_CheckNetForceChange.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MovingForceRegionChangesNetForce.py index d64a0564f4..9eefa61d90 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968760_ForceRegion_CheckNetForceChange.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MovingForceRegionChangesNetForce.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C5968760_ForceRegion_CheckNetForceChange(): +def ForceRegion_MovingForceRegionChangesNetForce(): """ Summary: @@ -96,7 +96,7 @@ def C5968760_ForceRegion_CheckNetForceChange(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5968760_ForceRegion_CheckNetForceChange") + helper.open_level("Physics", "ForceRegion_MovingForceRegionChangesNetForce") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -159,4 +159,4 @@ def C5968760_ForceRegion_CheckNetForceChange(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5968760_ForceRegion_CheckNetForceChange) + Report.start_test(ForceRegion_MovingForceRegionChangesNetForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MultipleComponentsCombineForces.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MultipleComponentsCombineForces.py index b1f8d27900..4f1af460d4 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MultipleComponentsCombineForces.py @@ -32,7 +32,7 @@ class Tests: import os, sys -def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(): +def ForceRegion_MultipleComponentsCombineForces(): """ Run() will open a a level and validate that the spheres are affected by the force regions as expected. @@ -92,7 +92,7 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(): # 1) Opens level with spheres above a force region helper.init_idle() - helper.open_level("Physics", "C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody") + helper.open_level("Physics", "ForceRegion_MultipleComponentsCombineForces") helper.enter_game_mode(Tests.enter_game_mode) # 2) Finds the entities in the scene @@ -174,4 +174,4 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody) + Report.start_test(ForceRegion_MultipleComponentsCombineForces) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959810_ForceRegion_ForceRegionCombinesForces.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MultipleForcesInSameComponentCombineForces.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959810_ForceRegion_ForceRegionCombinesForces.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MultipleForcesInSameComponentCombineForces.py index b7660926d5..7307f3a2fb 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959810_ForceRegion_ForceRegionCombinesForces.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_MultipleForcesInSameComponentCombineForces.py @@ -31,7 +31,7 @@ class Tests: # fmt: on -def C5959810_ForceRegion_ForceRegionCombinesForces(): +def ForceRegion_MultipleForcesInSameComponentCombineForces(): # type: () -> None """ Summary: Runs an automated test to ensure that separate forces in a force region add correctly @@ -162,7 +162,7 @@ def C5959810_ForceRegion_ForceRegionCombinesForces(): helper.init_idle() # 1) Load Level - helper.open_level("physics", "C5959810_ForceRegion_ForceRegionCombinesForces") + helper.open_level("physics", "ForceRegion_MultipleForcesInSameComponentCombineForces") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -230,4 +230,4 @@ def C5959810_ForceRegion_ForceRegionCombinesForces(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959810_ForceRegion_ForceRegionCombinesForces) + Report.start_test(ForceRegion_MultipleForcesInSameComponentCombineForces) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C15845879_ForceRegion_HighLinearDampingForce.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_NoQuiverOnHighLinearDampingForce.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C15845879_ForceRegion_HighLinearDampingForce.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_NoQuiverOnHighLinearDampingForce.py index d4807476c2..4cf7f0f8e7 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C15845879_ForceRegion_HighLinearDampingForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_NoQuiverOnHighLinearDampingForce.py @@ -24,7 +24,7 @@ class Tests: # fmt: on -def C15845879_ForceRegion_HighLinearDampingForce(): +def ForceRegion_NoQuiverOnHighLinearDampingForce(): """ Summary: Check that linear damping with high values do not make the object to quiver @@ -126,7 +126,7 @@ def C15845879_ForceRegion_HighLinearDampingForce(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C15845879_ForceRegion_HighLinearDampingForce") + helper.open_level("Physics", "ForceRegion_NoQuiverOnHighLinearDampingForce") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -165,4 +165,4 @@ def C15845879_ForceRegion_HighLinearDampingForce(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15845879_ForceRegion_HighLinearDampingForce) + Report.start_test(ForceRegion_NoQuiverOnHighLinearDampingForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090547_ForceRegion_ParentChildForceRegions.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ParentChildForcesCombineForces.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090547_ForceRegion_ParentChildForceRegions.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ParentChildForcesCombineForces.py index f466680e0c..41b07fe471 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090547_ForceRegion_ParentChildForceRegions.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ParentChildForcesCombineForces.py @@ -29,7 +29,7 @@ class Tests(): # fmt: on -def C6090547_ForceRegion_ParentChildForceRegions(): +def ForceRegion_ParentChildForcesCombineForces(): """ Summary: Runs an automated test to ensure that force regions in parent and child entities work together. @@ -89,7 +89,7 @@ def C6090547_ForceRegion_ParentChildForceRegions(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C6090547_ForceRegion_ParentChildForceRegions") + helper.open_level("Physics", "ForceRegion_ParentChildForcesCombineForces") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -195,4 +195,4 @@ def C6090547_ForceRegion_ParentChildForceRegions(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090547_ForceRegion_ParentChildForceRegions) + Report.start_test(ForceRegion_ParentChildForcesCombineForces) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932044_ForceRegion_PointForceOnRigidBody.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PointForceOnRigidBodies.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5932044_ForceRegion_PointForceOnRigidBody.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PointForceOnRigidBodies.py index 23760909db..d8fbcdb563 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932044_ForceRegion_PointForceOnRigidBody.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PointForceOnRigidBodies.py @@ -27,7 +27,7 @@ class Tests(): # fmt: on -def C5932044_ForceRegion_PointForceOnRigidBody(): +def ForceRegion_PointForceOnRigidBodies(): """ Summary: Runs an automated test to ensure that that a force region exerts point force on rigid bodies @@ -83,7 +83,7 @@ def C5932044_ForceRegion_PointForceOnRigidBody(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5932044_PhysX_ForceRegion_PointForceOnRigidBodies") + helper.open_level("Physics", "ForceRegion_PointForceOnRigidBodies") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -185,4 +185,4 @@ def C5932044_ForceRegion_PointForceOnRigidBody(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5932044_ForceRegion_PointForceOnRigidBody) + Report.start_test(ForceRegion_PointForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959808_ForceRegion_PositionOffset.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PositionOffset.py similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959808_ForceRegion_PositionOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PositionOffset.py index 480869457c..bc785ecc0a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959808_ForceRegion_PositionOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PositionOffset.py @@ -88,7 +88,7 @@ class Tests: else: return None -def C5959808_ForceRegion_PositionOffset(): +def ForceRegion_PositionOffset(): """ Summary: Force Region positional offset is tested for each of the 3 axises (X, Y, and Z). Each axis's test has one @@ -363,7 +363,7 @@ def C5959808_ForceRegion_PositionOffset(): # 1) Open level helper.init_idle() - helper.open_level("Physics", "C5959808_ForceRegion_PositionOffset") + helper.open_level("Physics", "ForceRegion_PositionOffset") helper.enter_game_mode(Tests.enter_game_mode) # 2) Variable set up @@ -401,4 +401,4 @@ def C5959808_ForceRegion_PositionOffset(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959808_ForceRegion_PositionOffset) + Report.start_test(ForceRegion_PositionOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959761_ForceRegion_PhysAssetExertsPointForce.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PxMeshShapedForce.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959761_ForceRegion_PhysAssetExertsPointForce.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PxMeshShapedForce.py index c77fc39a77..12ef218027 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959761_ForceRegion_PhysAssetExertsPointForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_PxMeshShapedForce.py @@ -25,7 +25,7 @@ class Tests(): # fmt: on -def C5959761_ForceRegion_PhysAssetExertsPointForce(): +def ForceRegion_PxMeshShapedForce(): """ Summary: Runs an automated test to ensure that PhysX force regions with physics assets exert point force on rigid bodies @@ -85,7 +85,7 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5959761_ForceRegion_ExertsPointForce_Sedan") + helper.open_level("Physics", "ForceRegion_PxMeshShapedForce") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -135,4 +135,4 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959761_ForceRegion_PhysAssetExertsPointForce) + Report.start_test(ForceRegion_PxMeshShapedForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959809_ForceRegion_RotationalOffset.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_RotationalOffset.py similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959809_ForceRegion_RotationalOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_RotationalOffset.py index d26aebab8d..8c1bbcc8e4 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959809_ForceRegion_RotationalOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_RotationalOffset.py @@ -89,7 +89,7 @@ class Tests: return None -def C5959809_ForceRegion_RotationalOffset(): +def ForceRegion_RotationalOffset(): """ Summary: Force Region rotational offset is tested for each of the 3 axises (X, Y, and Z). Each axis's test has one @@ -367,7 +367,7 @@ def C5959809_ForceRegion_RotationalOffset(): # 1) Open level helper.init_idle() - helper.open_level("Physics", "C5959809_ForceRegion_RotationalOffset") + helper.open_level("Physics", "ForceRegion_RotationalOffset") helper.enter_game_mode(Tests.enter_game_mode) # 2) Variable set up @@ -401,4 +401,4 @@ def C5959809_ForceRegion_RotationalOffset(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959809_ForceRegion_RotationalOffset) + Report.start_test(ForceRegion_RotationalOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932043_ForceRegion_SimpleDragOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SimpleDragForceOnRigidBodies.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5932043_ForceRegion_SimpleDragOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SimpleDragForceOnRigidBodies.py index cd81315e73..d7ceaa0c6e 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932043_ForceRegion_SimpleDragOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SimpleDragForceOnRigidBodies.py @@ -26,7 +26,7 @@ class Tests: # fmt: on -def C5932043_ForceRegion_SimpleDragOnRigidBodies(): +def ForceRegion_SimpleDragForceOnRigidBodies(): # This run() function will open a a level and validate that the force region slows down a spheres fall. # It does this by: # 1) Opens level with sphere above a force region @@ -64,7 +64,7 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5932043_ForceRegion_SimpleDragOnRigidBody") + helper.open_level("Physics", "ForceRegion_SimpleDragForceOnRigidBodies") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -138,4 +138,4 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5932043_ForceRegion_SimpleDragOnRigidBodies) + Report.start_test(ForceRegion_SimpleDragForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090546_ForceRegion_SliceFileInstantiates.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SliceFileInstantiates.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090546_ForceRegion_SliceFileInstantiates.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SliceFileInstantiates.py index 0c360edee5..8642464988 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090546_ForceRegion_SliceFileInstantiates.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SliceFileInstantiates.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C6090546_ForceRegion_SliceFileInstantiates(): +def ForceRegion_SliceFileInstantiates(): """ Summary: @@ -95,7 +95,7 @@ def C6090546_ForceRegion_SliceFileInstantiates(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C6090546_ForceRegion_SliceFileInstantiates") + helper.open_level("Physics", "ForceRegion_SliceFileInstantiates") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -134,4 +134,4 @@ def C6090546_ForceRegion_SliceFileInstantiates(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090546_ForceRegion_SliceFileInstantiates) + Report.start_test(ForceRegion_SliceFileInstantiates) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905527_ForceRegion_MagnitudeDeviation.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SmallMagnitudeDeviationOnLargeForces.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C12905527_ForceRegion_MagnitudeDeviation.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SmallMagnitudeDeviationOnLargeForces.py index c9d411b873..bb33a2306e 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905527_ForceRegion_MagnitudeDeviation.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SmallMagnitudeDeviationOnLargeForces.py @@ -21,7 +21,7 @@ class Tests(): # fmt: on -def C12905527_ForceRegion_MagnitudeDeviation(): +def ForceRegion_SmallMagnitudeDeviationOnLargeForces(): """ Summary: Runs an automated test to ensure that the calculated net force magnitude is close to the configured value @@ -93,7 +93,7 @@ def C12905527_ForceRegion_MagnitudeDeviation(): helper.init_idle() # 1) Open level Report.info(general.get_current_level_name()) - helper.open_level("Physics", "C12905527_ForceRegion_MagnitudeDeviation") + helper.open_level("Physics", "ForceRegion_SmallMagnitudeDeviationOnLargeForces") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -139,4 +139,4 @@ def C12905527_ForceRegion_MagnitudeDeviation(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12905527_ForceRegion_MagnitudeDeviation) + Report.start_test(ForceRegion_SmallMagnitudeDeviationOnLargeForces) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959759_RigidBody_ForceRegionSpherePointForce.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SphereShapedForce.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5959759_RigidBody_ForceRegionSpherePointForce.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SphereShapedForce.py index 99baeb1fff..f4fbbbfc9b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959759_RigidBody_ForceRegionSpherePointForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SphereShapedForce.py @@ -27,7 +27,7 @@ class Tests: # fmt: on -def C5959759_RigidBody_ForceRegionSpherePointForce(): +def ForceRegion_SphereShapedForce(): """ Level Setup The level consists of a sherical force region with a point force of 1000. @@ -50,7 +50,7 @@ def C5959759_RigidBody_ForceRegionSpherePointForce(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C5959759_RigidBody_ForceRegionSpherePointForce") + helper.open_level("Physics", "ForceRegion_SphereShapedForce") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve entities @@ -146,4 +146,4 @@ def C5959759_RigidBody_ForceRegionSpherePointForce(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5959759_RigidBody_ForceRegionSpherePointForce) + Report.start_test(ForceRegion_SphereShapedForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932045_ForceRegion_Spline.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SplineForceOnRigidBodies.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5932045_ForceRegion_Spline.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SplineForceOnRigidBodies.py index e74f5cc6e0..158ba8473c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932045_ForceRegion_Spline.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SplineForceOnRigidBodies.py @@ -30,7 +30,7 @@ class Tests(): # fmt: on -def C5932045_ForceRegion_Spline(): +def ForceRegion_SplineForceOnRigidBodies(): """ Summary: Runs an automated test to ensure that a PhysX force region exerts spline follow force on rigid bodies @@ -117,7 +117,7 @@ def C5932045_ForceRegion_Spline(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5932045_ForceRegion_Spline") + helper.open_level("Physics", "ForceRegion_SplineForceOnRigidBodies") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -158,4 +158,4 @@ def C5932045_ForceRegion_Spline(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5932045_ForceRegion_Spline) + Report.start_test(ForceRegion_SplineForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868580_ForceRegion_SplineModifiedTransform.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SplineRegionWithModifiedTransform.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C12868580_ForceRegion_SplineModifiedTransform.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SplineRegionWithModifiedTransform.py index 4e052a1b00..abc58779a2 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868580_ForceRegion_SplineModifiedTransform.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_SplineRegionWithModifiedTransform.py @@ -29,7 +29,7 @@ class Tests(): # fmt: on -def C12868580_ForceRegion_SplineModifiedTransform(): +def ForceRegion_SplineRegionWithModifiedTransform(): """ Summary: Runs an automated test to ensure that a PhysX force region correctly exerts spline follow force on rigid bodies when @@ -125,7 +125,7 @@ def C12868580_ForceRegion_SplineModifiedTransform(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C12868580_ForceRegion_SplineModifiedTransform") + helper.open_level("Physics", "ForceRegion_SplineRegionWithModifiedTransform") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -163,4 +163,4 @@ def C12868580_ForceRegion_SplineModifiedTransform(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12868580_ForceRegion_SplineModifiedTransform) + Report.start_test(ForceRegion_SplineRegionWithModifiedTransform) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905528_ForceRegion_WithNonTriggerCollider.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C12905528_ForceRegion_WithNonTriggerCollider.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py index 93453b29c0..2814fe01f8 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905528_ForceRegion_WithNonTriggerCollider.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def C12905528_ForceRegion_WithNonTriggerCollider(): +def ForceRegion_WithNonTriggerColliderWarning(): """ Summary: Create entity with PhysX Force Region component. Check that user is warned if new PhysX Collider component is @@ -79,4 +79,4 @@ def C12905528_ForceRegion_WithNonTriggerCollider(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12905528_ForceRegion_WithNonTriggerCollider) + Report.start_test(ForceRegion_WithNonTriggerColliderWarning) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932040_ForceRegion_CubeExertsWorldForce.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_WorldSpaceForceOnRigidBodies.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C5932040_ForceRegion_CubeExertsWorldForce.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_WorldSpaceForceOnRigidBodies.py index 969a203502..4cb31fbc79 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932040_ForceRegion_CubeExertsWorldForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_WorldSpaceForceOnRigidBodies.py @@ -28,7 +28,7 @@ def is_close_float(a, b, factor): return abs(b - a) < factor -def C5932040_ForceRegion_CubeExertsWorldForce(): +def ForceRegion_WorldSpaceForceOnRigidBodies(): """ Summary: A ball is suspended over a box shaped force region. @@ -82,7 +82,7 @@ def C5932040_ForceRegion_CubeExertsWorldForce(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5932040_ForceRegion_CubeExertsWorldForce") + helper.open_level("Physics", "ForceRegion_WorldSpaceForceOnRigidBodies") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -179,4 +179,4 @@ def C5932040_ForceRegion_CubeExertsWorldForce(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5932040_ForceRegion_CubeExertsWorldForce) + Report.start_test(ForceRegion_WorldSpaceForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090552_ForceRegion_LinearDampingNegative.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroLinearDampingDoesNothing.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090552_ForceRegion_LinearDampingNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroLinearDampingDoesNothing.py index 100a07d346..559cef3571 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090552_ForceRegion_LinearDampingNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroLinearDampingDoesNothing.py @@ -28,7 +28,7 @@ class Tests: # fmt: on -def C6090552_ForceRegion_LinearDampingNegative(): +def ForceRegion_ZeroLinearDampingDoesNothing(): """ Summary: A ball is suspended over a force region with a linear damping value of zero and a PhysX Terrain. @@ -211,7 +211,7 @@ def C6090552_ForceRegion_LinearDampingNegative(): self.collision_handler.add_callback("OnCollisionBegin", self.on_collision_begin) # 1) Open level - helper.open_level("Physics", "C6090552_ForceRegion_LinearDampingNegative") + helper.open_level("Physics", "ForceRegion_ZeroLinearDampingDoesNothing") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -238,4 +238,4 @@ def C6090552_ForceRegion_LinearDampingNegative(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090552_ForceRegion_LinearDampingNegative) + Report.start_test(ForceRegion_ZeroLinearDampingDoesNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090551_ForceRegion_LocalSpaceForceNegative.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroLocalSpaceForceDoesNothing.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090551_ForceRegion_LocalSpaceForceNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroLocalSpaceForceDoesNothing.py index 48d08666fd..415377745f 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090551_ForceRegion_LocalSpaceForceNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroLocalSpaceForceDoesNothing.py @@ -28,7 +28,7 @@ class Tests: # fmt: on -def C6090551_ForceRegion_LocalSpaceForceNegative(): +def ForceRegion_ZeroLocalSpaceForceDoesNothing(): """ Summary: A ball is suspended over a box shaped force region and a PhysX Terrain. The force is a local space force @@ -212,7 +212,7 @@ def C6090551_ForceRegion_LocalSpaceForceNegative(): self.collision_handler.add_callback("OnCollisionBegin", self.on_collision_begin) # 1) Open level - helper.open_level("Physics", "C6090551_ForceRegion_LocalSpaceForceNegative") + helper.open_level("Physics", "ForceRegion_ZeroLocalSpaceForceDoesNothing") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -239,4 +239,4 @@ def C6090551_ForceRegion_LocalSpaceForceNegative(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090551_ForceRegion_LocalSpaceForceNegative) + Report.start_test(ForceRegion_ZeroLocalSpaceForceDoesNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090554_ForceRegion_PointForceNegative.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroPointForceDoesNothing.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090554_ForceRegion_PointForceNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroPointForceDoesNothing.py index 0b6b9a8b58..91190f83e5 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090554_ForceRegion_PointForceNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroPointForceDoesNothing.py @@ -28,7 +28,7 @@ class Tests: # fmt: on -def C6090554_ForceRegion_PointForceNegative(): +def ForceRegion_ZeroPointForceDoesNothing(): """ Summary: A ball is suspended over a box shaped force region and a PhysX Terrain. The force is a point force @@ -212,7 +212,7 @@ def C6090554_ForceRegion_PointForceNegative(): self.collision_handler.add_callback("OnCollisionBegin", self.on_collision_begin) # 1) Open level - helper.open_level("Physics", "C6090554_ForceRegion_PointForceNegative") + helper.open_level("Physics", "ForceRegion_ZeroPointForceDoesNothing") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -239,4 +239,4 @@ def C6090554_ForceRegion_PointForceNegative(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090554_ForceRegion_PointForceNegative) + Report.start_test(ForceRegion_ZeroPointForceDoesNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroSimpleDragForceDoesNothing.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroSimpleDragForceDoesNothing.py index 7b5904a3d7..f3c377b5be 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroSimpleDragForceDoesNothing.py @@ -25,7 +25,7 @@ class Tests(): # fmt: on -def C6090553_ForceRegion_SimpleDragForceOnRigidBodies(): +def ForceRegion_ZeroSimpleDragForceDoesNothing(): """ Summary: Runs an automated test to ensure that force region exerts simple drag force on rigid bodies(negative test). @@ -99,7 +99,7 @@ def C6090553_ForceRegion_SimpleDragForceOnRigidBodies(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C6090553_ForceRegion_SimpleDragForceOnRigidBodies") + helper.open_level("Physics", "ForceRegion_ZeroSimpleDragForceDoesNothing") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -170,4 +170,4 @@ def C6090553_ForceRegion_SimpleDragForceOnRigidBodies(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090553_ForceRegion_SimpleDragForceOnRigidBodies) + Report.start_test(ForceRegion_ZeroSimpleDragForceDoesNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090555_ForceRegion_SplineFollowOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroSplineForceDoesNothing.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090555_ForceRegion_SplineFollowOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroSplineForceDoesNothing.py index 7a642c6c59..44e4b7e63d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090555_ForceRegion_SplineFollowOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroSplineForceDoesNothing.py @@ -24,7 +24,7 @@ class Tests(): # fmt: on -def C6090555_ForceRegion_SplineFollowOnRigidBodies(): +def ForceRegion_ZeroSplineForceDoesNothing(): """ Summary: Runs an automated test to ensure that a PhysX force region exerts spline follow force on rigid bodies(negative test) @@ -96,7 +96,7 @@ def C6090555_ForceRegion_SplineFollowOnRigidBodies(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C6090555_ForceRegion_SplineFollowOnRigidBodies") + helper.open_level("Physics", "ForceRegion_ZeroSplineForceDoesNothing") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -172,4 +172,4 @@ def C6090555_ForceRegion_SplineFollowOnRigidBodies(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090555_ForceRegion_SplineFollowOnRigidBodies) + Report.start_test(ForceRegion_ZeroSplineForceDoesNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090550_ForceRegion_WorldSpaceForceNegative.py b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroWorldSpaceForceDoesNothing.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/force_region/C6090550_ForceRegion_WorldSpaceForceNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroWorldSpaceForceDoesNothing.py index 7d6a8966b2..1a20356e11 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090550_ForceRegion_WorldSpaceForceNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/force_region/ForceRegion_ZeroWorldSpaceForceDoesNothing.py @@ -28,7 +28,7 @@ class Tests: # fmt: on -def C6090550_ForceRegion_WorldSpaceForceNegative(): +def ForceRegion_ZeroWorldSpaceForceDoesNothing(): """ Summary: A ball is suspended above a cube shaped force region and a PhysX Terrain. The force is a world space force @@ -212,7 +212,7 @@ def C6090550_ForceRegion_WorldSpaceForceNegative(): self.collision_handler.add_callback("OnCollisionBegin", self.on_collision_begin) # 1) Open level - helper.open_level("Physics", "C6090550_ForceRegion_WorldSpaceForceNegative") + helper.open_level("Physics", "ForceRegion_ZeroWorldSpaceForceDoesNothing") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -239,4 +239,4 @@ def C6090550_ForceRegion_WorldSpaceForceNegative(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6090550_ForceRegion_WorldSpaceForceNegative) + Report.start_test(ForceRegion_ZeroWorldSpaceForceDoesNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/JointsHelper.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/JointsHelper.py similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/joints/JointsHelper.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/JointsHelper.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243588_Joints_Ball2BodiesConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Ball2BodiesConstrained.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243588_Joints_Ball2BodiesConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Ball2BodiesConstrained.py index fd8556660a..136c1f5ee7 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243588_Joints_Ball2BodiesConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Ball2BodiesConstrained.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243588_Joints_Ball2BodiesConstrained(): +def Joints_Ball2BodiesConstrained(): """ Summary: Check that ball joint constrains 2 bodies within cone limits @@ -72,7 +72,7 @@ def C18243588_Joints_Ball2BodiesConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243588_Joints_Ball2BodiesConstrained") + helper.open_level("Physics", "Joints_Ball2BodiesConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -110,4 +110,4 @@ def C18243588_Joints_Ball2BodiesConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243588_Joints_Ball2BodiesConstrained) + Report.start_test(Joints_Ball2BodiesConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243592_Joints_BallBreakable.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallBreakable.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243592_Joints_BallBreakable.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallBreakable.py index 6182c312dc..cc721266e5 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243592_Joints_BallBreakable.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallBreakable.py @@ -19,7 +19,7 @@ class Tests: # fmt: on -def C18243592_Joints_BallBreakable(): +def Joints_BallBreakable(): """ Summary: Check that ball joint is breakable @@ -70,7 +70,7 @@ def C18243592_Joints_BallBreakable(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243592_Joints_BallBreakable") + helper.open_level("Physics", "Joints_BallBreakable") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -104,4 +104,4 @@ def C18243592_Joints_BallBreakable(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243592_Joints_BallBreakable) + Report.start_test(Joints_BallBreakable) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243591_Joints_BallLeadFollowerCollide.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallLeadFollowerCollide.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243591_Joints_BallLeadFollowerCollide.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallLeadFollowerCollide.py index 47422d1508..0e8d7ea255 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243591_Joints_BallLeadFollowerCollide.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallLeadFollowerCollide.py @@ -19,7 +19,7 @@ class Tests: # fmt: on -def C18243591_Joints_BallLeadFollowerCollide(): +def Joints_BallLeadFollowerCollide(): """ Summary: Check that ball joint allows lead-follower collision @@ -66,7 +66,7 @@ def C18243591_Joints_BallLeadFollowerCollide(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243591_Joints_BallLeadFollowerCollide") + helper.open_level("Physics", "Joints_BallLeadFollowerCollide") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -88,4 +88,4 @@ def C18243591_Joints_BallLeadFollowerCollide(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243591_Joints_BallLeadFollowerCollide) + Report.start_test(Joints_BallLeadFollowerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243590_Joints_BallNoLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallNoLimitsConstrained.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243590_Joints_BallNoLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallNoLimitsConstrained.py index 990f4f826b..ee5efdcef6 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243590_Joints_BallNoLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallNoLimitsConstrained.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243590_Joints_BallNoLimitsConstrained(): +def Joints_BallNoLimitsConstrained(): """ Summary: Check that ball joint allows no limit constraints @@ -75,7 +75,7 @@ def C18243590_Joints_BallNoLimitsConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243590_Joints_BallNoLimitsConstrained") + helper.open_level("Physics", "Joints_BallNoLimitsConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -109,4 +109,4 @@ def C18243590_Joints_BallNoLimitsConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243590_Joints_BallNoLimitsConstrained) + Report.start_test(Joints_BallNoLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243589_Joints_BallSoftLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallSoftLimitsConstrained.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243589_Joints_BallSoftLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallSoftLimitsConstrained.py index 30747bc2eb..3fa23b7bed 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243589_Joints_BallSoftLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_BallSoftLimitsConstrained.py @@ -21,7 +21,7 @@ class Tests: # fmt: on -def C18243589_Joints_BallSoftLimitsConstrained(): +def Joints_BallSoftLimitsConstrained(): """ Summary: Check that ball joint allows soft limit constraints @@ -78,7 +78,7 @@ def C18243589_Joints_BallSoftLimitsConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243589_Joints_BallSoftLimitsConstrained") + helper.open_level("Physics", "Joints_BallSoftLimitsConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -134,4 +134,4 @@ def C18243589_Joints_BallSoftLimitsConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243589_Joints_BallSoftLimitsConstrained) + Report.start_test(Joints_BallSoftLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243580_Joints_Fixed2BodiesConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Fixed2BodiesConstrained.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243580_Joints_Fixed2BodiesConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Fixed2BodiesConstrained.py index ceabb91a28..f71cfa2946 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243580_Joints_Fixed2BodiesConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Fixed2BodiesConstrained.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243580_Joints_Fixed2BodiesConstrained(): +def Joints_Fixed2BodiesConstrained(): """ Summary: Check that fixed joint constrains 2 bodies @@ -66,7 +66,7 @@ def C18243580_Joints_Fixed2BodiesConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243580_Joints_Fixed2BodiesConstrained") + helper.open_level("Physics", "Joints_Fixed2BodiesConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -95,4 +95,4 @@ def C18243580_Joints_Fixed2BodiesConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243580_Joints_Fixed2BodiesConstrained) + Report.start_test(Joints_Fixed2BodiesConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243581_Joints_FixedBreakable.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_FixedBreakable.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243581_Joints_FixedBreakable.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_FixedBreakable.py index 716df85c67..c4adcf14ef 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243581_Joints_FixedBreakable.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_FixedBreakable.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243581_Joints_FixedBreakable(): +def Joints_FixedBreakable(): """ Summary: Check that fixed joint is breakable @@ -65,7 +65,7 @@ def C18243581_Joints_FixedBreakable(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243581_Joints_FixedBreakable") + helper.open_level("Physics", "Joints_FixedBreakable") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -94,4 +94,4 @@ def C18243581_Joints_FixedBreakable(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243581_Joints_FixedBreakable) + Report.start_test(Joints_FixedBreakable) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243582_Joints_FixedLeadFollowerCollide.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_FixedLeadFollowerCollide.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243582_Joints_FixedLeadFollowerCollide.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_FixedLeadFollowerCollide.py index 0f130a300b..e142941c5a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243582_Joints_FixedLeadFollowerCollide.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_FixedLeadFollowerCollide.py @@ -19,7 +19,7 @@ class Tests: # fmt: on -def C18243582_Joints_FixedLeadFollowerCollide(): +def Joints_FixedLeadFollowerCollide(): """ Summary: Check that fixed joint allows lead-follower collision @@ -67,7 +67,7 @@ def C18243582_Joints_FixedLeadFollowerCollide(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243582_Joints_FixedLeadFollowerCollide") + helper.open_level("Physics", "Joints_FixedLeadFollowerCollide") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -89,4 +89,4 @@ def C18243582_Joints_FixedLeadFollowerCollide(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243582_Joints_FixedLeadFollowerCollide) + Report.start_test(Joints_FixedLeadFollowerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243593_Joints_GlobalFrameConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_GlobalFrameConstrained.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243593_Joints_GlobalFrameConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_GlobalFrameConstrained.py index bd527f10f8..2d3c30f53d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243593_Joints_GlobalFrameConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_GlobalFrameConstrained.py @@ -22,7 +22,7 @@ class Tests: # fmt: on -def C18243593_Joints_GlobalFrameConstrained(): +def Joints_GlobalFrameConstrained(): """ Summary: Check that fixed/hinge/ball joints allow constraints to global frame @@ -74,7 +74,7 @@ def C18243593_Joints_GlobalFrameConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243593_Joints_GlobalFrameConstrained") + helper.open_level("Physics", "Joints_GlobalFrameConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -117,4 +117,4 @@ def C18243593_Joints_GlobalFrameConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243593_Joints_GlobalFrameConstrained) + Report.start_test(Joints_GlobalFrameConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243583_Joints_Hinge2BodiesConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Hinge2BodiesConstrained.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243583_Joints_Hinge2BodiesConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Hinge2BodiesConstrained.py index e9b11bc198..3d2fe097f5 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243583_Joints_Hinge2BodiesConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_Hinge2BodiesConstrained.py @@ -21,7 +21,7 @@ class Tests: # fmt: on -def C18243583_Joints_Hinge2BodiesConstrained(): +def Joints_Hinge2BodiesConstrained(): """ Summary: Check that hinge joint constrains 2 bodies about X-axis @@ -73,7 +73,7 @@ def C18243583_Joints_Hinge2BodiesConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243583_Joints_Hinge2BodiesConstrained") + helper.open_level("Physics", "Joints_Hinge2BodiesConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -112,4 +112,4 @@ def C18243583_Joints_Hinge2BodiesConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243583_Joints_Hinge2BodiesConstrained) + Report.start_test(Joints_Hinge2BodiesConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243587_Joints_HingeBreakable.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeBreakable.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243587_Joints_HingeBreakable.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeBreakable.py index b1ea7e123a..cca422728a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243587_Joints_HingeBreakable.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeBreakable.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243587_Joints_HingeBreakable(): +def Joints_HingeBreakable(): """ Summary: Check that hinge joint is breakable @@ -71,7 +71,7 @@ def C18243587_Joints_HingeBreakable(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243587_Joints_HingeBreakable") + helper.open_level("Physics", "Joints_HingeBreakable") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -106,4 +106,4 @@ def C18243587_Joints_HingeBreakable(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243587_Joints_HingeBreakable) + Report.start_test(Joints_HingeBreakable) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243586_Joints_HingeLeadFollowerCollide.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeLeadFollowerCollide.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243586_Joints_HingeLeadFollowerCollide.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeLeadFollowerCollide.py index 2b5b95939f..15be3d960d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243586_Joints_HingeLeadFollowerCollide.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeLeadFollowerCollide.py @@ -19,7 +19,7 @@ class Tests: # fmt: on -def C18243586_Joints_HingeLeadFollowerCollide(): +def Joints_HingeLeadFollowerCollide(): """ Summary: Check that hinge joint allows lead-follower collision @@ -66,7 +66,7 @@ def C18243586_Joints_HingeLeadFollowerCollide(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243586_Joints_HingeLeadFollowerCollide") + helper.open_level("Physics", "Joints_HingeLeadFollowerCollide") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -88,4 +88,4 @@ def C18243586_Joints_HingeLeadFollowerCollide(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243586_Joints_HingeLeadFollowerCollide) + Report.start_test(Joints_HingeLeadFollowerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243585_Joints_HingeNoLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeNoLimitsConstrained.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243585_Joints_HingeNoLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeNoLimitsConstrained.py index 90ac80b1fa..0870a807fc 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243585_Joints_HingeNoLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeNoLimitsConstrained.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243585_Joints_HingeNoLimitsConstrained(): +def Joints_HingeNoLimitsConstrained(): """ Summary: Check that hinge joint allows no limit constraints on 2 bodies @@ -73,7 +73,7 @@ def C18243585_Joints_HingeNoLimitsConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243585_Joints_HingeNoLimitsConstrained") + helper.open_level("Physics", "Joints_HingeNoLimitsConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -108,4 +108,4 @@ def C18243585_Joints_HingeNoLimitsConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243585_Joints_HingeNoLimitsConstrained) + Report.start_test(Joints_HingeNoLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243584_Joints_HingeSoftLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeSoftLimitsConstrained.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/joints/C18243584_Joints_HingeSoftLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeSoftLimitsConstrained.py index e100b61494..6d11b3452d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/joints/C18243584_Joints_HingeSoftLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/joints/Joints_HingeSoftLimitsConstrained.py @@ -20,7 +20,7 @@ class Tests: # fmt: on -def C18243584_Joints_HingeSoftLimitsConstrained(): +def Joints_HingeSoftLimitsConstrained(): """ Summary: Check that hinge joint allows soft limit constraints on 2 bodies @@ -77,7 +77,7 @@ def C18243584_Joints_HingeSoftLimitsConstrained(): helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C18243584_Joints_HingeSoftLimitsConstrained") + helper.open_level("Physics", "Joints_HingeSoftLimitsConstrained") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -141,4 +141,4 @@ def C18243584_Joints_HingeSoftLimitsConstrained(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18243584_Joints_HingeSoftLimitsConstrained) + Report.start_test(Joints_HingeSoftLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/AddModifyDelete_Utils.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/AddModifyDelete_Utils.py similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/material/AddModifyDelete_Utils.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/AddModifyDelete_Utils.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4925577_Materials_MaterialAssignedToTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_CanBeAssignedToTerrain.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4925577_Materials_MaterialAssignedToTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_CanBeAssignedToTerrain.py index 219e12fdb2..4dbd62c95a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4925577_Materials_MaterialAssignedToTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_CanBeAssignedToTerrain.py @@ -31,7 +31,7 @@ class Tests: # fmt: on -def C4925577_Materials_MaterialAssignedToTerrain(): +def Material_CanBeAssignedToTerrain(): """ Summary: Three spheres are suspended above the terrain. Beneath two of the balls, @@ -238,7 +238,7 @@ def C4925577_Materials_MaterialAssignedToTerrain(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4925577_PhysXMaterials_MaterialAssignedToTerrain") + helper.open_level("Physics", "Material_CanBeAssignedToTerrain") # 2) Enter game mode helper.enter_game_mode(Tests.game_mode_enter) @@ -301,4 +301,4 @@ def C4925577_Materials_MaterialAssignedToTerrain(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4925577_Materials_MaterialAssignedToTerrain) + Report.start_test(Material_CanBeAssignedToTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_CharacterController.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_CharacterController.py index 4d806cda11..5112c77f0a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_CharacterController.py @@ -44,7 +44,7 @@ class Tests: # fmt: on -def C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(): +def Material_CharacterController(): """ Summary: Runs an automated test to verify that character controllers with different surface materials behave accordingly. @@ -161,7 +161,7 @@ def C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(): helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C15556261_PhysXMaterials_CharacterControllerMaterialAssignment") + helper.open_level("Physics", "Material_CharacterController") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -198,4 +198,4 @@ def C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15556261_PhysXMaterials_CharacterControllerMaterialAssignment) + Report.start_test(Material_CharacterController) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15308221_Material_ComponentsInSyncWithLibrary.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_ComponentsInSyncWithLibrary.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15308221_Material_ComponentsInSyncWithLibrary.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_ComponentsInSyncWithLibrary.py index b29709e95b..71603052ea 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15308221_Material_ComponentsInSyncWithLibrary.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_ComponentsInSyncWithLibrary.py @@ -46,7 +46,7 @@ class Tests: # fmt: on -def C15308221_Material_ComponentsInSyncWithLibrary(): +def Material_ComponentsInSyncWithLibrary(): """ Summary: Runs an automated test to verify that the material library is always in sync between the different PhysX components @@ -200,7 +200,7 @@ def C15308221_Material_ComponentsInSyncWithLibrary(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C15308221_Material_ComponentsInSyncWithLibrary") + helper.open_level("Physics", "Material_ComponentsInSyncWithLibrary") # Setup persisting entities collider = Entity("collider", "terrain") @@ -240,4 +240,4 @@ def C15308221_Material_ComponentsInSyncWithLibrary(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15308221_Material_ComponentsInSyncWithLibrary) + Report.start_test(Material_ComponentsInSyncWithLibrary) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15096735_Materials_DefaultLibraryConsistency.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryConsistentOnAllFeatures.py similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15096735_Materials_DefaultLibraryConsistency.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryConsistentOnAllFeatures.py index 75c9849756..a2e5722868 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15096735_Materials_DefaultLibraryConsistency.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryConsistentOnAllFeatures.py @@ -95,7 +95,7 @@ class Tests: # fmt:on -def C15096735_Materials_DefaultLibraryConsistency(): +def Material_DefaultLibraryConsistentOnAllFeatures(): """ Summary: This script tests the behavior of the default PhysXMaterial library. Two separate materials are applied to a variety @@ -386,7 +386,7 @@ def C15096735_Materials_DefaultLibraryConsistency(): # 1) Open level and start game mode helper.init_idle() - helper.open_level("Physics", "C15096735_Materials_DefaultLibraryConsistency") + helper.open_level("Physics", "Material_DefaultLibraryConsistentOnAllFeatures") helper.enter_game_mode(Tests.enter_game_mode) # Create and start Terrain Test @@ -413,4 +413,4 @@ def C15096735_Materials_DefaultLibraryConsistency(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15096735_Materials_DefaultLibraryConsistency) + Report.start_test(Material_DefaultLibraryConsistentOnAllFeatures) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryUpdatedAcrossLevels_after.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryUpdatedAcrossLevels_after.py index de1945bc8d..1f8cfae498 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryUpdatedAcrossLevels_after.py @@ -37,7 +37,7 @@ class Tests: # fmt: on -def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after(): +def Material_DefaultLibraryUpdatedAcrossLevels_after(): """ Summary: Verify Default material library works across different levels, this is the second stage to the test. The reload was required for the editor to pick up changes in default material library in the @@ -205,7 +205,7 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after(): try: with open( os.path.join( - os.getcwd(), "AutomatedTesting", "Levels", "Physics", "C15096732_Material_DefaultLibraryUpdatedAcrossLevels", "_last_run_before_change_data.txt" + os.getcwd(), "AutomatedTesting", "Levels", "Physics", "Material_DefaultLibraryUpdatedAcrossLevels", "_last_run_before_change_data.txt" )) as data_file: lines = data_file.readlines() for i, line in enumerate(lines): @@ -230,9 +230,7 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after(): # 1) Open the correct level is open helper.open_level( "physics", - "C15096732_Material_DefaultLibraryUpdatedAcrossLevels.\\{}".format( - test.level - ), + f"Material_DefaultLibraryUpdatedAcrossLevels\\{test.level}" ) # 2) Enter Game Mode @@ -281,4 +279,4 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after) + Report.start_test(Material_DefaultLibraryUpdatedAcrossLevels_after) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryUpdatedAcrossLevels_before.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryUpdatedAcrossLevels_before.py index 46262f3f77..15db5808e2 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultLibraryUpdatedAcrossLevels_before.py @@ -33,7 +33,7 @@ class Tests: # fmt: on -def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before(): +def Material_DefaultLibraryUpdatedAcrossLevels_before(): """ Summary: Verify Default material library works across different levels, this is the first stage to the test. After the tests are run this script will save data into a text file and the editor closed. @@ -169,7 +169,7 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before(): try: with open( os.path.join( - os.getcwd(), "AutomatedTesting", "Levels", "Physics", "C15096732_Material_DefaultLibraryUpdatedAcrossLevels", "_last_run_before_change_data.txt" + os.getcwd(), "AutomatedTesting", "Levels", "Physics", "Material_DefaultLibraryUpdatedAcrossLevels", "_last_run_before_change_data.txt" ),"w") as data_file: for data_point in data: data_file.write(str(data_point)) @@ -188,10 +188,8 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before(): for test in test_list: # 1) Open the correct level is open helper.open_level( - "physics", - "C15096732_Material_DefaultLibraryUpdatedAcrossLevels.\\{}".format( - test.level - ), + "Physics", + f"Material_DefaultLibraryUpdatedAcrossLevels\\{test.level}" ) # 2) Enter Game Mode @@ -233,4 +231,4 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before) + Report.start_test(Material_DefaultLibraryUpdatedAcrossLevels_before) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15096737_Materials_DefaultMaterialLibraryChanges.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultMaterialLibraryChangesWork.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15096737_Materials_DefaultMaterialLibraryChanges.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultMaterialLibraryChangesWork.py index a4c65fc24c..5aa03d665d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15096737_Materials_DefaultMaterialLibraryChanges.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DefaultMaterialLibraryChangesWork.py @@ -64,7 +64,7 @@ class Tests: concrete_material_changed = ("Concrete material changed correctly", "Concrete didn't react correctly") # fmt: on -def C15096737_Materials_DefaultMaterialLibraryChanges(): +def Material_DefaultMaterialLibraryChangesWork(): """ Summary: Runs an automated test to verify that material selected in the default material library is applied to PhysX colliders, character controller, terrain texture layers and ragdolls and that material can respond to change. @@ -252,7 +252,7 @@ def C15096737_Materials_DefaultMaterialLibraryChanges(): # Main Script helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C15096737_Materials_DefaultMaterialLibraryChanges") + helper.open_level("Physics", "Material_DefaultMaterialLibraryChangesWork") # 2) Setup targets and colliders terrain = Entity("terrain") @@ -292,4 +292,4 @@ def C15096737_Materials_DefaultMaterialLibraryChanges(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15096737_Materials_DefaultMaterialLibraryChanges) + Report.start_test(Material_DefaultMaterialLibraryChangesWork) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044459_Material_DynamicFriction.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DynamicFriction.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044459_Material_DynamicFriction.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DynamicFriction.py index cdf2816f17..7ebe5b8528 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044459_Material_DynamicFriction.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_DynamicFriction.py @@ -35,7 +35,7 @@ class Tests(): # fmt: on -def C4044459_Material_DynamicFriction(): +def Material_DynamicFriction(): """ Summary: Runs an automated test to ensure that greater dynamic friction coefficient settings on a physX material results in @@ -119,7 +119,7 @@ def C4044459_Material_DynamicFriction(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4044459_Material_DynamicFriction") + helper.open_level("Physics", "Material_DynamicFriction") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -187,4 +187,4 @@ def C4044459_Material_DynamicFriction(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044459_Material_DynamicFriction) + Report.start_test(Material_DynamicFriction) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044694_Material_EmptyLibraryUsesDefault.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_EmptyLibraryUsesDefault.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044694_Material_EmptyLibraryUsesDefault.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_EmptyLibraryUsesDefault.py index 8cba90cba8..1d06092f61 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044694_Material_EmptyLibraryUsesDefault.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_EmptyLibraryUsesDefault.py @@ -28,7 +28,7 @@ class Tests: # fmt: on -def C4044694_Material_EmptyLibraryUsesDefault(): +def Material_EmptyLibraryUsesDefault(): """ Summary: Runs an automated test to verify that an object with an empty Material library in a Collider Component continues to @@ -137,7 +137,7 @@ def C4044694_Material_EmptyLibraryUsesDefault(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4044694_Material_EmptyLibraryUsesDefault") + helper.open_level("Physics", "Material_EmptyLibraryUsesDefault") helper.enter_game_mode(Tests.enter_game_mode) # 2) Find entities @@ -185,4 +185,4 @@ def C4044694_Material_EmptyLibraryUsesDefault(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044694_Material_EmptyLibraryUsesDefault) + Report.start_test(Material_EmptyLibraryUsesDefault) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044456_Material_FrictionCombine.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_FrictionCombine.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044456_Material_FrictionCombine.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_FrictionCombine.py index 8c3b389264..afd775fb7a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044456_Material_FrictionCombine.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_FrictionCombine.py @@ -36,7 +36,7 @@ class Tests(): # fmt: on -def C4044456_Material_FrictionCombine(): +def Material_FrictionCombine(): """ Summary: @@ -137,7 +137,7 @@ def C4044456_Material_FrictionCombine(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4044456_Material_FrictionCombine") + helper.open_level("Physics", "Material_FrictionCombine") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -209,4 +209,4 @@ def C4044456_Material_FrictionCombine(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044456_Material_FrictionCombine) + Report.start_test(Material_FrictionCombine) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C18977601_Material_FrictionCombinePriority.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_FrictionCombinePriorityOrder.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C18977601_Material_FrictionCombinePriority.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_FrictionCombinePriorityOrder.py index 4cef743854..d7fc89c8a6 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C18977601_Material_FrictionCombinePriority.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_FrictionCombinePriorityOrder.py @@ -50,7 +50,7 @@ class Tests(): # fmt: on -def C18977601_Material_FrictionCombinePriority(): +def Material_FrictionCombinePriorityOrder(): """ Summary: Runs an automated test to ensure that the friction combine mode is assigned according to the correct priority. @@ -269,7 +269,7 @@ def C18977601_Material_FrictionCombinePriority(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C18977601_Material_FrictionCombinePriority") + helper.open_level("Physics", "Material_FrictionCombinePriorityOrder") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -352,4 +352,4 @@ def C18977601_Material_FrictionCombinePriority(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18977601_Material_FrictionCombinePriority) + Report.start_test(Material_FrictionCombinePriorityOrder) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044455_Material_libraryChangesInstantly.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryChangesReflectInstantly.py similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044455_Material_libraryChangesInstantly.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryChangesReflectInstantly.py index 8eb2e7e9a4..008f660e5c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044455_Material_libraryChangesInstantly.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryChangesReflectInstantly.py @@ -114,7 +114,7 @@ class Tests: # fmt: on -def C4044455_Material_libraryChangesInstantly(): +def Material_LibraryChangesReflectInstantly(): """ Summary: Verify that any change in any of the values of the material, once saved, is immediately reflected in the component and functionality @@ -474,4 +474,4 @@ def C4044455_Material_libraryChangesInstantly(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044455_Material_libraryChangesInstantly) + Report.start_test(Material_LibraryChangesReflectInstantly) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15096740_Material_LibraryUpdatedCorrectly.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryClearingAssignsDefault.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15096740_Material_LibraryUpdatedCorrectly.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryClearingAssignsDefault.py index 88c51bae8a..66bca8bfda 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15096740_Material_LibraryUpdatedCorrectly.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryClearingAssignsDefault.py @@ -21,7 +21,7 @@ class Tests(): # fmt: on -def C15096740_Material_LibraryUpdatedCorrectly(): +def Material_LibraryClearingAssignsDefault(): """ Summary: @@ -100,4 +100,4 @@ def C15096740_Material_LibraryUpdatedCorrectly(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15096740_Material_LibraryUpdatedCorrectly) + Report.start_test(Material_LibraryClearingAssignsDefault) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15563573_Material_AddModifyDeleteOnCharacterController.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnCharacterController.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15563573_Material_AddModifyDeleteOnCharacterController.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnCharacterController.py index cf38ddc11c..aeface4d48 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15563573_Material_AddModifyDeleteOnCharacterController.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnCharacterController.py @@ -44,7 +44,7 @@ class Tests: # fmt: on -def C15563573_Material_AddModifyDeleteOnCharacterController(): +def Material_LibraryCrudOperationsReflectOnCharacterController(): """ Summary: Runs an automated test to verify that any change (Add/Delete/Modify) made to the material surface in the material @@ -161,7 +161,7 @@ def C15563573_Material_AddModifyDeleteOnCharacterController(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C15563573_Material_AddModifyDeleteOnCharacterController") + helper.open_level("Physics", "Material_LibraryCrudOperationsReflectOnCharacterController") # Setup persisting entities default_box = Box("on_default") @@ -193,4 +193,4 @@ def C15563573_Material_AddModifyDeleteOnCharacterController(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15563573_Material_AddModifyDeleteOnCharacterController) + Report.start_test(Material_LibraryCrudOperationsReflectOnCharacterController) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4888315_Material_AddModifyDeleteOnCollider.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnCollider.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4888315_Material_AddModifyDeleteOnCollider.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnCollider.py index 61c378d287..8abdbf1ddd 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4888315_Material_AddModifyDeleteOnCollider.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnCollider.py @@ -41,7 +41,7 @@ class Tests: # fmt: on -def C4888315_Material_AddModifyDeleteOnCollider(): +def Material_LibraryCrudOperationsReflectOnCollider(): """ Summary: Runs an automated test to verify that any change (Add/Delete/Modify) made to the material surface in the material @@ -141,7 +141,7 @@ def C4888315_Material_AddModifyDeleteOnCollider(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4888315_Material_AddModifyDeleteOnCollider") + helper.open_level("Physics", "Material_LibraryCrudOperationsReflectOnCollider") # Setup persisting entities default_box = Box("default") @@ -172,4 +172,4 @@ def C4888315_Material_AddModifyDeleteOnCollider(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4888315_Material_AddModifyDeleteOnCollider) + Report.start_test(Material_LibraryCrudOperationsReflectOnCollider) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4925582_Material_AddModifyDeleteOnRagdollBones.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnRagdollBones.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4925582_Material_AddModifyDeleteOnRagdollBones.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnRagdollBones.py index 0abfae08f9..ab85a2157a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4925582_Material_AddModifyDeleteOnRagdollBones.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnRagdollBones.py @@ -41,7 +41,7 @@ class Tests: # fmt: on -def C4925582_Material_AddModifyDeleteOnRagdollBones(): +def Material_LibraryCrudOperationsReflectOnRagdollBones(): """ Summary: Runs an automated test to verify that any change (Add/Delete/Modify) made to the material surface in the material @@ -170,7 +170,7 @@ def C4925582_Material_AddModifyDeleteOnRagdollBones(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4925582_Material_AddModifyDeleteOnRagdollBones") + helper.open_level("Physics", "Material_LibraryCrudOperationsReflectOnRagdollBones") # Setup persisting entities default_ragdoll = Ragdoll("default") @@ -208,4 +208,4 @@ def C4925582_Material_AddModifyDeleteOnRagdollBones(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4925582_Material_AddModifyDeleteOnRagdollBones) + Report.start_test(Material_LibraryCrudOperationsReflectOnRagdollBones) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4925579_Material_AddModifyDeleteOnTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnTerrain.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4925579_Material_AddModifyDeleteOnTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnTerrain.py index 8b3d72a932..484b3bbd8b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4925579_Material_AddModifyDeleteOnTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryCrudOperationsReflectOnTerrain.py @@ -41,7 +41,7 @@ class Tests: # fmt: on -def C4925579_Material_AddModifyDeleteOnTerrain(): +def Material_LibraryCrudOperationsReflectOnTerrain(): """ Summary: Runs an automated test to verify that any change (Add/Delete/Modify) made to the material surface in the material @@ -141,7 +141,7 @@ def C4925579_Material_AddModifyDeleteOnTerrain(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4925579_Material_AddModifyDeleteOnTerrain") + helper.open_level("Physics", "Material_LibraryCrudOperationsReflectOnTerrain") # Setup persisting entities default_box = Box("on_default") @@ -172,4 +172,4 @@ def C4925579_Material_AddModifyDeleteOnTerrain(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4925579_Material_AddModifyDeleteOnTerrain) + Report.start_test(Material_LibraryCrudOperationsReflectOnTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C15425935_Material_LibraryUpdatedAcrossLevels.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryUpdatedAcrossLevels.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C15425935_Material_LibraryUpdatedAcrossLevels.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryUpdatedAcrossLevels.py index 91452a1173..0b647361f6 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C15425935_Material_LibraryUpdatedAcrossLevels.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_LibraryUpdatedAcrossLevels.py @@ -61,7 +61,7 @@ class Tests: # fmt: on -def C15425935_Material_LibraryUpdatedAcrossLevels(): +def Material_LibraryUpdatedAcrossLevels(): """ Summary: Verify that the change in a physmaterial library gets updated across levels @@ -231,7 +231,7 @@ def C15425935_Material_LibraryUpdatedAcrossLevels(): return triggers and delete_sphere_velocities def modify_material_library(): - physmaterial_object = Physmaterial_Editor("C15425935_Material_LibraryUpdatedAcrossLevels.physmaterial") + physmaterial_object = Physmaterial_Editor("Material_LibraryUpdatedAcrossLevels.physmaterial") physmaterial_object.delete_material("to_delete") physmaterial_object.modify_material("to_modify", "Restitution", 1.0) physmaterial_object.save_changes() @@ -253,7 +253,7 @@ def C15425935_Material_LibraryUpdatedAcrossLevels(): # 1) Open the correct level for the test helper.open_level( "physics", - "C15425935_Material_LibraryUpdatedAcrossLevels\\C15425935_Material_LibraryUpdatedAcrossLevels_{}".format( + "Material_LibraryUpdatedAcrossLevels\\Material_LibraryUpdatedAcrossLevels_{}".format( test.level_index ), ) @@ -302,4 +302,4 @@ def C15425935_Material_LibraryUpdatedAcrossLevels(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C15425935_Material_LibraryUpdatedAcrossLevels) + Report.start_test(Material_LibraryUpdatedAcrossLevels) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C5296614_PhysXMaterial_ColliderShape.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_NoEffectIfNoColliderShape.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/material/C5296614_PhysXMaterial_ColliderShape.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_NoEffectIfNoColliderShape.py index de7ed4db9b..7037598fb1 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C5296614_PhysXMaterial_ColliderShape.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_NoEffectIfNoColliderShape.py @@ -10,8 +10,6 @@ SPDX-License-Identifier: Apache-2.0 OR MIT # Test Case Title : Check that unless you assign a shape to a physX collider component, # the material assigned to it does not take affect - - # fmt: off class Tests: # level @@ -30,7 +28,7 @@ class Tests: # fmt: on -def C5296614_PhysXMaterial_ColliderShape(): +def Material_NoEffectIfNoColliderShape(): """ Summary: Runs an automated test to verify that unless you assign a shape to a PhysX collider component, @@ -122,7 +120,7 @@ def C5296614_PhysXMaterial_ColliderShape(): helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C5296614_PhysXMaterial_ColliderShape") + helper.open_level("Physics", "Material_NoEffectIfNoColliderShape") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -148,4 +146,4 @@ def C5296614_PhysXMaterial_ColliderShape(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5296614_PhysXMaterial_ColliderShape) + Report.start_test(Material_NoEffectIfNoColliderShape) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044697_Material_PerfaceMaterialValidation.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_PerFaceMaterialGetsCorrectMaterial.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044697_Material_PerfaceMaterialValidation.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_PerFaceMaterialGetsCorrectMaterial.py index 9ee8d404d7..fc2a91838c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044697_Material_PerfaceMaterialValidation.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_PerFaceMaterialGetsCorrectMaterial.py @@ -48,7 +48,7 @@ class Tests: # fmt: on -def C4044697_Material_PerfaceMaterialValidation(): +def Material_PerFaceMaterialGetsCorrectMaterial(): """ Summary: The perface has three different faces that can pick up different materials. To check that each face picks up the material assigned to it I send three spheres of the same material at each face to see the @@ -236,7 +236,7 @@ def C4044697_Material_PerfaceMaterialValidation(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C4044697_Material_PerfaceMaterialValidation") + helper.open_level("Physics", "Material_PerFaceMaterialGetsCorrectMaterial") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -298,4 +298,4 @@ def C4044697_Material_PerfaceMaterialValidation(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044697_Material_PerfaceMaterialValidation) + Report.start_test(Material_PerFaceMaterialGetsCorrectMaterial) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4925580_Material_RagdollBonesMaterial.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RagdollBones.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4925580_Material_RagdollBonesMaterial.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RagdollBones.py index 96316b1cdf..68565b41f0 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4925580_Material_RagdollBonesMaterial.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RagdollBones.py @@ -29,7 +29,7 @@ class Tests: # fmt: on -def C4925580_Material_RagdollBonesMaterial(): +def Material_RagdollBones(): """ Summary: This script runs an automated test to verify that assigning material to the skeleton of an actor entity with PhysX @@ -116,7 +116,7 @@ def C4925580_Material_RagdollBonesMaterial(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4925580_Material_RagdollBonesMaterial") + helper.open_level("Physics", "Material_RagdollBones") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve and validate entities @@ -190,4 +190,4 @@ def C4925580_Material_RagdollBonesMaterial(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4925580_Material_RagdollBonesMaterial) + Report.start_test(Material_RagdollBones) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044461_Material_Restitution.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_Restitution.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044461_Material_Restitution.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_Restitution.py index b077af1593..ee72fed7af 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044461_Material_Restitution.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_Restitution.py @@ -36,7 +36,7 @@ class Tests(): # fmt: on -def C4044461_Material_Restitution(): +def Material_Restitution(): """ Summary: Runs an automated test to ensure that greater restitution coefficient settings on a physX material results in @@ -147,7 +147,7 @@ def C4044461_Material_Restitution(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4044461_Material_Restitution") + helper.open_level("Physics", "Material_Restitution") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -226,4 +226,4 @@ def C4044461_Material_Restitution(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044461_Material_Restitution) + Report.start_test(Material_Restitution) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044457_Material_RestitutionCombine.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RestitutionCombine.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044457_Material_RestitutionCombine.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RestitutionCombine.py index a20c7e49f7..448e82f816 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044457_Material_RestitutionCombine.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RestitutionCombine.py @@ -36,7 +36,7 @@ class Tests(): # fmt: on -def C4044457_Material_RestitutionCombine(): +def Material_RestitutionCombine(): """ Summary: @@ -159,7 +159,7 @@ def C4044457_Material_RestitutionCombine(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4044457_Material_RestitutionCombine") + helper.open_level("Physics", "Material_RestitutionCombine") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -241,4 +241,4 @@ def C4044457_Material_RestitutionCombine(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044457_Material_RestitutionCombine) + Report.start_test(Material_RestitutionCombine) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C18981526_Material_RestitutionCombinePriority.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RestitutionCombinePriorityOrder.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C18981526_Material_RestitutionCombinePriority.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RestitutionCombinePriorityOrder.py index 9663453df2..09d630ebe2 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C18981526_Material_RestitutionCombinePriority.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_RestitutionCombinePriorityOrder.py @@ -50,7 +50,7 @@ class Tests(): # fmt: on -def C18981526_Material_RestitutionCombinePriority(): +def Material_RestitutionCombinePriorityOrder(): """ Summary: Runs an automated test to ensure that the restitution combine mode is assigned according to the correct priority. @@ -334,7 +334,7 @@ def C18981526_Material_RestitutionCombinePriority(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C18981526_Material_RestitutionCombinePriority") + helper.open_level("Physics", "Material_RestitutionCombinePriorityOrder") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -413,4 +413,4 @@ def C18981526_Material_RestitutionCombinePriority(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C18981526_Material_RestitutionCombinePriority) + Report.start_test(Material_RestitutionCombinePriorityOrder) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/C4044460_Material_StaticFriction.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_StaticFriction.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/material/C4044460_Material_StaticFriction.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_StaticFriction.py index 5558f01222..6d5551cbbc 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/material/C4044460_Material_StaticFriction.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Material_StaticFriction.py @@ -31,7 +31,7 @@ class Tests(): # fmt: on -def C4044460_Material_StaticFriction(): +def Material_StaticFriction(): """ Summary: Runs an automated test to ensure that greater static friction coefficient settings on a physX material results in @@ -126,7 +126,7 @@ def C4044460_Material_StaticFriction(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4044460_Material_StaticFriction") + helper.open_level("Physics", "Material_StaticFriction") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -184,4 +184,4 @@ def C4044460_Material_StaticFriction(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4044460_Material_StaticFriction) + Report.start_test(Material_StaticFriction) diff --git a/AutomatedTesting/Gem/PythonTests/physics/material/Physmaterial_Editor.py b/AutomatedTesting/Gem/PythonTests/physics/tests/material/Physmaterial_Editor.py similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/material/Physmaterial_Editor.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/material/Physmaterial_Editor.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C17411467_AddPhysxRagdollComponent.py b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/ragdoll/C17411467_AddPhysxRagdollComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py index 9c02239d73..9791d385fc 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C17411467_AddPhysxRagdollComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def C17411467_AddPhysxRagdollComponent(): +def Ragdoll_AddPhysxRagdollComponentWorks(): """ Summary: Load level with Entity having Actor, AnimGraph and PhysX Ragdoll components. @@ -89,4 +89,4 @@ def C17411467_AddPhysxRagdollComponent(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C17411467_AddPhysxRagdollComponent) + Report.start_test(Ragdoll_AddPhysxRagdollComponentWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C13895144_Ragdoll_ChangeLevel.py b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_LevelSwitchDoesNotCrash.py similarity index 86% rename from AutomatedTesting/Gem/PythonTests/physics/ragdoll/C13895144_Ragdoll_ChangeLevel.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_LevelSwitchDoesNotCrash.py index c7ff00a7e3..eb54c39aa8 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C13895144_Ragdoll_ChangeLevel.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_LevelSwitchDoesNotCrash.py @@ -21,21 +21,21 @@ class Tests(): # fmt: on -def C13895144_Ragdoll_ChangeLevel(): +def Ragdoll_LevelSwitchDoesNotCrash(): """ Summary: Runs an automated test to ensure that switching from a level with many ragdolls to a level with no ragdolls does not crash the editor. Level Description: - C13895144_Ragdoll_WithRagdoll: + Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll: 10 Ragdoll entities are placed in a row. Each Entity has an Actor, Anim Graph and PhysX Ragdoll component. - C13895144_Ragdoll_NoRagdoll: + Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll: The same default level configuration as previous, but with no ragdoll entities. Essentially an empty level. Expected Behavior: - C13895144_Ragdoll_WithRagdoll loads, all entities are found, then C13895144_Ragdoll_NoRagdoll loads correctly. + Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll loads, all entities are found, then Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll loads correctly. No crash should occur. Test Steps: @@ -67,7 +67,7 @@ def C13895144_Ragdoll_ChangeLevel(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C13895144_Ragdoll_WithRagdoll") + helper.open_level("Physics", "Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode_with_ragdolls) @@ -86,7 +86,7 @@ def C13895144_Ragdoll_ChangeLevel(): helper.exit_game_mode(Tests.exit_game_mode_with_ragdolls) # 5) Open level (without ragdolls) - helper.open_level("Physics", "C13895144_Ragdoll_NoRagdoll") + helper.open_level("Physics", "Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll") # 6) Enter game mode helper.enter_game_mode(Tests.enter_game_mode_without_ragdolls) @@ -100,4 +100,4 @@ def C13895144_Ragdoll_ChangeLevel(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C13895144_Ragdoll_ChangeLevel) + Report.start_test(Ragdoll_LevelSwitchDoesNotCrash) diff --git a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C14654882_Ragdoll_ragdollAPTest.py b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_OldRagdollSerializationNoErrors.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/ragdoll/C14654882_Ragdoll_ragdollAPTest.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_OldRagdollSerializationNoErrors.py index 56784b0c72..296473ee6d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C14654882_Ragdoll_ragdollAPTest.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_OldRagdollSerializationNoErrors.py @@ -32,7 +32,7 @@ class UnexpectedLines: lines = ["Assert", "RagdollComponent' is not registered with the serializer"] -def C14654882_Ragdoll_ragdollAPTest(): +def Ragdoll_OldRagdollSerializationNoErrors(): """ Summary: Opens level containing old PhysX Ragdoll component. @@ -81,7 +81,7 @@ def C14654882_Ragdoll_ragdollAPTest(): log_modified_time = os.stat(AP_GUI_log_path).st_mtime # 1) Open the level - helper.open_level("Physics", "C14654882_Ragdoll_ragdollAPTest") + helper.open_level("Physics", "Ragdoll_OldRagdollSerializationNoErrors") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -125,4 +125,4 @@ def C14654882_Ragdoll_ragdollAPTest(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14654882_Ragdoll_ragdollAPTest) + Report.start_test(Ragdoll_OldRagdollSerializationNoErrors) diff --git a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C28978033_Ragdoll_WorldBodyBusTests.py b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_WorldBodyBusWorks.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/ragdoll/C28978033_Ragdoll_WorldBodyBusTests.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_WorldBodyBusWorks.py index d917449daf..ef6598102f 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C28978033_Ragdoll_WorldBodyBusTests.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/ragdoll/Ragdoll_WorldBodyBusWorks.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C28978033_Ragdoll_WorldBodyBusTests(): +def Ragdoll_WorldBodyBusWorks(): r""" Summary: Runs a test to make sure that a WorldBodyBus works property for ragdolls @@ -61,7 +61,7 @@ def C28978033_Ragdoll_WorldBodyBusTests(): # 1) Open level / Enter game mode helper.init_idle() - helper.open_level("Physics", "C28978033_Ragdoll_WorldBodyBusTests") + helper.open_level("Physics", "Ragdoll_WorldBodyBusWorks") # Needs better solution general.idle_wait(6) # wait a little bit for ragdoll data to load @@ -112,4 +112,4 @@ def C28978033_Ragdoll_WorldBodyBusTests(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C28978033_Ragdoll_WorldBodyBusTests) + Report.start_test(Ragdoll_WorldBodyBusWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976194_RigidBody_PhysXComponentIsValid.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_AddRigidBodyComponent.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976194_RigidBody_PhysXComponentIsValid.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_AddRigidBodyComponent.py index b0b69d6d91..46136c2115 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976194_RigidBody_PhysXComponentIsValid.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_AddRigidBodyComponent.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C4976194_RigidBody_PhysXComponentIsValid(): +def RigidBody_AddRigidBodyComponent(): """ Summary: @@ -74,7 +74,7 @@ def C4976194_RigidBody_PhysXComponentIsValid(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976194_RigidBody_PhysXComponentIsValid") + helper.open_level("Physics", "RigidBody_AddRigidBodyComponent") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -109,4 +109,4 @@ def C4976194_RigidBody_PhysXComponentIsValid(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976194_RigidBody_PhysXComponentIsValid) + Report.start_test(RigidBody_AddRigidBodyComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976200_RigidBody_AngularDampingObjectRotation.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_AngularDampingAffectsRotation.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976200_RigidBody_AngularDampingObjectRotation.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_AngularDampingAffectsRotation.py index 77dfe4c483..6631ac66c8 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976200_RigidBody_AngularDampingObjectRotation.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_AngularDampingAffectsRotation.py @@ -33,7 +33,7 @@ class Tests: # fmt: on -def C4976200_RigidBody_AngularDampingObjectRotation(): +def RigidBody_AngularDampingAffectsRotation(): """ The level consists of a PhysX Terrain component that is not interacted with (per the test case) 3 PhysX colliders with shape box, PhysX rigid bodies physics, and mesh with shape box. @@ -186,7 +186,7 @@ def C4976200_RigidBody_AngularDampingObjectRotation(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976200_RigidBody_AngularDampingObjectRotation") + helper.open_level("Physics", "RigidBody_AngularDampingAffectsRotation") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -284,4 +284,4 @@ def C4976200_RigidBody_AngularDampingObjectRotation(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976200_RigidBody_AngularDampingObjectRotation) + Report.start_test(RigidBody_AngularDampingAffectsRotation) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976209_RigidBody_ComputesCOM.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_ComputingWorks.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976209_RigidBody_ComputesCOM.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_ComputingWorks.py index 27d4ea1356..a399aad877 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976209_RigidBody_ComputesCOM.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_ComputingWorks.py @@ -39,7 +39,7 @@ class Tests(): # fmt: on -def C4976209_RigidBody_ComputesCOM(): +def RigidBody_COM_ComputingWorks(): # type: () -> None """ Summary: @@ -116,7 +116,7 @@ def C4976209_RigidBody_ComputesCOM(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976209_RigidBody_ComputesCOM") + helper.open_level("Physics", "RigidBody_COM_ComputingWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -158,6 +158,7 @@ def C4976209_RigidBody_ComputesCOM(): # 5) Check center of mass for each physics asset enabled_is_close = physics_asset_enabled.com_local.IsClose(PHYSICS_ASSET_EXPECTED_COM, CLOSE_THRESHOLD) + print(f"{physics_asset_enabled.com_local.x}, {physics_asset_enabled.com_local.y}, {physics_asset_enabled.com_local.z}") Report.result(physics_asset_enabled.com_valid_test, enabled_is_close) disabled_is_close = physics_asset_disabled.com_local.IsClose(CONTROL_COM, CLOSE_THRESHOLD) @@ -169,4 +170,4 @@ def C4976209_RigidBody_ComputesCOM(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976209_RigidBody_ComputesCOM) + Report.start_test(RigidBody_COM_ComputingWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976210_COM_ManualSetting.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_ManualSettingWorks.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976210_COM_ManualSetting.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_ManualSettingWorks.py index cbbefb5a0e..4e5a88fe57 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976210_COM_ManualSetting.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_ManualSettingWorks.py @@ -31,7 +31,7 @@ class Tests: # fmt: on -def C4976210_COM_ManualSetting(): +def RigidBody_COM_ManualSettingWorks(): # type: () -> None """ Summary: @@ -244,7 +244,7 @@ def C4976210_COM_ManualSetting(): # 1) Open level and start game mode helper.init_idle() - helper.open_level("Physics", "C4976210_COM_ManualSetting") + helper.open_level("Physics", "RigidBody_COM_ManualSettingWorks") helper.enter_game_mode(Tests.enter_game_mode) # 2) Find and validate test entities @@ -297,4 +297,4 @@ def C4976210_COM_ManualSetting(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976210_COM_ManualSetting) + Report.start_test(RigidBody_COM_ManualSettingWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13351703_COM_NotIncludeTriggerShapes.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_NotIncludesTriggerShapes.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13351703_COM_NotIncludeTriggerShapes.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_NotIncludesTriggerShapes.py index 56f44503ae..c7724df311 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13351703_COM_NotIncludeTriggerShapes.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_COM_NotIncludesTriggerShapes.py @@ -20,7 +20,7 @@ class Tests(): # fmt: on -def C13351703_COM_NotIncludeTriggerShapes(): +def RigidBody_COM_NotIncludesTriggerShapes(): """ Summary: @@ -69,7 +69,7 @@ def C13351703_COM_NotIncludeTriggerShapes(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C13351703_COM_NotIncludeTriggerShapes") + helper.open_level("Physics", "RigidBody_COM_NotIncludesTriggerShapes") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -89,4 +89,4 @@ def C13351703_COM_NotIncludeTriggerShapes(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C13351703_COM_NotIncludeTriggerShapes) + Report.start_test(RigidBody_COM_NotIncludesTriggerShapes) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976218_RigidBodies_InertiaObjectsNotComputed.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_ComputeInertiaWorks.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976218_RigidBodies_InertiaObjectsNotComputed.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_ComputeInertiaWorks.py index eb87fd0c68..6e7a460f05 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976218_RigidBodies_InertiaObjectsNotComputed.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_ComputeInertiaWorks.py @@ -20,7 +20,7 @@ class Tests(): exit_game_mode = ("Exited game mode", "Failed to exit game mode") # fmt: on -def C4976218_RigidBodies_InertiaObjectsNotComputed(): +def RigidBody_ComputeInertiaWorks(): """ Summary: Level Description: @@ -82,7 +82,7 @@ def C4976218_RigidBodies_InertiaObjectsNotComputed(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976218_RigidBodies_InertiaObjectNotComputed") + helper.open_level("Physics", "RigidBody_ComputeInertiaWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -157,4 +157,4 @@ def C4976218_RigidBodies_InertiaObjectsNotComputed(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976218_RigidBodies_InertiaObjectsNotComputed) + Report.start_test(RigidBody_ComputeInertiaWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C100000_RigidBody_EnablingGravityWorksPoC.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_EnablingGravityWorksPoC.py similarity index 92% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C100000_RigidBody_EnablingGravityWorksPoC.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_EnablingGravityWorksPoC.py index f3d3e02d8e..b15c17f405 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C100000_RigidBody_EnablingGravityWorksPoC.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_EnablingGravityWorksPoC.py @@ -22,7 +22,7 @@ class Tests(): # fmt:on -def C100000_RigidBody_EnablingGravityWorksPoC(): +def RigidBody_EnablingGravityWorksPoC(): import os import sys from editor_python_test_tools.utils import Report @@ -63,14 +63,14 @@ def C100000_RigidBody_EnablingGravityWorksPoC(): already handled in TestHelper.wait_for_condition """ z_end = azlmbr.components.TransformBus(azlmbr.bus.Event, "GetWorldZ", ball_id) - return Ball.z_start > z_end + return z_end < 35 # 7) Validate ball fell by ensuring z is decreasing - fell_down = helper.wait_for_condition(ball_fell, 1.0) + fell_down = helper.wait_for_condition(ball_fell, 10.0) Report.result(Tests.ball_fell, fell_down) helper.exit_game_mode(Tests.exit_game_mode) if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C100000_RigidBody_EnablingGravityWorksPoC) + Report.start_test(RigidBody_EnablingGravityWorksPoC) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_EnablingGravityWorksUsingNotificationsPoC.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_EnablingGravityWorksUsingNotificationsPoC.py index 997ea8a5a6..b22497c9fd 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_EnablingGravityWorksUsingNotificationsPoC.py @@ -20,7 +20,7 @@ class Tests: # fmt:on -def C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(): +def RigidBody_EnablingGravityWorksUsingNotificationsPoC(): # Setup path import os import sys @@ -80,4 +80,4 @@ def C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC) + Report.start_test(RigidBody_EnablingGravityWorksUsingNotificationsPoC) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976197_RigidBodies_InitialAngularVelocity.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_InitialAngularVelocity.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976197_RigidBodies_InitialAngularVelocity.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_InitialAngularVelocity.py index 7f400051ec..0c2ad7c355 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976197_RigidBodies_InitialAngularVelocity.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_InitialAngularVelocity.py @@ -29,7 +29,7 @@ class Tests: # fmt: on -def C4976197_RigidBodies_InitialAngularVelocity(): +def RigidBody_InitialAngularVelocity(): # type: () -> None """ Summary: @@ -110,7 +110,7 @@ def C4976197_RigidBodies_InitialAngularVelocity(): helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C4976197_RigidBodies_InitialAngularVelocity") + helper.open_level("Physics", "RigidBody_InitialAngularVelocity") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -176,4 +176,4 @@ def C4976197_RigidBodies_InitialAngularVelocity(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976197_RigidBodies_InitialAngularVelocity) + Report.start_test(RigidBody_InitialAngularVelocity) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976195_RigidBodies_InitialLinearVelocity.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_InitialLinearVelocity.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976195_RigidBodies_InitialLinearVelocity.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_InitialLinearVelocity.py index f13a7232fa..1fd2a68d3d 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976195_RigidBodies_InitialLinearVelocity.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_InitialLinearVelocity.py @@ -21,7 +21,7 @@ class Tests: sphere_velocity = ("The magnitude of velocity is close to 5", "The magnitude of velocity is not close to 5") exit_game_mode = ("Exited game mode", "Couldn't exit game mode") -def C4976195_RigidBodies_InitialLinearVelocity(): +def RigidBody_InitialLinearVelocity(): # type: () -> None """ Summary: @@ -67,7 +67,7 @@ def C4976195_RigidBodies_InitialLinearVelocity(): helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C4976195_RigidBodies_InitialLinearVelocity") + helper.open_level("Physics", "RigidBody_InitialLinearVelocity") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -128,4 +128,4 @@ def C4976195_RigidBodies_InitialLinearVelocity(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976195_RigidBodies_InitialLinearVelocity) + Report.start_test(RigidBody_InitialLinearVelocity) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976207_PhysXRigidBodies_KinematicBehavior.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_KinematicModeWorks.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976207_PhysXRigidBodies_KinematicBehavior.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_KinematicModeWorks.py index 65814bd438..1c53854bab 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976207_PhysXRigidBodies_KinematicBehavior.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_KinematicModeWorks.py @@ -26,7 +26,7 @@ class Tests(): # fmt: on -def C4976207_PhysXRigidBodies_KinematicBehavior(): +def RigidBody_KinematicModeWorks(): """ Summary: Runs an automated test to ensure kinematic property causes entity to remain in place when gravity acts upon it @@ -70,7 +70,7 @@ def C4976207_PhysXRigidBodies_KinematicBehavior(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C4976207_PhysXRigidBodies_KinematicBehavior") + helper.open_level("Physics", "RigidBody_KinematicModeWorks") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve entities @@ -128,4 +128,4 @@ def C4976207_PhysXRigidBodies_KinematicBehavior(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976207_PhysXRigidBodies_KinematicBehavior) + Report.start_test(RigidBody_KinematicModeWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976199_RigidBodies_LinearDampingObjectMotion.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_LinearDampingAffectsMotion.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976199_RigidBodies_LinearDampingObjectMotion.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_LinearDampingAffectsMotion.py index 502478f13c..79eae01d09 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976199_RigidBodies_LinearDampingObjectMotion.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_LinearDampingAffectsMotion.py @@ -32,7 +32,7 @@ class Tests: # fmt: on -def C4976199_RigidBodies_LinearDampingObjectMotion(): +def RigidBody_LinearDampingAffectsMotion(): """ The level consists of a PhysX Terrain component that is not interacted with (per the test case) and a PhysX collider with shape sphere, PhysX rigid bodies physics, and mesh with shape sphere. @@ -168,7 +168,7 @@ def C4976199_RigidBodies_LinearDampingObjectMotion(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976199_RigidBodies_LinearDampingObjectMotion") + helper.open_level("Physics", "RigidBody_LinearDampingAffectsMotion") def run_test_steps(sphere): @@ -266,4 +266,4 @@ def C4976199_RigidBodies_LinearDampingObjectMotion(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976199_RigidBodies_LinearDampingObjectMotion) + Report.start_test(RigidBody_LinearDampingAffectsMotion) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976201_RigidBody_MassIsAssigned.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MassDifferentValuesWorks.py similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976201_RigidBody_MassIsAssigned.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MassDifferentValuesWorks.py index 54f589da1e..1a97ce5723 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976201_RigidBody_MassIsAssigned.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MassDifferentValuesWorks.py @@ -59,7 +59,7 @@ class Tests: # fmt: on -def C4976201_RigidBody_MassIsAssigned(): +def RigidBody_MassDifferentValuesWorks(): """ Summary: Checking that the mass set to the object is actually applied via colliding entities @@ -310,7 +310,7 @@ def C4976201_RigidBody_MassIsAssigned(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976201_RigidBody_MassIsAssigned") + helper.open_level("Physics", "RigidBody_MassDifferentValuesWorks") # 2) Repeat steps 3-9 for target_sphere in target_spheres: @@ -369,4 +369,4 @@ def C4976201_RigidBody_MassIsAssigned(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976201_RigidBody_MassIsAssigned) + Report.start_test(RigidBody_MassDifferentValuesWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13352089_RigidBodies_MaxAngularVelocity.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MaxAngularVelocityWorks.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13352089_RigidBodies_MaxAngularVelocity.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MaxAngularVelocityWorks.py index 41635ecc47..7e2bb38836 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13352089_RigidBodies_MaxAngularVelocity.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MaxAngularVelocityWorks.py @@ -66,7 +66,7 @@ class Tests: # fmt: on -def C13352089_RigidBodies_MaxAngularVelocity(): +def RigidBody_MaxAngularVelocityWorks(): """ Summary: Runs an automated test to ensure maximum angular velocity and angular damping interact correctly with @@ -241,7 +241,7 @@ def C13352089_RigidBodies_MaxAngularVelocity(): helper.init_idle() # 1) Load the level - helper.open_level("Physics", "C13352089_RigidBodies_MaxAngularVelocity") + helper.open_level("Physics", "RigidBody_MaxAngularVelocityWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -280,4 +280,4 @@ def C13352089_RigidBodies_MaxAngularVelocity(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C13352089_RigidBodies_MaxAngularVelocity) + Report.start_test(RigidBody_MaxAngularVelocityWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C5340400_RigidBody_ManualMomentOfInertia.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MomentOfInertiaManualSetting.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C5340400_RigidBody_ManualMomentOfInertia.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MomentOfInertiaManualSetting.py index 92d3945391..e7737016f4 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C5340400_RigidBody_ManualMomentOfInertia.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_MomentOfInertiaManualSetting.py @@ -26,7 +26,7 @@ class Tests(): # fmt: on -def C5340400_RigidBody_ManualMomentOfInertia(): +def RigidBody_MomentOfInertiaManualSetting(): """ Summary: Runs an automated test to ensure that assigning a high moment of inertia component causes the entity to exhibit @@ -83,7 +83,7 @@ def C5340400_RigidBody_ManualMomentOfInertia(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C5340400_RigidBody_ManualMomentOfInertia") + helper.open_level("Physics", "RigidBody_MomentOfInertiaManualSetting") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -156,4 +156,4 @@ def C5340400_RigidBody_ManualMomentOfInertia(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5340400_RigidBody_ManualMomentOfInertia) + Report.start_test(RigidBody_MomentOfInertiaManualSetting) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C14976307_Gravity_SetGravityWorks.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_SetGravityWorks.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/general/C14976307_Gravity_SetGravityWorks.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_SetGravityWorks.py index 335ef75649..837819bf5a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C14976307_Gravity_SetGravityWorks.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_SetGravityWorks.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C14976307_Gravity_SetGravityWorks(): +def RigidBody_SetGravityWorks(): """ Summary: @@ -73,7 +73,7 @@ def C14976307_Gravity_SetGravityWorks(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C14976307_Gravity_SetGravityWorks") + helper.open_level("Physics", "RigidBody_SetGravityWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -118,4 +118,4 @@ def C14976307_Gravity_SetGravityWorks(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14976307_Gravity_SetGravityWorks) + Report.start_test(RigidBody_SetGravityWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_SleepWhenBelowKineticThreshold.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_SleepWhenBelowKineticThreshold.py index 655c33304d..e01f946a9b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_SleepWhenBelowKineticThreshold.py @@ -58,7 +58,7 @@ class Tests: # fmt: on -def C4976202_RigidBody_StopsWhenBelowKineticThreshold(): +def RigidBody_SleepWhenBelowKineticThreshold(): """ Summary: A Pushing Cube and a Sphere are suspended over the PhysX Terrain. @@ -264,7 +264,7 @@ def C4976202_RigidBody_StopsWhenBelowKineticThreshold(): ) # 1) Open the level - helper.open_level("Physics", "C4976202_RigidBody_StopsWhenBelowKineticThreshold") + helper.open_level("Physics", "RigidBody_SleepWhenBelowKineticThreshold") def test_steps(sleep_threshold_value, trigger_pattern): TestData.threshold_count += 1 @@ -322,4 +322,4 @@ def C4976202_RigidBody_StopsWhenBelowKineticThreshold(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976202_RigidBody_StopsWhenBelowKineticThreshold) + Report.start_test(RigidBody_SleepWhenBelowKineticThreshold) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976204_Verify_Start_Asleep_Condition.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_StartAsleepWorks.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976204_Verify_Start_Asleep_Condition.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_StartAsleepWorks.py index ff3111aa55..21703ebe5a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976204_Verify_Start_Asleep_Condition.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_StartAsleepWorks.py @@ -24,7 +24,7 @@ class Tests(): # fmt: on -def C4976204_Verify_Start_Asleep_Condition(): +def RigidBody_StartAsleepWorks(): """ Summary: @@ -74,7 +74,7 @@ def C4976204_Verify_Start_Asleep_Condition(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C4976204_Verify_Start_Asleep_Condition") + helper.open_level("Physics", "RigidBody_StartAsleepWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -108,4 +108,4 @@ def C4976204_Verify_Start_Asleep_Condition(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976204_Verify_Start_Asleep_Condition) + Report.start_test(RigidBody_StartAsleepWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976206_RigidBodies_GravityEnabledActive.py b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_StartGravityEnabledWorks.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976206_RigidBodies_GravityEnabledActive.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_StartGravityEnabledWorks.py index e6b50eb2bf..95b7a4dc04 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976206_RigidBodies_GravityEnabledActive.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/rigid_body/RigidBody_StartGravityEnabledWorks.py @@ -7,7 +7,7 @@ SPDX-License-Identifier: Apache-2.0 OR MIT # Test case ID : C4976206 -# Test Case Title : VErify that when Gravity enables is checked, the object falls down due to gravity [sic] +# Test Case Title : Verify that when Gravity enables is checked, the object falls down due to gravity [sic] # fmt: off @@ -29,7 +29,7 @@ class Frames: delta_frames = 1 -def C4976206_RigidBodies_GravityEnabledActive(): +def RigidBody_StartGravityEnabledWorks(): """ Summary: Runs automated test to verify that when the gravity enabled checkbox is ticked, @@ -75,7 +75,7 @@ def C4976206_RigidBodies_GravityEnabledActive(): helper.init_idle() # 1) Open level and enter game mode - helper.open_level("Physics", "C4976206_RigidBodies_VerifyGravity") + helper.open_level("Physics", "RigidBody_StartGravityEnabledWorks") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve entities @@ -141,4 +141,4 @@ def C4976206_RigidBodies_GravityEnabledActive(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C4976206_RigidBodies_GravityEnabledActive) + Report.start_test(RigidBody_StartGravityEnabledWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712452_ScriptCanvas_CollisionEvents.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_CollisionEvents.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712452_ScriptCanvas_CollisionEvents.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_CollisionEvents.py index 6806d5acc8..99785c2650 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712452_ScriptCanvas_CollisionEvents.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_CollisionEvents.py @@ -28,7 +28,7 @@ class Tests: # fmt: on -def C12712452_ScriptCanvas_CollisionEvents(): +def ScriptCanvas_CollisionEvents(): """ Summary: This script runs an automated test to verify that the Script Canvas nodes "On Collision Begin", "On Collision @@ -160,7 +160,7 @@ def C12712452_ScriptCanvas_CollisionEvents(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C12712452_ScriptCanvas_CollisionEvents") + helper.open_level("Physics", "ScriptCanvas_CollisionEvents") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve and validate entities @@ -197,4 +197,4 @@ def C12712452_ScriptCanvas_CollisionEvents(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12712452_ScriptCanvas_CollisionEvents) + Report.start_test(ScriptCanvas_CollisionEvents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C19536274_GetCollisionName_PrintsName.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_GetCollisionNameReturnsName.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/general/C19536274_GetCollisionName_PrintsName.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_GetCollisionNameReturnsName.py index abf2045ed4..39b6eddd41 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C19536274_GetCollisionName_PrintsName.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_GetCollisionNameReturnsName.py @@ -17,7 +17,7 @@ class Tests(): # fmt: on -def C19536274_GetCollisionName_PrintsName(): +def ScriptCanvas_GetCollisionNameReturnsName(): """ Summary: Loads a level that contains an entity with script canvas and PhysX Collider components @@ -65,4 +65,4 @@ def C19536274_GetCollisionName_PrintsName(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C19536274_GetCollisionName_PrintsName) + Report.start_test(ScriptCanvas_GetCollisionNameReturnsName) diff --git a/AutomatedTesting/Gem/PythonTests/physics/general/C19536277_GetCollisionName_PrintsNothing.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer.py similarity index 93% rename from AutomatedTesting/Gem/PythonTests/physics/general/C19536277_GetCollisionName_PrintsNothing.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer.py index a0d242542f..885d85c710 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/general/C19536277_GetCollisionName_PrintsNothing.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer.py @@ -17,7 +17,7 @@ class Tests(): # fmt: on -def C19536277_GetCollisionName_PrintsNothing(): +def ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer(): """ Summary: Loads a level that contains an entity with script canvas and PhysX Collider components @@ -65,4 +65,4 @@ def C19536277_GetCollisionName_PrintsNothing(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C19536277_GetCollisionName_PrintsNothing) + Report.start_test(ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712453_ScriptCanvas_MultipleRaycastNode.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_MultipleRaycastNode.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712453_ScriptCanvas_MultipleRaycastNode.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_MultipleRaycastNode.py index edbbde4c94..f173ac0fa3 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712453_ScriptCanvas_MultipleRaycastNode.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_MultipleRaycastNode.py @@ -37,7 +37,7 @@ class Lines: unexpected = ["FAILURE"] -def C12712453_ScriptCanvas_MultipleRaycastNode(): +def ScriptCanvas_MultipleRaycastNode(): """ Summary: Uses script canvas to cast two types of rays in game mode (multiple raycast and single raycast). Script canvas @@ -169,7 +169,7 @@ def C12712453_ScriptCanvas_MultipleRaycastNode(): # 1) Open level helper.init_idle() - helper.open_level("Physics", "C12712453_ScriptCanvas_MultipleRaycastNode") + helper.open_level("Physics", "ScriptCanvas_MultipleRaycastNode") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve entities @@ -195,4 +195,4 @@ def C12712453_ScriptCanvas_MultipleRaycastNode(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12712453_ScriptCanvas_MultipleRaycastNode) + Report.start_test(ScriptCanvas_MultipleRaycastNode) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712454_ScriptCanvas_OverlapNodeVerification.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_OverlapNode.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712454_ScriptCanvas_OverlapNodeVerification.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_OverlapNode.py index 5829e5850c..b7f2f6da0c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712454_ScriptCanvas_OverlapNodeVerification.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_OverlapNode.py @@ -36,7 +36,7 @@ class Tests: # fmt: on -def C12712454_ScriptCanvas_OverlapNodeVerification(): +def ScriptCanvas_OverlapNode(): """ Summary: Verifies that the three script canvas overlap nodes (box, sphere, capsule) work as expected. Test script starts and verifies each case one by one. @@ -250,7 +250,7 @@ def C12712454_ScriptCanvas_OverlapNodeVerification(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C12712454_ScriptCanvas_OverlapNodeVerification") + helper.open_level("Physics", "ScriptCanvas_OverlapNode") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -316,4 +316,4 @@ def C12712454_ScriptCanvas_OverlapNodeVerification(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12712454_ScriptCanvas_OverlapNodeVerification) + Report.start_test(ScriptCanvas_OverlapNode) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902098_ScriptCanvas_PostPhysicsUpdate.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PostPhysicsUpdate.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902098_ScriptCanvas_PostPhysicsUpdate.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PostPhysicsUpdate.py index 5cb0b1431e..85b1ccebf8 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902098_ScriptCanvas_PostPhysicsUpdate.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PostPhysicsUpdate.py @@ -33,7 +33,7 @@ class LogLines: unexpected_lines = ["OnPostPhysicsSubtick Event: The Sphere position did not change from previous position"] -def C14902098_ScriptCanvas_PostPhysicsUpdate(): +def ScriptCanvas_PostPhysicsUpdate(): """ Summary: @@ -85,7 +85,7 @@ def C14902098_ScriptCanvas_PostPhysicsUpdate(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C14902098_ScriptCanvas_PostPhysicsUpdate") + helper.open_level("Physics", "ScriptCanvas_PostPhysicsUpdate") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -106,4 +106,4 @@ def C14902098_ScriptCanvas_PostPhysicsUpdate(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14902098_ScriptCanvas_PostPhysicsUpdate) + Report.start_test(ScriptCanvas_PostPhysicsUpdate) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14195074_ScriptCanvas_PostUpdateEvent.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PostUpdateEvent.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14195074_ScriptCanvas_PostUpdateEvent.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PostUpdateEvent.py index 2c833ba5f3..fdcae5cea4 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14195074_ScriptCanvas_PostUpdateEvent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PostUpdateEvent.py @@ -23,7 +23,7 @@ class Tests: # fmt: on -def C14195074_ScriptCanvas_PostUpdateEvent(): +def ScriptCanvas_PostUpdateEvent(): """ Summary: Verifies that Postsimulate Event node in Script Canvas works as expected. @@ -134,7 +134,7 @@ def C14195074_ScriptCanvas_PostUpdateEvent(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C14195074_ScriptCanvas_PostUpdateEvent") + helper.open_level("Physics", "ScriptCanvas_PostUpdateEvent") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -178,4 +178,4 @@ def C14195074_ScriptCanvas_PostUpdateEvent(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14195074_ScriptCanvas_PostUpdateEvent) + Report.start_test(ScriptCanvas_PostUpdateEvent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902097_ScriptCanvas_PreUpdateEvent.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PreUpdateEvent.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902097_ScriptCanvas_PreUpdateEvent.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PreUpdateEvent.py index 4d48ce34a6..c2662e661b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902097_ScriptCanvas_PreUpdateEvent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_PreUpdateEvent.py @@ -23,7 +23,7 @@ class Tests: # fmt: on -def C14902097_ScriptCanvas_PreUpdateEvent(): +def ScriptCanvas_PreUpdateEvent(): """ Summary: Verifies that Presimulate node in Script Canvas works as expected. @@ -140,7 +140,7 @@ def C14902097_ScriptCanvas_PreUpdateEvent(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C14902097_ScriptCanvas_PreUpdateEvent") + helper.open_level("Physics", "ScriptCanvas_PreUpdateEvent") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -188,4 +188,4 @@ def C14902097_ScriptCanvas_PreUpdateEvent(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14902097_ScriptCanvas_PreUpdateEvent) + Report.start_test(ScriptCanvas_PreUpdateEvent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14976308_ScriptCanvas_SetKinematicTargetTransform.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_SetKinematicTargetTransform.py similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14976308_ScriptCanvas_SetKinematicTargetTransform.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_SetKinematicTargetTransform.py index 9e8331f369..3e1abd2712 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14976308_ScriptCanvas_SetKinematicTargetTransform.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_SetKinematicTargetTransform.py @@ -31,7 +31,7 @@ class Tests: # fmt: on -def C14976308_ScriptCanvas_SetKinematicTargetTransform(): +def ScriptCanvas_SetKinematicTargetTransform(): """ Summary: This script runs an automated test to verify the results of two Script Canvas nodes acting on a kinematic rigid @@ -168,7 +168,7 @@ def C14976308_ScriptCanvas_SetKinematicTargetTransform(): # 1) Open level and enter game mode helper.init_idle() - helper.open_level("Physics", "C14976308_ScriptCanvas_SetKinematicTargetTransform") + helper.open_level("Physics", "ScriptCanvas_SetKinematicTargetTransform") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve and validate entities @@ -216,4 +216,4 @@ def C14976308_ScriptCanvas_SetKinematicTargetTransform(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C14976308_ScriptCanvas_SetKinematicTargetTransform) + Report.start_test(ScriptCanvas_SetKinematicTargetTransform) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712455_ScriptCanvas_ShapeCastVerification.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_ShapeCast.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712455_ScriptCanvas_ShapeCastVerification.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_ShapeCast.py index 8ce59d2b29..97d11664b5 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712455_ScriptCanvas_ShapeCastVerification.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_ShapeCast.py @@ -29,7 +29,7 @@ class Tests: # fmt: on -def C12712455_ScriptCanvas_ShapeCastVerification(): +def ScriptCanvas_ShapeCast(): """ Summary: Verifies that shape cast nodes in script editor function properly. @@ -105,7 +105,7 @@ def C12712455_ScriptCanvas_ShapeCastVerification(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("Physics", "C12712455_ScriptCanvas_ShapeCastVerification") + helper.open_level("Physics", "ScriptCanvas_ShapeCast") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -133,4 +133,4 @@ def C12712455_ScriptCanvas_ShapeCastVerification(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C12712455_ScriptCanvas_ShapeCastVerification) + Report.start_test(ScriptCanvas_ShapeCast) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6224408_ScriptCanvas_EntitySpawn.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_SpawnEntityWithPhysComponents.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6224408_ScriptCanvas_EntitySpawn.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_SpawnEntityWithPhysComponents.py index 12e4a25b4d..5862b7586b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6224408_ScriptCanvas_EntitySpawn.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_SpawnEntityWithPhysComponents.py @@ -22,7 +22,7 @@ class Tests: # fmt: on -def C6224408_ScriptCanvas_EntitySpawn(): +def ScriptCanvas_SpawnEntityWithPhysComponents(): """ Summary: A spawner is set to spawn a sphere with downward velocity after a set amount of time. This action is controlled @@ -106,7 +106,7 @@ def C6224408_ScriptCanvas_EntitySpawn(): # Main Script helper.init_idle() # 1) Open Level - helper.open_level("physics", "C6224408_ScriptCanvas_EntitySpawn") + helper.open_level("physics", "ScriptCanvas_SpawnEntityWithPhysComponents") # 2) Enter Game Mode helper.enter_game_mode(Tests.enter_game_mode) @@ -140,4 +140,4 @@ def C6224408_ScriptCanvas_EntitySpawn(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6224408_ScriptCanvas_EntitySpawn) + Report.start_test(ScriptCanvas_SpawnEntityWithPhysComponents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6274125_ScriptCanvas_TriggerEvents.py b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_TriggerEvents.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6274125_ScriptCanvas_TriggerEvents.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_TriggerEvents.py index 5fc4261607..232b9ac8de 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6274125_ScriptCanvas_TriggerEvents.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/script_canvas/ScriptCanvas_TriggerEvents.py @@ -33,7 +33,7 @@ class LogLines: ] -def C6274125_ScriptCanvas_TriggerEvents(): +def ScriptCanvas_TriggerEvents(): """ Summary: Verify ScriptCanvas Trigger Events. @@ -78,7 +78,7 @@ def C6274125_ScriptCanvas_TriggerEvents(): TIMEOUT = 2.5 # 1) Open level - helper.open_level("Physics", "C6274125_ScriptCanvas_TriggerEvents") + helper.open_level("Physics", "ScriptCanvas_TriggerEvents") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -124,4 +124,4 @@ def C6274125_ScriptCanvas_TriggerEvents(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6274125_ScriptCanvas_TriggerEvents) + Report.start_test(ScriptCanvas_TriggerEvents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C19578021_ShapeCollider_CanBeAdded.py b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C19578021_ShapeCollider_CanBeAdded.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py index 0ec9908f2d..8c581e105c 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C19578021_ShapeCollider_CanBeAdded.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py @@ -20,7 +20,7 @@ class Tests(): # fmt: on -def C19578021_ShapeCollider_CanBeAdded(): +def ShapeCollider_CanBeAddedWitNoWarnings(): """ Summary: Adding a PhysX Collider component when a PhysX Shape Collider and Box Shape components are already present @@ -89,4 +89,4 @@ def C19578021_ShapeCollider_CanBeAdded(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C19578021_ShapeCollider_CanBeAdded) + Report.start_test(ShapeCollider_CanBeAddedWitNoWarnings) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_CylinderShapeCollides.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_CylinderShapeCollides.py index 9094ba68c6..a501688f8f 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_CylinderShapeCollides.py @@ -27,7 +27,7 @@ class Tests(): # fmt: on -def C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(): +def ShapeCollider_CylinderShapeCollides(): """ Summary: Runs a test to make sure that a PhysX Rigid Body and Cylinder Shape Collider can successfully collide with a PhysX Terrain entity. @@ -64,7 +64,7 @@ def C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(): # 1) Open level helper.init_idle() - helper.open_level("Physics", "C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain") + helper.open_level("Physics", "ShapeCollider_CylinderShapeCollides") # Create terrain entity terrain = EditorEntity.create_editor_entity_at([30.0, 30.0, 33.96], "Terrain") @@ -133,4 +133,4 @@ def C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain) + Report.start_test(ShapeCollider_CylinderShapeCollides) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C19578018_ShapeColliderWithNoShapeComponent.py b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C19578018_ShapeColliderWithNoShapeComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py index 3da42eb40f..d057e83398 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C19578018_ShapeColliderWithNoShapeComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def C19578018_ShapeColliderWithNoShapeComponent(): +def ShapeCollider_InactiveWhenNoShapeComponent(): """ Summary: Create an Entity with PhysX Shape Collider component and verify that PhysX Shape Collider Component @@ -91,4 +91,4 @@ def C19578018_ShapeColliderWithNoShapeComponent(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C19578018_ShapeColliderWithNoShapeComponent) + Report.start_test(ShapeCollider_InactiveWhenNoShapeComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/collider/C19723164_ShapeColliders_WontCrashEditor.py b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/collider/C19723164_ShapeColliders_WontCrashEditor.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py index 7d277a734d..ba8b598987 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/collider/C19723164_ShapeColliders_WontCrashEditor.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py @@ -18,7 +18,7 @@ class Tests(): # fmt: on -def C19723164_ShapeColliders_WontCrashEditor(): +def ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(): """ Summary: Create 512 entities with shape colliders and verify stability @@ -95,4 +95,4 @@ def C19723164_ShapeColliders_WontCrashEditor(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C19723164_ShapeColliders_WontCrashEditor) + Report.start_test(ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_AddPhysTerrainComponent.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_AddPhysTerrainComponent.py index 8e42f9f77c..c81e60de5b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_AddPhysTerrainComponent.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(): +def Terrain_AddPhysTerrainComponent(): """ Summary: Runs an automated test by creating an entity with physx terrain and add another physx terrain and verify that @@ -74,7 +74,7 @@ def C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(): 'EditorTerrainComponent' in warningInfo.window for warningInfo in warning_tracer.warnings) # 1) Open level - helper.open_level("Physics", "C5689522_Physxterrain_AddPhysxterrainNoEditorCrash") + helper.open_level("Physics", "Terrain_AddPhysTerrainComponent") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -101,4 +101,4 @@ def C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5689522_Physxterrain_AddPhysxterrainNoEditorCrash) + Report.start_test(Terrain_AddPhysTerrainComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689524_MultipleTerrains_CheckWarningInConsole.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_CanAddMultipleTerrainComponents.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C5689524_MultipleTerrains_CheckWarningInConsole.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_CanAddMultipleTerrainComponents.py index ba74716544..706244df31 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689524_MultipleTerrains_CheckWarningInConsole.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_CanAddMultipleTerrainComponents.py @@ -21,7 +21,7 @@ class Tests(): # fmt: on -def C5689524_MultipleTerrains_CheckWarningInConsole(): +def Terrain_CanAddMultipleTerrainComponents(): """ Summary: Runs an automated test by creating multiple entities each with one or more terrain components and verify that you are @@ -76,7 +76,7 @@ def C5689524_MultipleTerrains_CheckWarningInConsole(): 'EditorTerrainComponent' in warningInfo.window for warningInfo in warning_tracer.warnings) # 1) Open level - helper.open_level("Physics", "C5689524_MultipleTerrains_CheckWarningInConsole") + helper.open_level("Physics", "Terrain_CanAddMultipleTerrainComponents") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -102,4 +102,4 @@ def C5689524_MultipleTerrains_CheckWarningInConsole(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5689524_MultipleTerrains_CheckWarningInConsole) + Report.start_test(Terrain_CanAddMultipleTerrainComponents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_CollisionAgainstRigidBody.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_CollisionAgainstRigidBody.py index a10cc72ed2..dac222b599 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_CollisionAgainstRigidBody.py @@ -24,7 +24,7 @@ class Tests(): # fmt: on -def C5689518_PhysXTerrain_CollidesWithPhysXTerrain(): +def Terrain_CollisionAgainstRigidBody(): """ Summary: Runs a test to make sure that a PhysX Rigid Body and Collider can successfully collide with a PhysX Terrain entity. @@ -57,7 +57,7 @@ def C5689518_PhysXTerrain_CollidesWithPhysXTerrain(): # 1) Open level / Enter game mode helper.init_idle() - helper.open_level("Physics", "C5689518_PhysXEntity_collides_with_PhysXTerrain") + helper.open_level("Physics", "Terrain_CollisionAgainstRigidBody") helper.enter_game_mode(Tests.enter_game_mode) # 2) Retrieve entities and positions @@ -109,4 +109,4 @@ def C5689518_PhysXTerrain_CollidesWithPhysXTerrain(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5689518_PhysXTerrain_CollidesWithPhysXTerrain) + Report.start_test(Terrain_CollisionAgainstRigidBody) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C6032082_Terrain_MultipleResolutionsValid.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_MultipleResolutionsValid.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C6032082_Terrain_MultipleResolutionsValid.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_MultipleResolutionsValid.py index 66615e1937..8a30d5443b 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C6032082_Terrain_MultipleResolutionsValid.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_MultipleResolutionsValid.py @@ -39,7 +39,7 @@ class Tests(): # fmt: on -def C6032082_Terrain_MultipleResolutionsValid(): +def Terrain_MultipleResolutionsValid(): """ Summary: @@ -109,7 +109,7 @@ def C6032082_Terrain_MultipleResolutionsValid(): self.test_exit_game_mode = exit_game_test level_128 = Level( - "C6032082_Terrain_MultipleResolutionsValid_128x128_1m", + "Terrain_MultipleResolutionsValid_128x128_1m", Tests.enter_game_mode_128x128_1m, Tests.find_entities_128x128_1m, Tests.ball_on_terrain_collision_128x128_1m, @@ -117,7 +117,7 @@ def C6032082_Terrain_MultipleResolutionsValid(): Tests.exit_game_mode_128x128_1m, ) level_512 = Level( - "C6032082_Terrain_MultipleResolutionsValid_512x512_2m", + "Terrain_MultipleResolutionsValid_512x512_2m", Tests.enter_game_mode_512x512_2m, Tests.find_entities_512x512_2m, Tests.ball_on_terrain_collision_512x512_2m, @@ -125,7 +125,7 @@ def C6032082_Terrain_MultipleResolutionsValid(): Tests.exit_game_mode_512x512_2m, ) level_1024 = Level( - "C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m", + "Terrain_MultipleResolutionsValid_1024x1024_32m", Tests.enter_game_mode_1024x1024_32m, Tests.find_entities_1024x1024_32m, Tests.ball_on_terrain_collision_1024x1024_32m, @@ -133,7 +133,7 @@ def C6032082_Terrain_MultipleResolutionsValid(): Tests.exit_game_mode_1024x1024_32m, ) level_4096 = Level( - "C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m", + "Terrain_MultipleResolutionsValid_4096x4096_16m", Tests.enter_game_mode_4096x4096_16m, Tests.find_entities_4096x4096_16m, Tests.ball_on_terrain_collision_4096x4096_16m, @@ -205,4 +205,4 @@ def C6032082_Terrain_MultipleResolutionsValid(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C6032082_Terrain_MultipleResolutionsValid) + Report.start_test(Terrain_MultipleResolutionsValid) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689528_Terrain_MultipleTerrainComponents.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_MultipleTerrainComponentsWarning.py similarity index 94% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C5689528_Terrain_MultipleTerrainComponents.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_MultipleTerrainComponentsWarning.py index fb1fd01724..c62a8e670a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689528_Terrain_MultipleTerrainComponents.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_MultipleTerrainComponentsWarning.py @@ -21,7 +21,7 @@ class Tests(): # fmt: on -def C5689528_Terrain_MultipleTerrainComponents(): +def Terrain_MultipleTerrainComponentsWarning(): """ Summary: @@ -74,7 +74,7 @@ def C5689528_Terrain_MultipleTerrainComponents(): 'EditorTerrainComponent' in warningInfo.window for warningInfo in warning_tracer.warnings) # 1) Open level - helper.open_level("Physics", "C5689528_Terrain_MultipleTerrainComponents") + helper.open_level("Physics", "Terrain_MultipleTerrainComponentsWarning") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -99,4 +99,4 @@ def C5689528_Terrain_MultipleTerrainComponents(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5689528_Terrain_MultipleTerrainComponents) + Report.start_test(Terrain_MultipleTerrainComponentsWarning) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C3510642_Terrain_NotCollideWithTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_NoPhysTerrainComponentNoCollision.py similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C3510642_Terrain_NotCollideWithTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_NoPhysTerrainComponentNoCollision.py index 09522da31a..f006cf6587 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C3510642_Terrain_NotCollideWithTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_NoPhysTerrainComponentNoCollision.py @@ -26,7 +26,7 @@ class Tests(): # fmt: on -def C3510642_Terrain_NotCollideWithTerrain(): +def Terrain_NoPhysTerrainComponentNoCollision(): """ Summary: Runs an automated test to ensure that when no PhysX Terrain component is added, @@ -78,7 +78,7 @@ def C3510642_Terrain_NotCollideWithTerrain(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C3510642_Terrain_NotCollideWithTerrain") + helper.open_level("Physics", "Terrain_NoPhysTerrainComponentNoCollision") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -164,4 +164,4 @@ def C3510642_Terrain_NotCollideWithTerrain(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C3510642_Terrain_NotCollideWithTerrain) + Report.start_test(Terrain_NoPhysTerrainComponentNoCollision) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689531_Warning_TerrainSliceTerrainComponent.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_SpawnSecondTerrainComponentWarning.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C5689531_Warning_TerrainSliceTerrainComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_SpawnSecondTerrainComponentWarning.py index 68ddaba5ed..cb37e8be76 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689531_Warning_TerrainSliceTerrainComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_SpawnSecondTerrainComponentWarning.py @@ -23,7 +23,7 @@ class Tests: # fmt: on -def C5689531_Warning_TerrainSliceTerrainComponent(): +def Terrain_SpawnSecondTerrainComponentWarning(): """ Summary: @@ -82,7 +82,7 @@ def C5689531_Warning_TerrainSliceTerrainComponent(): 'TerrainComponent' in warningInfo.window for warningInfo in warning_tracer.warnings) # 1) Open level - helper.open_level("Physics", "C5689531_Warning_TerrainSliceTerrainComponent") + helper.open_level("Physics", "Terrain_SpawnSecondTerrainComponentWarning") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -111,4 +111,4 @@ def C5689531_Warning_TerrainSliceTerrainComponent(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C5689531_Warning_TerrainSliceTerrainComponent) + Report.start_test(Terrain_SpawnSecondTerrainComponentWarning) diff --git a/AutomatedTesting/Gem/PythonTests/physics/terrain/C13508019_Terrain_TerrainTexturePainterWorks.py b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_TerrainTexturePainterWorks.py similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/terrain/C13508019_Terrain_TerrainTexturePainterWorks.py rename to AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_TerrainTexturePainterWorks.py index 9822b933d1..150be66bcc 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/terrain/C13508019_Terrain_TerrainTexturePainterWorks.py +++ b/AutomatedTesting/Gem/PythonTests/physics/tests/terrain/Terrain_TerrainTexturePainterWorks.py @@ -23,7 +23,7 @@ class Tests: # fmt: on -def C13508019_Terrain_TerrainTexturePainterWorks(): +def Terrain_TerrainTexturePainterWorks(): # run() will open a a level and validate terrain material are updated after using terrain texture painter # It does this by: # 1) Opens level with a terrain that has been painted by two different physical materials with a box above each @@ -59,7 +59,7 @@ def C13508019_Terrain_TerrainTexturePainterWorks(): helper.init_idle() # 1) Open level - helper.open_level("Physics", "C13508019_Terrain_TerrainTexturePainterWorks") + helper.open_level("Physics", "Terrain_TerrainTexturePainterWorks") # 2) Enter game mode helper.enter_game_mode(Tests.enter_game_mode) @@ -136,4 +136,4 @@ def C13508019_Terrain_TerrainTexturePainterWorks(): if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(C13508019_Terrain_TerrainTexturePainterWorks) + Report.start_test(Terrain_TerrainTexturePainterWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/utils/FileManagement.py b/AutomatedTesting/Gem/PythonTests/physics/utils/FileManagement.py index 89b7559dd1..22a41de4ea 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/utils/FileManagement.py +++ b/AutomatedTesting/Gem/PythonTests/physics/utils/FileManagement.py @@ -270,7 +270,7 @@ class FileManagement: file_list = FileManagement._find_files(file_names, root_path, search_subdirs) except RuntimeWarning as w: assert False, ( - w.message + w.args[0] + " Please check use of search_subdirs; make sure you are using the correct parent directory." ) @@ -331,7 +331,7 @@ class FileManagement: file_list = FileManagement._find_files([target_file, src_file], root_path, search_subdirs) except RuntimeWarning as w: assert False, ( - w.message + w.args[0] + " Please check use of search_subdirs; make sure you are using the correct parent directory." ) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Prefab.py b/AutomatedTesting/Gem/PythonTests/prefab/Prefab.py new file mode 100644 index 0000000000..14a1ab62f0 --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Prefab.py @@ -0,0 +1,221 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +from __future__ import annotations +from collections import Counter +from collections import deque +from os import path + +from PySide2 import QtWidgets + +from azlmbr.entity import EntityId +from azlmbr.math import Vector3 +from editor_python_test_tools.editor_entity_utils import EditorEntity +from editor_python_test_tools.utils import Report + +import azlmbr.bus as bus +import azlmbr.prefab as prefab +import editor_python_test_tools.pyside_utils as pyside_utils +import prefab.Prefab_Test_Utils as prefab_test_utils + +# This is a helper class which contains some of the useful information about a prefab instance. +class PrefabInstance: + + def __init__(self, name: str=None, prefab_file_name: str=None, container_entity: EditorEntity=EntityId()): + self.name = name + self.prefab_file_name: str = prefab_file_name + self.container_entity: EditorEntity = container_entity + + """ + See if this instance is valid to be used with other prefab operations. + :return: Whether the target instance is valid or not. + """ + def is_valid() -> bool: + return self.container_entity.id.IsValid() and self.name is not None and self.prefab_file_name in Prefab.existing_prefabs + + + """ + Reparent this instance to target parent entity. + The function will also check pop up dialog ui in editor to see if there's prefab cyclical dependency error while reparenting prefabs. + :param parent_entity_id: The id of the entity this instance should be a child of in the transform hierarchy next. + """ + async def ui_reparent_prefab_instance(self, parent_entity_id: EntityId): + container_entity_name = self.container_entity.get_name() + current_children_entity_ids_having_prefab_name = prefab_test_utils.get_children_ids_by_name(parent_entity_id, container_entity_name) + Report.info(f'current_children_entity_ids_having_prefab_name: {current_children_entity_ids_having_prefab_name}') + + pyside_utils.run_soon(lambda: self.container_entity.set_parent_entity(parent_entity_id)) + pyside_utils.run_soon(lambda: prefab_test_utils.wait_for_propagation()) + + try: + active_modal_widget = await pyside_utils.wait_for_modal_widget() + error_message_box = active_modal_widget.findChild(QtWidgets.QMessageBox) + ok_button = error_message_box.button(QtWidgets.QMessageBox.Ok) + ok_button.click() + assert False, "Cyclical dependency detected while reparenting prefab" + except pyside_utils.EventLoopTimeoutException: + pass + + updated_children_entity_ids_having_prefab_name = prefab_test_utils.get_children_ids_by_name(parent_entity_id, container_entity_name) + Report.info(f'updated_children_entity_ids_having_prefab_name: {updated_children_entity_ids_having_prefab_name}') + new_child_with_reparented_prefab_name_added = len(updated_children_entity_ids_having_prefab_name) == len(current_children_entity_ids_having_prefab_name) + 1 + assert new_child_with_reparented_prefab_name_added, "No entity with reparented prefab name become a child of target parent entity" + + updated_container_entity_id = set(updated_children_entity_ids_having_prefab_name).difference(current_children_entity_ids_having_prefab_name).pop() + updated_container_entity = EditorEntity(updated_container_entity_id) + updated_container_entity_parent_id = updated_container_entity.get_parent_id() + has_correct_parent = updated_container_entity_parent_id.ToString() == parent_entity_id.ToString() + assert has_correct_parent, "Prefab reparented is *not* under the expected parent entity" + + self.container_entity = EditorEntity(updated_container_entity_id) + +# This is a helper class which contains some of the useful information about a prefab template. +class Prefab: + + existing_prefabs = {} + + def __init__(self, file_name: str): + self.file_name:str = file_name + self.file_path: str = prefab_test_utils.get_prefab_file_path(file_name) + self.instances: dict = {} + + """ + Check if a prefab is ready to be used to generate its instances. + :param file_name: A unique file name of the target prefab. + :return: Whether the target prefab is loaded or not. + """ + @classmethod + def is_prefab_loaded(cls, file_name: str) -> bool: + return file_name in Prefab.existing_prefabs + + """ + Check if a prefab exists in the directory for files of prefab tests. + :param file_name: A unique file name of the target prefab. + :return: Whether the target prefab exists or not. + """ + @classmethod + def prefab_exists(cls, file_name: str) -> bool: + file_path = prefab_test_utils.get_prefab_file_path(file_name) + return path.exists(file_path) + + """ + Return a prefab which can be used immediately. + :param file_name: A unique file name of the target prefab. + :return: The prefab with given file name. + """ + @classmethod + def get_prefab(cls, file_name: str) -> Prefab: + if Prefab.is_prefab_loaded(file_name): + return Prefab.existing_prefabs[file_name] + else: + assert Prefab.prefab_exists(file_name), f"Attempted to get a prefab {file_name} that doesn't exist" + new_prefab = Prefab(file_name) + Prefab.existing_prefabs[file_name] = Prefab(file_name) + return new_prefab + + """ + Create a prefab in memory and return it. The very first instance of this prefab will also be created. + :param entities: The entities that should form the new prefab (along with their descendants). + :param file_name: A unique file name of new prefab. + :param prefab_instance_name: A name for the very first instance generated while prefab creation. The default instance name is the same as file_name. + :return: An outcome object with an entityId of the new prefab's container entity; on failure, it comes with an error message detailing the cause of the error. + """ + @classmethod + def create_prefab(cls, entities: list[EditorEntity], file_name: str, prefab_instance_name: str=None) -> Prefab: + assert not Prefab.is_prefab_loaded(file_name), f"Can't create Prefab '{file_name}' since the prefab already exists" + + new_prefab = Prefab(file_name) + entity_ids = [entity.id for entity in entities] + create_prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'CreatePrefabInMemory', entity_ids, new_prefab.file_path) + assert create_prefab_result.IsSuccess(), f"Prefab operation 'CreatePrefab' failed. Error: {create_prefab_result.GetError()}" + + container_entity = EditorEntity(create_prefab_result.GetValue()) + + if prefab_instance_name: + container_entity.set_name(prefab_instance_name) + else: + prefab_instance_name = file_name + + prefab_test_utils.wait_for_propagation() + container_entity_id = prefab_test_utils.find_entity_by_unique_name(prefab_instance_name) + new_prefab.instances[prefab_instance_name] = PrefabInstance(prefab_instance_name, file_name, EditorEntity(container_entity_id)) + Prefab.existing_prefabs[file_name] = new_prefab + return new_prefab + + """ + Remove target prefab instances. + :param prefab_instances: Instances to be removed. + """ + @classmethod + def remove_prefabs(cls, prefab_instances: list[PrefabInstance]): + instances_to_remove_name_counts = Counter() + instances_removed_expected_name_counts = Counter() + + entities_to_remove = [prefab_instance.container_entity for prefab_instance in prefab_instances] + while entities_to_remove: + entity = entities_to_remove.pop(-1) + entity_name = entity.get_name() + instances_to_remove_name_counts[entity_name] += 1 + + children_entity_ids = entity.get_children_ids() + for child_entity_id in children_entity_ids: + entities_to_remove.append(EditorEntity(child_entity_id)) + + for entity_name, entity_count in instances_to_remove_name_counts.items(): + entities = prefab_test_utils.find_entities_by_name(entity_name) + instances_removed_expected_name_counts[entity_name] = len(entities) - entity_count + + container_entity_ids = [prefab_instance.container_entity.id for prefab_instance in prefab_instances] + delete_prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'DeleteEntitiesAndAllDescendantsInInstance', container_entity_ids) + assert delete_prefab_result.IsSuccess(), f"Prefab operation 'DeleteEntitiesAndAllDescendantsInInstance' failed. Error: {delete_prefab_result.GetError()}" + + prefab_test_utils.wait_for_propagation() + + prefab_entities_deleted = True + for entity_name, expected_entity_count in instances_removed_expected_name_counts.items(): + actual_entity_count = len(prefab_test_utils.find_entities_by_name(entity_name)) + if actual_entity_count is not expected_entity_count: + prefab_entities_deleted = False + break + + assert prefab_entities_deleted, "Not all entities and descendants in target prefabs are deleted." + + for instance in prefab_instances: + instance_deleted_prefab = Prefab.get_prefab(instance.prefab_file_name) + instance_deleted_prefab.instances.pop(instance.name) + instance = PrefabInstance() + + """ + Instantiate an instance of this prefab. + :param name: A name for newly instantiated prefab instance. The default instance name is the same as this prefab's file name. + :param parent_entity: The entity the prefab should be a child of in the transform hierarchy. + :param prefab_position: The position in world space the prefab should be instantiated in. + :return: An outcome object with an entityId of the new prefab's container entity; on failure, it comes with an error message detailing the cause of the error. + """ + def instantiate(self, name: str=None, parent_entity: EditorEntity=None, prefab_position: Vector3=Vector3()) -> PrefabInstance: + parent_entity_id = parent_entity.id if parent_entity is not None else EntityId() + + instantiate_prefab_result = prefab.PrefabPublicRequestBus( + bus.Broadcast, 'InstantiatePrefab', self.file_path, parent_entity_id, prefab_position) + + assert instantiate_prefab_result.IsSuccess(), f"Prefab operation 'InstantiatePrefab' failed. Error: {instantiate_prefab_result.GetError()}" + + container_entity_id = instantiate_prefab_result.GetValue() + container_entity = EditorEntity(container_entity_id) + + if name: + container_entity.set_name(name) + else: + name = self.file_name + + prefab_test_utils.wait_for_propagation() + container_entity_id = prefab_test_utils.find_entity_by_unique_name(name) + self.instances[name] = PrefabInstance(name, self.file_name, EditorEntity(container_entity_id)) + + prefab_test_utils.check_entity_at_position(container_entity_id, prefab_position) + + return container_entity_id diff --git a/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_BasicWorkflow.py b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_BasicWorkflow.py deleted file mode 100644 index 7a600f7976..0000000000 --- a/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_BasicWorkflow.py +++ /dev/null @@ -1,108 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -# fmt:off -class Tests(): - create_new_entity = ("'CreateNewEntity' passed", "'CreateNewEntity' failed") - create_prefab = ("'CreatePrefab' passed", "'CreatePrefab' failed") - instantiate_prefab = ("'InstantiatePrefab' passed", "'InstantiatePrefab' failed") - has_one_child = ("instantiated prefab contains only one child as expected", "instantiated prefab does *not* contain only one child as expected") - instantiated_prefab_position = ("instantiated prefab's position is at the expected position", "instantiated prefab's position is *not* at the expected position") - delete_prefab = ("'DeleteEntitiesAndAllDescendantsInInstance' passed", "'DeleteEntitiesAndAllDescendantsInInstance' failed") - instantiated_prefab_removed = ("instantiated prefab's container entity has been removed", "instantiated prefab's container entity has *not* been removed") - instantiated_child_removed = ("instantiated prefab's child entity has been removed", "instantiated prefab's child entity has *not* been removed") -# fmt:on - -def PrefabLevel_BasicWorkflow(): - """ - This test will help verify if the following functions related to Prefab work as expected: - - CreatePrefab - - InstantiatePrefab - - DeleteEntitiesAndAllDescendantsInInstance - """ - - 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.bus as bus - import azlmbr.entity as entity - from azlmbr.entity import EntityId - import azlmbr.editor as editor - import azlmbr.prefab as prefab - from azlmbr.math import Vector3 - import azlmbr.legacy.general as general - - NEW_PREFAB_NAME = "new_prefab" - NEW_PREFAB_FILE_NAME = NEW_PREFAB_NAME + ".prefab" - NEW_PREFAB_FILE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), NEW_PREFAB_FILE_NAME) - INSTANTIATED_PREFAB_POSITION = Vector3(10.00, 20.0, 30.0) - INSTANTIATED_PREFAB_NAME = "instantiated_prefab" - INSTANTIATED_CHILD_ENTITY_NAME = "child_1" - TEST_LEVEL_FOLDER = "Prefab" - TEST_LEVEL_NAME = "Base" - - def find_entity_by_name(entity_name): - searchFilter = entity.SearchFilter() - searchFilter.names = [entity_name] - entityIds = entity.SearchBus(bus.Broadcast, 'SearchEntities', searchFilter) - if entityIds and entityIds[0].IsValid(): - return entityIds[0] - return None - - def print_error_if_failed(prefab_operation_result): - if not prefab_operation_result.IsSuccess(): - Report.info(f'Error message: {prefab_operation_result.GetError()}') - - -# Open the test level - helper.init_idle() - helper.open_level(TEST_LEVEL_FOLDER, TEST_LEVEL_NAME) - -# Create a new Entity at the root level - new_entity_id = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', EntityId()) - Report.result(Tests.create_new_entity, new_entity_id.IsValid()) - -# Checks for prefab creation passed or not - create_prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'CreatePrefabInMemory', [new_entity_id], NEW_PREFAB_FILE_PATH) - Report.result(Tests.create_prefab, create_prefab_result.IsSuccess()) - print_error_if_failed(create_prefab_result) - -# Checks for prefab instantiation passed or not - instantiate_prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'InstantiatePrefab', NEW_PREFAB_FILE_PATH, EntityId(), INSTANTIATED_PREFAB_POSITION) - Report.result(Tests.instantiate_prefab, instantiate_prefab_result.IsSuccess() and instantiate_prefab_result.GetValue().IsValid()) - print_error_if_failed(instantiate_prefab_result) - - container_entity_id = instantiate_prefab_result.GetValue() - editor.EditorEntityAPIBus(bus.Event, 'SetName', container_entity_id, INSTANTIATED_PREFAB_NAME) - - children_entity_ids = editor.EditorEntityInfoRequestBus(bus.Event, 'GetChildren', container_entity_id) - Report.result(Tests.has_one_child, len(children_entity_ids) is 1) - - child_entity_id = children_entity_ids[0] - editor.EditorEntityAPIBus(bus.Event, 'SetName', child_entity_id, INSTANTIATED_CHILD_ENTITY_NAME) - -# Checks if the new prefab is at the correct position and if it fails, it will provide the expected postion and the actual postion of the entity in the Editor log - actual_prefab_position = azlmbr.components.TransformBus(azlmbr.bus.Event, "GetWorldTranslation", container_entity_id) - is_at_position = actual_prefab_position.IsClose(INSTANTIATED_PREFAB_POSITION) - Report.result(Tests.instantiated_prefab_position, is_at_position) - if not is_at_position: - Report.info(f'Expected position: {INSTANTIATED_PREFAB_POSITION.ToString()}, actual position: {actual_prefab_position.ToString()}') - -# Checks for prefab deletion passed or not - delete_prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'DeleteEntitiesAndAllDescendantsInInstance', [container_entity_id]) - Report.result(Tests.delete_prefab, delete_prefab_result.IsSuccess()) - print_error_if_failed(delete_prefab_result) - Report.result(Tests.instantiated_prefab_removed, find_entity_by_name(INSTANTIATED_PREFAB_NAME) is None) - Report.result(Tests.instantiated_child_removed, find_entity_by_name(INSTANTIATED_CHILD_ENTITY_NAME) is None) - -if __name__ == "__main__": - from editor_python_test_tools.utils import Report - Report.start_test(PrefabLevel_BasicWorkflow) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreateAndDeletePrefab.py b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreateAndDeletePrefab.py new file mode 100644 index 0000000000..c6e0daa4dd --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreateAndDeletePrefab.py @@ -0,0 +1,34 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +def Prefab_BasicWorkflow_CreateAndDeletePrefab(): + + CAR_PREFAB_FILE_NAME = 'car_prefab' + + from editor_python_test_tools.editor_entity_utils import EditorEntity + from prefab.Prefab import Prefab + + import prefab.Prefab_Test_Utils as prefab_test_utils + + prefab_test_utils.open_base_tests_level() + + # Creates a new Entity at the root level + # Asserts if creation didn't succeed + car_entity = EditorEntity.create_editor_entity() + car_prefab_entities = [car_entity] + + # Checks for prefab creation passed or not + car_prefab = Prefab.create_prefab( + car_prefab_entities, CAR_PREFAB_FILE_NAME) + + # Checks for prefab deletion passed or not + car = car_prefab.instances[CAR_PREFAB_FILE_NAME] + Prefab.remove_prefabs([car]) + +if __name__ == "__main__": + from editor_python_test_tools.utils import Report + Report.start_test(Prefab_BasicWorkflow_CreateAndDeletePrefab) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreateAndReparentPrefab.py b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreateAndReparentPrefab.py new file mode 100644 index 0000000000..04f7b97628 --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreateAndReparentPrefab.py @@ -0,0 +1,51 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +def Prefab_BasicWorkflow_CreateAndReparentPrefab(): + + CAR_PREFAB_FILE_NAME = 'car_prefab' + WHEEL_PREFAB_FILE_NAME = 'wheel_prefab' + + import editor_python_test_tools.pyside_utils as pyside_utils + + @pyside_utils.wrap_async + async def run_test(): + + from editor_python_test_tools.editor_entity_utils import EditorEntity + from prefab.Prefab import Prefab + + import prefab.Prefab_Test_Utils as prefab_test_utils + + prefab_test_utils.open_base_tests_level() + + # Creates a new Entity at the root level + # Asserts if creation didn't succeed + car_entity = EditorEntity.create_editor_entity() + car_prefab_entities = [car_entity] + + # Checks for prefab creation passed or not + car_prefab = Prefab.create_prefab( + car_prefab_entities, CAR_PREFAB_FILE_NAME) + + # Creates another new Entity at the root level + wheel_entity = EditorEntity.create_editor_entity() + wheel_prefab_entities = [wheel_entity] + + # Checks for wheel prefab creation passed or not + wheel_prefab = Prefab.create_prefab( + wheel_prefab_entities, WHEEL_PREFAB_FILE_NAME) + + # Checks for prefab reparenting passed or not + car = car_prefab.instances[CAR_PREFAB_FILE_NAME] + wheel = wheel_prefab.instances[WHEEL_PREFAB_FILE_NAME] + await wheel.ui_reparent_prefab_instance(car.container_entity.id) + + run_test() + +if __name__ == "__main__": + from editor_python_test_tools.utils import Report + Report.start_test(Prefab_BasicWorkflow_CreateAndReparentPrefab) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreatePrefab.py b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreatePrefab.py new file mode 100644 index 0000000000..d86b03d5ad --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_CreatePrefab.py @@ -0,0 +1,30 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +def Prefab_BasicWorkflow_CreatePrefab(): + + CAR_PREFAB_FILE_NAME = 'car_prefab' + + from editor_python_test_tools.editor_entity_utils import EditorEntity + from editor_python_test_tools.utils import Report + from prefab.Prefab import Prefab + + import prefab.Prefab_Test_Utils as prefab_test_utils + + prefab_test_utils.open_base_tests_level() + + # Creates a new Entity at the root level + # Asserts if creation didn't succeed + car_entity = EditorEntity.create_editor_entity() + car_prefab_entities = [car_entity] + + # Checks for prefab creation passed or not + Prefab.create_prefab(car_prefab_entities, CAR_PREFAB_FILE_NAME) + +if __name__ == "__main__": + from editor_python_test_tools.utils import Report + Report.start_test(Prefab_BasicWorkflow_CreatePrefab) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_InstantiatePrefab.py b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_InstantiatePrefab.py new file mode 100644 index 0000000000..b9015ab556 --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_BasicWorkflow_InstantiatePrefab.py @@ -0,0 +1,34 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +def Prefab_BasicWorkflow_InstantiatePrefab(): + + from azlmbr.math import Vector3 + + EXISTING_TEST_PREFAB_FILE_NAME = "Test" + INSTANTIATED_TEST_PREFAB_POSITION = Vector3(10.00, 20.0, 30.0) + EXPECTED_TEST_PREFAB_CHILDREN_COUNT = 1 + + from prefab.Prefab import Prefab + + import prefab.Prefab_Test_Utils as prefab_test_utils + + prefab_test_utils.open_base_tests_level() + + # Checks for prefab instantiation passed or not + test_prefab = Prefab.get_prefab(EXISTING_TEST_PREFAB_FILE_NAME) + + instantiated_test_container_entity_id = test_prefab.instantiate( + prefab_position=INSTANTIATED_TEST_PREFAB_POSITION) + + prefab_test_utils.check_entity_children_count( + instantiated_test_container_entity_id, + EXPECTED_TEST_PREFAB_CHILDREN_COUNT) + +if __name__ == "__main__": + from editor_python_test_tools.utils import Report + Report.start_test(Prefab_BasicWorkflow_InstantiatePrefab) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Prefab_Test_Utils.py b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_Test_Utils.py new file mode 100644 index 0000000000..8cd59ed077 --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Prefab_Test_Utils.py @@ -0,0 +1,94 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +import os + +from azlmbr.entity import EntityId +from azlmbr.math import Vector3 +from editor_python_test_tools.editor_entity_utils import EditorEntity +from editor_python_test_tools.utils import Report +from editor_python_test_tools.utils import TestHelper as helper + +import azlmbr.bus as bus +import azlmbr.components as components +import azlmbr.entity as entity +import azlmbr.legacy.general as general + +def get_prefab_file_name(prefab_name): + return prefab_name + ".prefab" + +def get_prefab_file_path(prefab_name): + return os.path.join(os.path.dirname(os.path.abspath(__file__)), get_prefab_file_name(prefab_name)) + +def find_entities_by_name(entity_name): + searchFilter = entity.SearchFilter() + searchFilter.names = [entity_name] + return entity.SearchBus(bus.Broadcast, 'SearchEntities', searchFilter) + +def find_entity_by_unique_name(entity_name): + unique_name_entity_found_result = ( + "Entity with a unique name found", + "Entity with a unique name *not* found") + + entities = find_entities_by_name(entity_name) + unique_name_entity_found = len(entities) == 1 + Report.result(unique_name_entity_found_result, unique_name_entity_found) + + if unique_name_entity_found: + return entities[0] + else: + Report.info(f"{len(entities)} entities with name '{entity_name}' found") + return EntityId() + +def check_entity_at_position(entity_id, expected_entity_position): + entity_at_expected_position_result = ( + "entity is at expected position", + "entity is *not* at expected position") + + actual_entity_position = components.TransformBus(bus.Event, "GetWorldTranslation", entity_id) + is_at_position = actual_entity_position.IsClose(expected_entity_position) + Report.result(entity_at_expected_position_result, is_at_position) + + if not is_at_position: + Report.info(f"Entity '{entity_id.ToString()}'\'s expected position: {expected_entity_position.ToString()}, actual position: {actual_entity_position.ToString()}") + + return is_at_position + +def check_entity_children_count(entity_id, expected_children_count): + entity_children_count_matched_result = ( + "Entity with a unique name found", + "Entity with a unique name *not* found") + + entity = EditorEntity(entity_id) + children_entity_ids = entity.get_children_ids() + entity_children_count_matched = len(children_entity_ids) == expected_children_count + Report.result(entity_children_count_matched_result, entity_children_count_matched) + + if not entity_children_count_matched: + Report.info(f"Entity '{entity_id.ToString()}' actual children count: {len(children_entity_ids)}. Expected children count: {expected_children_count}") + + return entity_children_count_matched + +def get_children_ids_by_name(entity_id, entity_name): + entity = EditorEntity(entity_id) + children_entity_ids = entity.get_children_ids() + + result = [] + for child_entity_id in children_entity_ids: + child_entity = EditorEntity(child_entity_id) + child_entity_name = child_entity.get_name() + if child_entity_name == entity_name: + result.append(child_entity_id) + + return result + +def wait_for_propagation(): + general.idle_wait_frames(1) + +def open_base_tests_level(): + helper.init_idle() + helper.open_level("Prefab", "Base") diff --git a/AutomatedTesting/Gem/PythonTests/prefab/Test.prefab b/AutomatedTesting/Gem/PythonTests/prefab/Test.prefab new file mode 100644 index 0000000000..c8d37d7762 --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/prefab/Test.prefab @@ -0,0 +1,107 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "Test", + "Components": { + "Component_[12826143848076424135]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 12826143848076424135 + }, + "Component_[15101974329990766813]": { + "$type": "EditorVisibilityComponent", + "Id": 15101974329990766813 + }, + "Component_[16680274563691182095]": { + "$type": "EditorOnlyEntityComponent", + "Id": 16680274563691182095 + }, + "Component_[17501195180351523199]": { + "$type": "SelectionComponent", + "Id": 17501195180351523199 + }, + "Component_[17646858836910065148]": { + "$type": "EditorPrefabComponent", + "Id": 17646858836910065148 + }, + "Component_[18334569630592611766]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 18334569630592611766, + "Parent Entity": "" + }, + "Component_[1851406541343621754]": { + "$type": "EditorInspectorComponent", + "Id": 1851406541343621754 + }, + "Component_[25876196591746739]": { + "$type": "EditorEntitySortComponent", + "Id": 25876196591746739 + }, + "Component_[2800966138796329695]": { + "$type": "EditorPendingCompositionComponent", + "Id": 2800966138796329695 + }, + "Component_[8557036193836405255]": { + "$type": "EditorLockComponent", + "Id": 8557036193836405255 + }, + "Component_[9320658693245331333]": { + "$type": "EditorEntityIconComponent", + "Id": 9320658693245331333 + } + } + }, + "Entities": { + "Entity_[965482067476]": { + "Id": "Entity_[965482067476]", + "Name": "Test_Entity", + "Components": { + "Component_[10201286510014079044]": { + "$type": "EditorLockComponent", + "Id": 10201286510014079044 + }, + "Component_[10449365794489552009]": { + "$type": "EditorInspectorComponent", + "Id": 10449365794489552009, + "ComponentOrderEntryArray": [ + { + "ComponentId": 8658441042113324226 + } + ] + }, + "Component_[14918448446211728610]": { + "$type": "EditorOnlyEntityComponent", + "Id": 14918448446211728610 + }, + "Component_[16421196842573146832]": { + "$type": "EditorPendingCompositionComponent", + "Id": 16421196842573146832 + }, + "Component_[18246651644622464292]": { + "$type": "EditorVisibilityComponent", + "Id": 18246651644622464292 + }, + "Component_[2027518491025985743]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 2027518491025985743 + }, + "Component_[4284802475196956760]": { + "$type": "EditorEntityIconComponent", + "Id": 4284802475196956760 + }, + "Component_[5856000098143259126]": { + "$type": "EditorEntitySortComponent", + "Id": 5856000098143259126 + }, + "Component_[7830595068045232876]": { + "$type": "SelectionComponent", + "Id": 7830595068045232876 + }, + "Component_[8658441042113324226]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 8658441042113324226, + "Parent Entity": "ContainerEntity" + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py index 4e3d6ba77f..09df962b0b 100644 --- a/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py @@ -13,10 +13,8 @@ import os import sys from ly_test_tools import LAUNCHERS +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') -sys.path.append (os.path.dirname (os.path.abspath (__file__)) + '/../automatedtesting_shared') - -import ly_test_tools.environment.file_system as file_system from base import TestAutomationBase @pytest.mark.SUITE_main @@ -24,14 +22,28 @@ from base import TestAutomationBase @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 _run_prefab_test(self, request, workspace, editor, test_module, batch_mode=True, autotest_mode=True): + self._run_test(request, workspace, editor, test_module, + extra_cmdline_args=["--regset=/Amazon/Preferences/EnablePrefabSystem=true"], + batch_mode=batch_mode, + autotest_mode=autotest_mode) 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) - def test_PrefabLevel_BasicWorkflow(self, request, workspace, editor, launcher_platform): - from . import PrefabLevel_BasicWorkflow as test_module + def test_Prefab_BasicWorkflow_CreatePrefab(self, request, workspace, editor, launcher_platform): + from . import Prefab_BasicWorkflow_CreatePrefab as test_module + self._run_prefab_test(request, workspace, editor, test_module) + + def test_Prefab_BasicWorkflow_InstantiatePrefab(self, request, workspace, editor, launcher_platform): + from . import Prefab_BasicWorkflow_InstantiatePrefab as test_module self._run_prefab_test(request, workspace, editor, test_module) + def test_Prefab_BasicWorkflow_CreateAndDeletePrefab(self, request, workspace, editor, launcher_platform): + from . import Prefab_BasicWorkflow_CreateAndDeletePrefab as test_module + self._run_prefab_test(request, workspace, editor, test_module) + + def test_Prefab_BasicWorkflow_CreateAndReparentPrefab(self, request, workspace, editor, launcher_platform): + from . import Prefab_BasicWorkflow_CreateAndReparentPrefab as test_module + self._run_prefab_test(request, workspace, editor, test_module, autotest_mode=False) diff --git a/AutomatedTesting/Levels/Base/Base.ly b/AutomatedTesting/Levels/Base/Base.ly new file mode 100644 index 0000000000..8ce19923c0 --- /dev/null +++ b/AutomatedTesting/Levels/Base/Base.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4937547ca4c486ef59656314401933217e0e0401fec103e1fb91c25ec60a177 +size 2806 diff --git a/AutomatedTesting/Levels/Base/filelist.xml b/AutomatedTesting/Levels/Base/filelist.xml new file mode 100644 index 0000000000..77579ae1a8 --- /dev/null +++ b/AutomatedTesting/Levels/Base/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Base/level.pak b/AutomatedTesting/Levels/Base/level.pak new file mode 100644 index 0000000000..bf7c8b2472 --- /dev/null +++ b/AutomatedTesting/Levels/Base/level.pak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68c34c55693d92085e81388cac48729aa569948254843d1d74f0d6a66d3b4dff +size 39328 diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/tags.txt b/AutomatedTesting/Levels/Base/tags.txt similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/tags.txt rename to AutomatedTesting/Levels/Base/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terraintexture.pak b/AutomatedTesting/Levels/Base/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terraintexture.pak rename to AutomatedTesting/Levels/Base/terraintexture.pak diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly deleted file mode 100644 index 9a1b1fe59a..0000000000 --- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6517300fb1ce70c4696286e14715c547cfd175eabbb2042f7f2a456b15054224 -size 5253 diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak deleted file mode 100644 index 954bb1912f..0000000000 --- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce32a7cdf3ed37751385b3bb18f05206702978363f325d06727b5eb20d40b7eb -size 38563 diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly deleted file mode 100644 index 9ef8bc0525..0000000000 --- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89dbcec013cb819e52ec0f8fed0a9e417fd32eac8aeb67d3958266bb6089ec21 -size 5505 diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak deleted file mode 100644 index ad10c72b31..0000000000 --- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:622c2624b04e07b704520f32c458b50d5a50de1ef116b7bc9c3c0ccb6f4a4ecc -size 3606 diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/Environment.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/Environment.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/Environment.xml diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/TerrainTexture.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/TerrainTexture.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/TimeOfDay.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/TimeOfDay.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/VegetationMap.dat b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/LevelData/VegetationMap.dat rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/LevelData/VegetationMap.dat diff --git a/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/NvCloth_AddClothSimulationToActor.ly b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/NvCloth_AddClothSimulationToActor.ly new file mode 100644 index 0000000000..23397bf18d --- /dev/null +++ b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/NvCloth_AddClothSimulationToActor.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b59cbe84cb77090d723d120597f9d11817aa67a267a7f495f8b012fdd8a9dd86 +size 5536 diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/TerrainTexture.pak b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/TerrainTexture.pak similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/TerrainTexture.pak rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/TerrainTexture.pak diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/filelist.xml similarity index 62% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/filelist.xml index a7de99a91c..20952a47ce 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml +++ b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/filelist.xml @@ -1,6 +1,6 @@ - + diff --git a/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/level.pak b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/level.pak new file mode 100644 index 0000000000..4259131c4f --- /dev/null +++ b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/level.pak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46051f4116003e1a2d13855bea92a1b15501166b1379a11d02c4d2239ccd2530 +size 3648 diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/tags.txt b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/tags.txt similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/tags.txt rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToActor/tags.txt diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/Environment.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/Environment.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/Environment.xml diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/TerrainTexture.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/TerrainTexture.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/TimeOfDay.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/TimeOfDay.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/VegetationMap.dat b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/LevelData/VegetationMap.dat rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/LevelData/VegetationMap.dat diff --git a/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/NvCloth_AddClothSimulationToMesh.ly b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/NvCloth_AddClothSimulationToMesh.ly new file mode 100644 index 0000000000..861626993e --- /dev/null +++ b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/NvCloth_AddClothSimulationToMesh.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bedd2adc60f244a8595e64619069046d5036dd762f61b5393f9b759d69281362 +size 5276 diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/TerrainTexture.pak b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/TerrainTexture.pak similarity index 100% rename from AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/TerrainTexture.pak rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/TerrainTexture.pak diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/filelist.xml similarity index 61% rename from AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/filelist.xml index 2cf4d55bf0..d3492ca7b6 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml +++ b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/filelist.xml @@ -1,6 +1,6 @@ - + diff --git a/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/level.pak b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/level.pak new file mode 100644 index 0000000000..7fa23ea67f --- /dev/null +++ b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/level.pak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81fc98854424d55e594a3983da53d2f5a4d7a7cf60e52e12366e4800d1d3f080 +size 38559 diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/tags.txt b/AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/tags.txt rename to AutomatedTesting/Levels/NvCloth/NvCloth_AddClothSimulationToMesh/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/C12712452_ScriptCanvas_CollisionEvents.ly b/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/C12712452_ScriptCanvas_CollisionEvents.ly deleted file mode 100644 index fc576ec459..0000000000 --- a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/C12712452_ScriptCanvas_CollisionEvents.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e04b536d187793187b64a55914d92c1a1c18393a0369715269a295c7b7a7d370 -size 8883 diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/collision_events_script.scriptcanvas b/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/collision_events_script.scriptcanvas deleted file mode 100644 index 34e80f3ccd..0000000000 --- a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/collision_events_script.scriptcanvas +++ /dev/null @@ -1,7714 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/C12712455_ScriptCanvas_ShapeCastVerification.ly b/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/C12712455_ScriptCanvas_ShapeCastVerification.ly deleted file mode 100644 index 5088b67628..0000000000 --- a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/C12712455_ScriptCanvas_ShapeCastVerification.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6df3d83f5b9dd43118aba5cef3a8fe9ee42ee253f7bd3886fc7c88f41c504fff -size 8802 diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/C14195074_ScriptCanvas_PostUpdateEvent.ly b/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/C14195074_ScriptCanvas_PostUpdateEvent.ly deleted file mode 100644 index 6cd2635f29..0000000000 --- a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/C14195074_ScriptCanvas_PostUpdateEvent.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ecfac85ec0f2cc12d154474be63771ef6704915a8aeb740f5639dbf04fde6df -size 6722 diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/C14654881_CharacterController_SwitchLevelsEmpty.ly b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/C14654881_CharacterController_SwitchLevelsEmpty.ly deleted file mode 100644 index 0b3fc3ccd1..0000000000 --- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/C14654881_CharacterController_SwitchLevelsEmpty.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d4de9e57b01476be84077f126a13fa0bfce18283453d1c69a857c10926c13ae -size 4728 diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/filelist.xml b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/filelist.xml deleted file mode 100644 index 1ba3f96e8d..0000000000 --- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/level.pak b/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/level.pak deleted file mode 100644 index eec9bb3395..0000000000 --- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f04bc665df6d8d2a29635a7e7054977a4f53e931c7c8bc678c4c378b49bb5ca1 -size 39214 diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/C14902098_ScriptCanvas_PostPhysicsUpdate.ly b/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/C14902098_ScriptCanvas_PostPhysicsUpdate.ly deleted file mode 100644 index 549f7a9cfc..0000000000 --- a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/C14902098_ScriptCanvas_PostPhysicsUpdate.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd9a957fd13de9b9029d6ccb81bb2519dfa6381107f9f3015c4999b8c0bd3c36 -size 7801 diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/onpostphysicsupdate.scriptcanvas b/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/onpostphysicsupdate.scriptcanvas deleted file mode 100644 index 10c40fbb9f..0000000000 --- a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/onpostphysicsupdate.scriptcanvas +++ /dev/null @@ -1,3518 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/c15096732_material_defaultlibraryupdatedacrosslevels.physmaterial b/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/c15096732_material_defaultlibraryupdatedacrosslevels.physmaterial deleted file mode 100644 index 95b6587d2a..0000000000 --- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/c15096732_material_defaultlibraryupdatedacrosslevels.physmaterial +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/c15096732_material_defaultlibraryupdatedacrosslevels.physmaterial b/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/c15096732_material_defaultlibraryupdatedacrosslevels.physmaterial deleted file mode 100644 index 95b6587d2a..0000000000 --- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/c15096732_material_defaultlibraryupdatedacrosslevels.physmaterial +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/Material_DefaultLibraryUpdatedAcrossLevels_after.physxconfiguration b/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/Material_DefaultLibraryUpdatedAcrossLevels_after.physxconfiguration deleted file mode 100644 index 9ae2276c44..0000000000 --- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/Material_DefaultLibraryUpdatedAcrossLevels_after.physxconfiguration +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/Material_DefaultLibraryUpdatedAcrossLevels_before.physxconfiguration b/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/Material_DefaultLibraryUpdatedAcrossLevels_before.physxconfiguration deleted file mode 100644 index f8cfe32b2d..0000000000 --- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/Material_DefaultLibraryUpdatedAcrossLevels_before.physxconfiguration +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/C15308217_NoCrash_LevelSwitchWithOutTerrain.ly b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/C15308217_NoCrash_LevelSwitchWithOutTerrain.ly deleted file mode 100644 index 0edc9a8b33..0000000000 --- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/C15308217_NoCrash_LevelSwitchWithOutTerrain.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ee0b19bcef5abd9af9d8ef1acba2fa33bb1a69e402f9a6e5e5732fb8cf3cb4f5 -size 2563 diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/filelist.xml deleted file mode 100644 index b4697568be..0000000000 --- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/level.pak b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/level.pak deleted file mode 100644 index 2baa6ab97d..0000000000 --- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f54e18cd15777994163323a57b3328cb8b8ebb50a2b50476c23d93b66315de54 -size 39205 diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/C15308217_NoCrash_LevelSwitchWithTerrain.ly b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/C15308217_NoCrash_LevelSwitchWithTerrain.ly deleted file mode 100644 index d6c9296864..0000000000 --- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/C15308217_NoCrash_LevelSwitchWithTerrain.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:792969360ad9f659677a0a1823b4422873d5b108468e2e005ba1c90c2b1b09f6 -size 4154 diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/filelist.xml deleted file mode 100644 index 94288572dd..0000000000 --- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/level.pak b/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/level.pak deleted file mode 100644 index df1811f3b3..0000000000 --- a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1304d7445c9155856a172df7d1eb73010929d3d5ebe9c2aed62d01fd64d8e37a -size 39202 diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/filelist.xml b/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/filelist.xml b/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/filelist.xml b/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/filelist.xml b/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/filelist.xml deleted file mode 100644 index fa5a7aa319..0000000000 --- a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/C4976209_RigidBody_ComputesCOM.ly b/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/C4976209_RigidBody_ComputesCOM.ly deleted file mode 100644 index 139a9f140c..0000000000 --- a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/C4976209_RigidBody_ComputesCOM.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8b26b3e991559a946341e4eedb2266605631c8d72e69e745a352f02df998149f -size 9186 diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/C5689517_Verify_Terrain_Component.ly b/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/C5689517_Verify_Terrain_Component.ly deleted file mode 100644 index 9135161123..0000000000 --- a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/C5689517_Verify_Terrain_Component.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8f6e912b2bbc729aded88e1a68b41abef31031452cb7d016f8ca3a44503e1fb -size 6577 diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/filelist.xml b/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/filelist.xml deleted file mode 100644 index 760b180f23..0000000000 --- a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/level.pak b/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/level.pak deleted file mode 100644 index f682a8b0c8..0000000000 --- a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:30e921bc7223f69cf0d8f06eb693753e3ddf32d9b24987571e441a906c482d84 -size 39329 diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/C5689521_Terrain_NoCollisionAfterTerrainDeletion.ly b/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/C5689521_Terrain_NoCollisionAfterTerrainDeletion.ly deleted file mode 100644 index 9f2a939ce5..0000000000 --- a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/C5689521_Terrain_NoCollisionAfterTerrainDeletion.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e0cbe3d70fe2071c2c63d37e62669d840ecc746ac82380bef7d5ef19d8390ce -size 8046 diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/filelist.xml b/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/filelist.xml deleted file mode 100644 index cdfa1c985f..0000000000 --- a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/filelist.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/level.pak b/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/level.pak deleted file mode 100644 index 4a9becf656..0000000000 --- a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/level.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14632009332c08eb5b047d00bf217a6638d2b823a0c2bd649e09408e8efac259 -size 39339 diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/C5959761_ForceRegion_ExertsPointForce_Sedan.ly b/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/C5959761_ForceRegion_ExertsPointForce_Sedan.ly deleted file mode 100644 index 4746c3cdcf..0000000000 --- a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/C5959761_ForceRegion_ExertsPointForce_Sedan.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9099733f59504200cf87fd81011ee8be8bcfd87cc8dbe243e998fb27410b76b -size 6837 diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/C5959765_ForceRegion_AssetGetsImpulsed.ly b/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/C5959765_ForceRegion_AssetGetsImpulsed.ly deleted file mode 100644 index 092eba62fd..0000000000 --- a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/C5959765_ForceRegion_AssetGetsImpulsed.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a637035bdc27e72e2bc23877bfd1b25cbf465a71b8550001151a6b50ebc938c5 -size 8301 diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terrain/terrain.pxheightfield deleted file mode 100644 index 011356e521..0000000000 --- a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terrain/terrain.pxheightfield +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19096597087688692a225c1955f73d22c46354995fca1df8dff107a90c2f17a2 -size 4202594 diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/C6090546_ForceRegion_SliceFileInstantiates.ly b/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/C6090546_ForceRegion_SliceFileInstantiates.ly deleted file mode 100644 index 11018eb2b6..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/C6090546_ForceRegion_SliceFileInstantiates.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d6312f502e196f7ceb1ff05b367899c5486b2737b1a5ccfe3f3d52158e285a7 -size 7422 diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/TimeOfDay.xml deleted file mode 100644 index 456d609b8a..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/TimeOfDay.xml +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/C6090550_ForceRegion_WorldSpaceForceNegative.ly b/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/C6090550_ForceRegion_WorldSpaceForceNegative.ly deleted file mode 100644 index 9eaca61d70..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/C6090550_ForceRegion_WorldSpaceForceNegative.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa225a10dfeea4fa4bb26e3d6eb4a91eed238b1a30acbef8185de8c49dd844a6 -size 9106 diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/C6090551_ForceRegion_LocalSpaceForceNegative.ly b/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/C6090551_ForceRegion_LocalSpaceForceNegative.ly deleted file mode 100644 index f090a65567..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/C6090551_ForceRegion_LocalSpaceForceNegative.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fba6401bc99e46f91da893a663347f1f7f7da5dd5af2daabfac8b82316c87dd9 -size 9069 diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TerrainTexture.xml deleted file mode 100644 index f43df05b22..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TerrainTexture.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TimeOfDay.xml deleted file mode 100644 index 456d609b8a..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TimeOfDay.xml +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/C6090554_ForceRegion_PointForceNegative.ly b/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/C6090554_ForceRegion_PointForceNegative.ly deleted file mode 100644 index b5cccb335c..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/C6090554_ForceRegion_PointForceNegative.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f01447f5be2a4f9c56cfbb2841e2bf51e37cf8e8a3c507e46b74f5a80bc45955 -size 9146 diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/Environment.xml deleted file mode 100644 index 4ba36f66ae..0000000000 --- a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/Environment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/C6131473_StaticSlice_OnDynamicSliceSpawn.ly b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/C6131473_StaticSlice_OnDynamicSliceSpawn.ly deleted file mode 100644 index d2402bdb7f..0000000000 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/C6131473_StaticSlice_OnDynamicSliceSpawn.ly +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f72e154357625639ab2eceebea4a5cc43cbbae6c609909c7f2c10c3892ff9ee -size 3843 diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/Environment.xml deleted file mode 100644 index 4ba36f66ae..0000000000 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/Environment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/GameTokens.xml deleted file mode 100644 index 668a4583bd..0000000000 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/GameTokens.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/TerrainTexture.xml deleted file mode 100644 index f43df05b22..0000000000 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/TerrainTexture.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/TimeOfDay.xml deleted file mode 100644 index 456d609b8a..0000000000 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/TimeOfDay.xml +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/tags.txt b/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/tags.txt deleted file mode 100644 index 0d6c1880e7..0000000000 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/tags.txt +++ /dev/null @@ -1,12 +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 -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,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/Environment.xml deleted file mode 100644 index 4ba36f66ae..0000000000 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/Environment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/GameTokens.xml deleted file mode 100644 index 668a4583bd..0000000000 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/GameTokens.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/TerrainTexture.xml deleted file mode 100644 index f43df05b22..0000000000 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/TerrainTexture.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/VegetationMap.dat deleted file mode 100644 index dce5631cd0..0000000000 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/VegetationMap.dat +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e6a5435c928079b27796f6b202bbc2623e7e454244ddc099a3cadf33b7cb9e9 -size 63 diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/tags.txt b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/tags.txt deleted file mode 100644 index 0d6c1880e7..0000000000 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/tags.txt +++ /dev/null @@ -1,12 +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 -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,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terrain/terrain.pxheightfield deleted file mode 100644 index 011356e521..0000000000 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terrain/terrain.pxheightfield +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19096597087688692a225c1955f73d22c46354995fca1df8dff107a90c2f17a2 -size 4202594 diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/Environment.xml deleted file mode 100644 index 4ba36f66ae..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/Environment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/GameTokens.xml deleted file mode 100644 index 668a4583bd..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/GameTokens.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/TerrainTexture.xml deleted file mode 100644 index f43df05b22..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/TerrainTexture.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/TimeOfDay.xml deleted file mode 100644 index 456d609b8a..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/TimeOfDay.xml +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/VegetationMap.dat deleted file mode 100644 index dce5631cd0..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/leveldata/VegetationMap.dat +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e6a5435c928079b27796f6b202bbc2623e7e454244ddc099a3cadf33b7cb9e9 -size 63 diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/tags.txt b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/tags.txt deleted file mode 100644 index 0d6c1880e7..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/tags.txt +++ /dev/null @@ -1,12 +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 -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,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/terraintexture.pak b/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/terraintexture.pak deleted file mode 100644 index fe3604a050..0000000000 --- a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/terraintexture.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85 -size 22 diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/Environment.xml deleted file mode 100644 index 4ba36f66ae..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/Environment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/GameTokens.xml deleted file mode 100644 index 668a4583bd..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/GameTokens.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/TerrainTexture.xml deleted file mode 100644 index f43df05b22..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/TerrainTexture.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/TimeOfDay.xml deleted file mode 100644 index 456d609b8a..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/TimeOfDay.xml +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/VegetationMap.dat deleted file mode 100644 index dce5631cd0..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/leveldata/VegetationMap.dat +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e6a5435c928079b27796f6b202bbc2623e7e454244ddc099a3cadf33b7cb9e9 -size 63 diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/tags.txt b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/tags.txt deleted file mode 100644 index 0d6c1880e7..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/tags.txt +++ /dev/null @@ -1,12 +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 -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,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 -0,0,0,0,0,0 diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terrain/terrain.pxheightfield deleted file mode 100644 index 011356e521..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terrain/terrain.pxheightfield +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19096597087688692a225c1955f73d22c46354995fca1df8dff107a90c2f17a2 -size 4202594 diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terraintexture.pak b/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terraintexture.pak deleted file mode 100644 index fe3604a050..0000000000 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/terraintexture.pak +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85 -size 22 diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/C14654881_CharacterController_SwitchLevels.ly b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/CharacterController_SwitchLevels.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/C14654881_CharacterController_SwitchLevels.ly rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/CharacterController_SwitchLevels.ly diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/filelist.xml b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/filelist.xml rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/filelist.xml index 0b20fa2fcf..f4638e7834 100644 --- a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/filelist.xml +++ b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/level.pak b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/level.pak rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/tags.txt b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/tags.txt rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/terraintexture.pak b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/terraintexture.pak rename to AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/C4976227_Collider_NewGroup.ly b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/Collider_AddingNewGroupWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/C4976227_Collider_NewGroup.ly rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/Collider_AddingNewGroupWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/level.pak b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/level.pak rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/tags.txt b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_AddingNewGroupWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/C4982797_Collider_ColliderOffset.ly b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/Collider_ColliderPositionOffset.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/C4982797_Collider_ColliderOffset.ly rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/Collider_ColliderPositionOffset.ly diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/level.pak b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/level.pak rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/tags.txt b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_ColliderPositionOffset/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/C4982798_Collider_ColliderRotationOffset.ly b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/Collider_ColliderRotationOffset.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/C4982798_Collider_ColliderRotationOffset.ly rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/Collider_ColliderRotationOffset.ly diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_full.PNG b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_full.PNG similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_full.PNG rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_full.PNG diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_single.PNG b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_single.PNG similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_single.PNG rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/VisualDocumentation/collider_rotation_single.PNG diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/level.pak b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/level.pak rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/tags.txt b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_ColliderRotationOffset/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/C3510644_Collider_CollisionGroups.ly b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/Collider_CollisionGroupsWorkflow.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/C3510644_Collider_CollisionGroups.ly rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/Collider_CollisionGroupsWorkflow.ly diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/level.pak b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/level.pak rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/tags.txt b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_CollisionGroupsWorkflow/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/C4982593_PhysxCollider_CollisionLayerTest.ly b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/C4982593_PhysxCollider_CollisionLayerTest.ly rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.ly diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/level.pak b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/level.pak rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/tags.txt b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/C4976245_PhysxCollider_CollisionLayerTest.ly b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/Collider_NoneCollisionGroupSameLayerNotCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/C4976245_PhysxCollider_CollisionLayerTest.ly rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/Collider_NoneCollisionGroupSameLayerNotCollide.ly diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/level.pak b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/level.pak rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/tags.txt b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_NoneCollisionGroupSameLayerNotCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/C14861498_ConfirmError_NoPxMesh.ly b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/Collider_PxMeshErrorIfNoMesh.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/C14861498_ConfirmError_NoPxMesh.ly rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/Collider_PxMeshErrorIfNoMesh.ly diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/filelist.xml similarity index 74% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/filelist.xml index 51be290295..5799ca91f9 100644 --- a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/level.pak b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/level.pak rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/level.pak diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/tags.txt b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_PxMeshErrorIfNoMesh/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.ly b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/Collider_SameCollisionGroupDiffLayersCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.ly rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/Collider_SameCollisionGroupDiffLayersCollide.ly diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/level.pak b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/level.pak rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/tags.txt b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupDiffLayersCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/C4976244_Collider_SameGroupSameLayerCollision.ly b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/Collider_SameCollisionGroupSameCustomLayerCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/C4976244_Collider_SameGroupSameLayerCollision.ly rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/Collider_SameCollisionGroupSameCustomLayerCollide.ly diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/level.pak b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/level.pak rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/tags.txt b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameCustomLayerCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/C4976242_Collision_SameCollisionlayerSameCollisiongroup.ly b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/Collider_SameCollisionGroupSameLayerCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/C4976242_Collision_SameCollisionlayerSameCollisiongroup.ly rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/Collider_SameCollisionGroupSameLayerCollide.ly diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/level.pak b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/level.pak rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/tags.txt b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_SameCollisionGroupSameLayerCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/C4982595_Collider_TriggerDisablesCollision.ly b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/Collider_TriggerPassThrough.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/C4982595_Collider_TriggerDisablesCollision.ly rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/Collider_TriggerPassThrough.ly diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/filelist.xml b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/filelist.xml rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/filelist.xml index 19fe8b0f44..34e3bb4651 100644 --- a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/level.pak b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/level.pak rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/level.pak diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/tags.txt b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/tags.txt rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/terraintexture.pak b/AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Collider_TriggerPassThrough/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/C5959760_PhysxForceRegion_PointForceExertion.ly b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/ForceRegion_CapsuleShapedForce.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/C5959760_PhysxForceRegion_PointForceExertion.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/ForceRegion_CapsuleShapedForce.ly diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_CapsuleShapedForce/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.ly b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/ForceRegion_DirectionHasNoAffectOnTotalForce.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/ForceRegion_DirectionHasNoAffectOnTotalForce.ly diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/filelist.xml similarity index 67% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/filelist.xml index d914822ad3..956b208b53 100644 --- a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_DirectionHasNoAffectOnTotalForce/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/C6321601_Force_HighValuesDirectionAxes.ly b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/ForceRegion_HighValuesDirectionAxesWorkWithNoError.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/C6321601_Force_HighValuesDirectionAxes.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/ForceRegion_HighValuesDirectionAxesWorkWithNoError.ly diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/filelist.xml similarity index 68% rename from AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/filelist.xml index b1bd56c7c8..69b0c13395 100644 --- a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6321601_Force_HighValuesDirectionAxes/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_HighValuesDirectionAxesWorkWithNoError/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/C5959763_ForceRegion_ForceRegionImpulsesCube.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/ForceRegion_ImpulsesBoxShapedRigidBody.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/C5959763_ForceRegion_ForceRegionImpulsesCube.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/ForceRegion_ImpulsesBoxShapedRigidBody.ly diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesBoxShapedRigidBody/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/C5959764_ForceRegion_ForceRegionImpulsesCapsule.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/ForceRegion_ImpulsesCapsuleShapedRigidBody.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/C5959764_ForceRegion_ForceRegionImpulsesCapsule.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/ForceRegion_ImpulsesCapsuleShapedRigidBody.ly diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesCapsuleShapedRigidBody/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/ForceRegion_ImpulsesPxMeshShapedRigidBody.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/ForceRegion_ImpulsesPxMeshShapedRigidBody.ly new file mode 100644 index 0000000000..54d65f5de9 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/ForceRegion_ImpulsesPxMeshShapedRigidBody.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0193686ea802c755241711f139ab82b50c4d3bf71d3f5d2f743579417af6a05e +size 6192 diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/PhysXSedan/_dev_Sedan_r0-b.fbx b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/PhysXSedan/_dev_Sedan_r0-b.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/PhysXSedan/_dev_Sedan_r0-b.fbx rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/PhysXSedan/_dev_Sedan_r0-b.fbx diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/PhysXSedan/_dev_sedan_r0-b.mtl b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/PhysXSedan/_dev_sedan_r0-b.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/PhysXSedan/_dev_sedan_r0-b.mtl rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/PhysXSedan/_dev_sedan_r0-b.mtl diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/filelist.xml index 28dafb7cda..f3ee83bec8 100644 --- a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ImpulsesPxMeshShapedRigidBody/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/C5932042_PhysxForceRegion_LinearDamping.ly b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/ForceRegion_LinearDampingForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/C5932042_PhysxForceRegion_LinearDamping.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/ForceRegion_LinearDampingForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_LinearDampingForceOnRigidBodies/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.ly b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/ForceRegion_LocalSpaceForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/ForceRegion_LocalSpaceForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_LocalSpaceForceOnRigidBodies/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/C5968760_ForceRegion_CheckNetForceChange.ly b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/ForceRegion_MovingForceRegionChangesNetForce.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/C5968760_ForceRegion_CheckNetForceChange.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/ForceRegion_MovingForceRegionChangesNetForce.ly diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/level.pak diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_MovingForceRegionChangesNetForce/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.ly b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/ForceRegion_MultipleComponentsCombineForces.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/ForceRegion_MultipleComponentsCombineForces.ly diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/filelist.xml similarity index 68% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/filelist.xml index 8929e58de5..fd69fd64ff 100644 --- a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleComponentsCombineForces/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/C5959810_ForceRegion_ForceRegionCombinesForces.ly b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/ForceRegion_MultipleForcesInSameComponentCombineForces.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/C5959810_ForceRegion_ForceRegionCombinesForces.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/ForceRegion_MultipleForcesInSameComponentCombineForces.ly diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_MultipleForcesInSameComponentCombineForces/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/C15845879_ForceRegion_HighLinearDampingForce.ly b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/ForceRegion_NoQuiverOnHighLinearDampingForce.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/C15845879_ForceRegion_HighLinearDampingForce.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/ForceRegion_NoQuiverOnHighLinearDampingForce.ly diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/filelist.xml similarity index 74% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/filelist.xml index 039f578577..fc04d0fb26 100644 --- a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevels/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_NoQuiverOnHighLinearDampingForce/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/C6090547_ForceRegion_ParentChildForceRegions.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/ForceRegion_ParentChildForcesCombineForces.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/C6090547_ForceRegion_ParentChildForceRegions.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/ForceRegion_ParentChildForcesCombineForces.ly diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654881_CharacterController_SwitchLevelsEmpty/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ParentChildForcesCombineForces/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies.ly b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/ForceRegion_PointForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/ForceRegion_PointForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/PhysX_ForceRegion_PointForceOnRigidBodies.ly b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/PhysX_ForceRegion_PointForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/PhysX_ForceRegion_PointForceOnRigidBodies.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/PhysX_ForceRegion_PointForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_PointForceOnRigidBodies/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/C5959808_ForceRegion_PositionOffset.ly b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/ForceRegion_PositionOffset.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/C5959808_ForceRegion_PositionOffset.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/ForceRegion_PositionOffset.ly diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_PositionOffset/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/ForceRegion_ExertsPointForce_Sedan.ly b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/ForceRegion_ExertsPointForce_Sedan.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/ForceRegion_ExertsPointForce_Sedan.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/ForceRegion_ExertsPointForce_Sedan.ly diff --git a/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/ForceRegion_PxMeshShapedForce.ly b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/ForceRegion_PxMeshShapedForce.ly new file mode 100644 index 0000000000..8748ebf49c --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/ForceRegion_PxMeshShapedForce.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcf3f138ec259aca048d631dc030ed34c4543eb1806cbe4cd9d8feb4cfb1765c +size 6129 diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/PhysXSedan/_dev_Sedan_r0-b.fbx b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/PhysXSedan/_dev_Sedan_r0-b.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/PhysXSedan/_dev_Sedan_r0-b.fbx rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/PhysXSedan/_dev_Sedan_r0-b.fbx diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/PhysXSedan/_dev_sedan_r0-b.mtl b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/PhysXSedan/_dev_sedan_r0-b.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/PhysXSedan/_dev_sedan_r0-b.mtl rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/PhysXSedan/_dev_sedan_r0-b.mtl diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_PxMeshShapedForce/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/C5959809_ForceRegion_RotationalOffset.ly b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/ForceRegion_RotationalOffset.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/C5959809_ForceRegion_RotationalOffset.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/ForceRegion_RotationalOffset.ly diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14861498_ConfirmError_NoPxMesh/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_RotationalOffset/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/C5932043_ForceRegion_SimpleDragOnRigidBody.ly b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/ForceRegion_SimpleDragForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/C5932043_ForceRegion_SimpleDragOnRigidBody.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/ForceRegion_SimpleDragForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/filelist.xml index 808b695610..5c46ca6e4a 100644 --- a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SimpleDragForceOnRigidBodies/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/ForceRegionEntity.slice b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/ForceRegionEntity.slice similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/ForceRegionEntity.slice rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/ForceRegionEntity.slice diff --git a/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/ForceRegion_SliceFileInstantiates.ly b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/ForceRegion_SliceFileInstantiates.ly new file mode 100644 index 0000000000..0bbaa92ae0 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/ForceRegion_SliceFileInstantiates.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4e90b86d7f6790dc14ae86e62063dacd0fab23343653b1bd270924bfdce9730 +size 5943 diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SliceFileInstantiates/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/C12905527_ForceRegion_MagnitudeDeviation.ly b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/ForceRegion_SmallMagnitudeDeviationOnLargeForces.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/C12905527_ForceRegion_MagnitudeDeviation.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/ForceRegion_SmallMagnitudeDeviationOnLargeForces.ly diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12905527_ForceRegion_MagnitudeDeviation/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SmallMagnitudeDeviationOnLargeForces/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/C5959759_RigidBody_ForceRegionSpherePointForce.ly b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/ForceRegion_SphereShapedForce.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/C5959759_RigidBody_ForceRegionSpherePointForce.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/ForceRegion_SphereShapedForce.ly diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/filelist.xml index 6088bc2406..10ed54f776 100644 --- a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SphereShapedForce/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/C5932045_ForceRegion_Spline.ly b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/ForceRegion_SplineForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/C5932045_ForceRegion_Spline.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/ForceRegion_SplineForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/level.pak diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineForceOnRigidBodies/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/C12868580_ForceRegion_SplineModifiedTransform.ly b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/ForceRegion_SplineRegionWithModifiedTransform.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/C12868580_ForceRegion_SplineModifiedTransform.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/ForceRegion_SplineRegionWithModifiedTransform.ly diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/filelist.xml similarity index 74% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/filelist.xml index 4fe64b8489..8de5b336e6 100644 --- a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12868580_ForceRegion_SplineModifiedTransform/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/level.pak diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_SplineRegionWithModifiedTransform/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/C5932040_ForceRegion_CubeExertsWorldForce.ly b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/ForceRegion_WorldSpaceForceOnRigidBodies.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/C5932040_ForceRegion_CubeExertsWorldForce.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/ForceRegion_WorldSpaceForceOnRigidBodies.ly diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_WorldSpaceForceOnRigidBodies/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/C6090552_ForceRegion_LinearDampingNegative.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/ForceRegion_ZeroLinearDampingDoesNothing.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/C6090552_ForceRegion_LinearDampingNegative.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/ForceRegion_ZeroLinearDampingDoesNothing.ly diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/filelist.xml index a34f1e9cdf..dcf851c09f 100644 --- a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLinearDampingDoesNothing/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/ForceRegion_ZeroLocalSpaceForceDoesNothing.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/ForceRegion_ZeroLocalSpaceForceDoesNothing.ly new file mode 100644 index 0000000000..1cb6ea2363 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/ForceRegion_ZeroLocalSpaceForceDoesNothing.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3167926eac3e980971f5bb8eb5747e363b2c24b94a2e25dac9b505004c78863c +size 7216 diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/filelist.xml index c0fa1227da..3e19435518 100644 --- a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroLocalSpaceForceDoesNothing/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/ForceRegion_ZeroPointForceDoesNothing.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/ForceRegion_ZeroPointForceDoesNothing.ly new file mode 100644 index 0000000000..56ad1ce7a4 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/ForceRegion_ZeroPointForceDoesNothing.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9166e3bf96fd95997389f51ec3ce5a9765c563a04134143062b555a7d4260cdd +size 7398 diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/filelist.xml index c0fa1227da..3e19435518 100644 --- a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroPointForceDoesNothing/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/ForceRegion_ZeroSimpleDragForceDoesNothing.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/ForceRegion_ZeroSimpleDragForceDoesNothing.ly diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/filelist.xml similarity index 68% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/filelist.xml index 1ec39b89c2..87165c13e4 100644 --- a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSimpleDragForceDoesNothing/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/C6090555_ForceRegion_SplineFollowOnRigidBodies.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/ForceRegion_ZeroSplineForceDoesNothing.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/C6090555_ForceRegion_SplineFollowOnRigidBodies.ly rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/ForceRegion_ZeroSplineForceDoesNothing.ly diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/level.pak diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroSplineForceDoesNothing/tags.txt diff --git a/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/ForceRegion_ZeroWorldSpaceForceDoesNothing.ly b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/ForceRegion_ZeroWorldSpaceForceDoesNothing.ly new file mode 100644 index 0000000000..f03a3ff606 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/ForceRegion_ZeroWorldSpaceForceDoesNothing.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1796f237a8a9500bf58cd89820a39dac5b94108302abd8eda54067abba46508e +size 7203 diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/filelist.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/filelist.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/filelist.xml index c0fa1227da..3e19435518 100644 --- a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/level.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/level.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/tags.txt b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/terraintexture.pak b/AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ForceRegion_ZeroWorldSpaceForceDoesNothing/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/C18243588_Joints_Ball2BodiesConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/Joints_Ball2BodiesConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/C18243588_Joints_Ball2BodiesConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/Joints_Ball2BodiesConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/filelist.xml rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/filelist.xml index fa5a7aa319..d0960f8154 100644 --- a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/tags.txt b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_Ball2BodiesConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/C18243592_Joints_BallBreakable.ly b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/Joints_BallBreakable.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/C18243592_Joints_BallBreakable.ly rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/Joints_BallBreakable.ly diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/filelist.xml rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/filelist.xml index fa5a7aa319..d0960f8154 100644 --- a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/level.pak b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/level.pak rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithOutTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/tags.txt b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_BallBreakable/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_BallBreakable/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/C18243591_Joints_BallLeadFollowerCollide.ly b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/Joints_BallLeadFollowerCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/C18243591_Joints_BallLeadFollowerCollide.ly rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/Joints_BallLeadFollowerCollide.ly diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/filelist.xml rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/filelist.xml index fa5a7aa319..d0960f8154 100644 --- a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/level.pak b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/level.pak rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/tags.txt b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_BallLeadFollowerCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/C18243590_Joints_BallNoLimitsConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/Joints_BallNoLimitsConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/C18243590_Joints_BallNoLimitsConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/Joints_BallNoLimitsConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/filelist.xml rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/filelist.xml index fa5a7aa319..d0960f8154 100644 --- a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/tags.txt b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_BallNoLimitsConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/C18243589_Joints_BallSoftLimitsConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/Joints_BallSoftLimitsConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/C18243589_Joints_BallSoftLimitsConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/Joints_BallSoftLimitsConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/tags.txt b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_BallSoftLimitsConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/C18243580_Joints_Fixed2BodiesConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/Joints_Fixed2BodiesConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/C18243580_Joints_Fixed2BodiesConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/Joints_Fixed2BodiesConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/LevelData/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/tags.txt b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_Fixed2BodiesConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/C18243581_Joints_FixedBreakable.ly b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/Joints_FixedBreakable.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/C18243581_Joints_FixedBreakable.ly rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/Joints_FixedBreakable.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/level.pak b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/level.pak rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/tags.txt b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_FixedBreakable/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_FixedBreakable/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/C18243582_Joints_FixedLeadFollowerCollide.ly b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/Joints_FixedLeadFollowerCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/C18243582_Joints_FixedLeadFollowerCollide.ly rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/Joints_FixedLeadFollowerCollide.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/level.pak b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/level.pak rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/tags.txt b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_FixedLeadFollowerCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/C18243593_Joints_GlobalFrameConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/Joints_GlobalFrameConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/C18243593_Joints_GlobalFrameConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/Joints_GlobalFrameConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/filelist.xml rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/filelist.xml index 1d13b9c30a..28d8cdb695 100644 --- a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/tags.txt b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_GlobalFrameConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/C18243583_Joints_Hinge2BodiesConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/Joints_Hinge2BodiesConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/C18243583_Joints_Hinge2BodiesConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/Joints_Hinge2BodiesConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243580_Joints_Fixed2BodiesConstrained/LevelData/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/tags.txt b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_Hinge2BodiesConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/C18243587_Joints_HingeBreakable.ly b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/Joints_HingeBreakable.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/C18243587_Joints_HingeBreakable.ly rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/Joints_HingeBreakable.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/level.pak diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243581_Joints_FixedBreakable/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/tags.txt b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_HingeBreakable/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeBreakable/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/C18243586_Joints_HingeLeadFollowerCollide.ly b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/Joints_HingeLeadFollowerCollide.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/C18243586_Joints_HingeLeadFollowerCollide.ly rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/Joints_HingeLeadFollowerCollide.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/level.pak b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/level.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/level.pak diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243582_Joints_FixedLeadFollowerCollide/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/tags.txt b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeLeadFollowerCollide/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/C18243585_Joints_HingeNoLimitsConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/Joints_HingeNoLimitsConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/C18243585_Joints_HingeNoLimitsConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/Joints_HingeNoLimitsConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/level.pak b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/level.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243583_Joints_Hinge2BodiesConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/tags.txt b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeNoLimitsConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/C18243584_Joints_HingeSoftLimitsConstrained.ly b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/Joints_HingeSoftLimitsConstrained.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/C18243584_Joints_HingeSoftLimitsConstrained.ly rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/Joints_HingeSoftLimitsConstrained.ly diff --git a/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/filelist.xml b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/filelist.xml new file mode 100644 index 0000000000..d0960f8154 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/filelist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/level.pak b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/level.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243584_Joints_HingeSoftLimitsConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/tags.txt b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/tags.txt rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terraintexture.pak b/AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Joints_HingeSoftLimitsConstrained/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/C4925577_PhysXMaterials_MaterialAssignedToTerrain.ly b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/Material_CanBeAssignedToTerrain.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/C4925577_PhysXMaterials_MaterialAssignedToTerrain.ly rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/Material_CanBeAssignedToTerrain.ly diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/filelist.xml similarity index 68% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/filelist.xml index 156e75bb88..2694b3bc25 100644 --- a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/level.pak b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/level.pak rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/materials/material.physmaterial b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/materials/material.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/materials/material.physmaterial rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/materials/material.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/tags.txt b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/tags.txt rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_CanBeAssignedToTerrain/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.ly b/AutomatedTesting/Levels/Physics/Material_CharacterController/Material_CharacterController.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.ly rename to AutomatedTesting/Levels/Physics/Material_CharacterController/Material_CharacterController.ly diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/filelist.xml b/AutomatedTesting/Levels/Physics/Material_CharacterController/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_CharacterController/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/level.pak b/AutomatedTesting/Levels/Physics/Material_CharacterController/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/level.pak rename to AutomatedTesting/Levels/Physics/Material_CharacterController/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243585_Joints_HingeNoLimitsConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_CharacterController/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/library.physmaterial b/AutomatedTesting/Levels/Physics/Material_CharacterController/library.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/library.physmaterial rename to AutomatedTesting/Levels/Physics/Material_CharacterController/library.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/tags.txt b/AutomatedTesting/Levels/Physics/Material_CharacterController/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/tags.txt rename to AutomatedTesting/Levels/Physics/Material_CharacterController/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_CharacterController/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_CharacterController/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/C15308221_Material_ComponentsInSyncWithLibrary.ly b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/Material_ComponentsInSyncWithLibrary.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/C15308221_Material_ComponentsInSyncWithLibrary.ly rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/Material_ComponentsInSyncWithLibrary.ly diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/c15308221_material_componentsinsyncwithlibrary.physmaterial b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/c15308221_material_componentsinsyncwithlibrary.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/c15308221_material_componentsinsyncwithlibrary.physmaterial rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/c15308221_material_componentsinsyncwithlibrary.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/filelist.xml b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/filelist.xml index 227703d8a3..ed06afdb26 100644 --- a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/level.pak b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/level.pak rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243586_Joints_HingeLeadFollowerCollide/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/AnimGraphPhysX.animgraph b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/AnimGraphPhysX.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/AnimGraphPhysX.animgraph rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/AnimGraphPhysX.animgraph diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/Red.tif b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/Red.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/Red.tif rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/Red.tif diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/RinLocomotion.motionset b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/RinLocomotion.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/RinLocomotion.motionset rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/RinLocomotion.motionset diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/modified.mtl b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/modified.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/modified.mtl rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/modified.mtl diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/tags.txt b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/tags.txt rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_ComponentsInSyncWithLibrary/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/Blue.tif b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/Blue.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/Blue.tif rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/Blue.tif diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/C15096735_Materials_DefaultLibraryConsistency.ly b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/Material_DefaultLibraryConsistentOnAllFeatures.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/C15096735_Materials_DefaultLibraryConsistency.ly rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/Material_DefaultLibraryConsistentOnAllFeatures.ly diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/Red.tif b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/Red.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/Red.tif rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/Red.tif diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/c15096735_materials_defaultlibraryconsistency.physmaterial b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/c15096735_materials_defaultlibraryconsistency.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/c15096735_materials_defaultlibraryconsistency.physmaterial rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/c15096735_materials_defaultlibraryconsistency.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/concrete.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/concrete.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/concrete.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/concrete.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/cowboy.emfxworkspace b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/cowboy.emfxworkspace similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/cowboy.emfxworkspace rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/cowboy.emfxworkspace diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/filelist.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/level.pak b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/level.pak rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/concrete_animgraph.animgraph b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/concrete_animgraph.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/concrete_animgraph.animgraph rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/concrete_animgraph.animgraph diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/concrete_motionset.motionset b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/concrete_motionset.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/concrete_motionset.motionset rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/concrete_motionset.motionset diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_concrete.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_concrete.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_concrete.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_concrete.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/concrete/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/concrete/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_rubber.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_rubber.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_rubber.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_rubber.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rubber_animgraph.animgraph b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rubber_animgraph.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rubber_animgraph.animgraph rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rubber_animgraph.animgraph diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rubber_motionset.motionset b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rubber_motionset.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/ragdoll/rubber/rubber_motionset.motionset rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/ragdoll/rubber/rubber_motionset.motionset diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/rubber.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/rubber.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/rubber.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/rubber.mtl diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/tags.txt b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/tags.txt rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096735_Materials_DefaultLibraryConsistency/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryConsistentOnAllFeatures/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/0.ly b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/0.ly new file mode 100644 index 0000000000..04e8722b8b --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/0.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f81cca02ee6ba84bee2bdf5c37541cea3386de8eeb31ffcd05d2cc01eaf3d8e +size 6365 diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/filelist.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/filelist.xml similarity index 67% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/filelist.xml index a550412634..7a2989c360 100644 --- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/0/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/level.pak b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/level.pak new file mode 100644 index 0000000000..b03cb20cb2 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/level.pak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fec01136df2b36809f16d647b0625057c956e6073b21626d8a773d1dcc8a5bd3 +size 39345 diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Heightmap.dat new file mode 100644 index 0000000000..2a07219a0b --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/Heightmap.dat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af2e9ed3a37f92768829bce5e53cfca8fc38814eb96f37fa0430925987178cef +size 17407562 diff --git a/AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243587_Joints_HingeBreakable/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TimeOfDay.xml similarity index 99% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TimeOfDay.xml index 456d609b8a..c5b404318e 100644 --- a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/TimeOfDay.xml +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/TimeOfDay.xml @@ -236,8 +236,8 @@ - - + + diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/tags.txt b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/tags.txt rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/tags.txt diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/cover.ctc new file mode 100644 index 0000000000..5c869c6533 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/cover.ctc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c +size 1310792 diff --git a/AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308217_NoCrash_LevelSwitchWithTerrain/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/0/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/1.ly b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/1.ly new file mode 100644 index 0000000000..c193edc22e --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/1.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7fe6f5392d56fdc7f94d405d820ea9d6da084800d3abb32fe2d30ceaa3cdfb9 +size 6396 diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/filelist.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/filelist.xml similarity index 67% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/filelist.xml index a8e9e19b81..7a2989c360 100644 --- a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/1/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/level.pak b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/level.pak new file mode 100644 index 0000000000..b03cb20cb2 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/level.pak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fec01136df2b36809f16d647b0625057c956e6073b21626d8a773d1dcc8a5bd3 +size 39345 diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Heightmap.dat b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Heightmap.dat new file mode 100644 index 0000000000..2a07219a0b --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/Heightmap.dat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af2e9ed3a37f92768829bce5e53cfca8fc38814eb96f37fa0430925987178cef +size 17407562 diff --git a/AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243588_Joints_Ball2BodiesConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TimeOfDay.xml similarity index 99% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TimeOfDay.xml index 456d609b8a..c5b404318e 100644 --- a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/TimeOfDay.xml +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/TimeOfDay.xml @@ -236,8 +236,8 @@ - - + + diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/tags.txt b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/tags.txt rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/tags.txt diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/cover.ctc b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/cover.ctc new file mode 100644 index 0000000000..5c869c6533 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/cover.ctc @@ -0,0 +1,3 @@ +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_0/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/1/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/_last_run_before_change_data.txt b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/_last_run_before_change_data.txt new file mode 100644 index 0000000000..0533215fc1 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/_last_run_before_change_data.txt @@ -0,0 +1,4 @@ +[0.0, 0.0, 2.3999319076538086] +[0.0, 0.0, 2.3999319076538086] +True +True diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/c15096732_material_defaultlibraryupdatedacrosslevels_b.physmaterial b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/after.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/c15096732_material_defaultlibraryupdatedacrosslevels_b.physmaterial rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/after.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/c15096732_material_defaultlibraryupdatedacrosslevels_a.physmaterial b/AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/before.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels/c15096732_material_defaultlibraryupdatedacrosslevels_a.physmaterial rename to AutomatedTesting/Levels/Physics/Material_DefaultLibraryUpdatedAcrossLevels/before.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase1.layer b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase1.layer similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase1.layer rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase1.layer diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase2.layer b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase2.layer similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase2.layer rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase2.layer diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase3.layer b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase3.layer similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase3.layer rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase3.layer diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase4.layer b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase4.layer similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/Layers/phase4.layer rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Layers/phase4.layer diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/C15096737_Materials_DefaultMaterialLibraryChanges.ly b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Material_DefaultMaterialLibraryChangesWork.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/C15096737_Materials_DefaultMaterialLibraryChanges.ly rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/Material_DefaultMaterialLibraryChangesWork.ly diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/all_ones_1.physmaterial b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/all_ones_1.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/all_ones_1.physmaterial rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/all_ones_1.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/custom_motionset.motionset b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/custom_motionset.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/custom_motionset.motionset rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/custom_motionset.motionset diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/filelist.xml b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/level.pak b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/level.pak rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15845879_ForceRegion_HighLinearDampingForce/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243589_Joints_BallSoftLimitsConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_material_1.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_material_1.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_material_1.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_material_1.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_material_2.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_material_2.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_material_2.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_material_2.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_terrain_mat_blue.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_terrain_mat_blue.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_terrain_mat_blue.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_terrain_mat_blue.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_terrain_mat_red.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_terrain_mat_red.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/custom_terrain_mat_red.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/custom_terrain_mat_red.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/material_terrain_default.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/material_terrain_default.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/materials/material_terrain_default.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/materials/material_terrain_default.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_physics.animgraph b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_physics.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_physics.animgraph rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_physics.animgraph diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo - Copy.fbx b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo - Copy.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo - Copy.fbx rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo - Copy.fbx diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo - copy.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo - copy.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo - copy.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo - copy.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo - copy.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo - copy.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo - copy.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo - copy.mtl diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/tags.txt b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/tags.txt rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/ws.emfxworkspace b/AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/ws.emfxworkspace similarity index 100% rename from AutomatedTesting/Levels/Physics/C15096737_Materials_DefaultMaterialLibraryChanges/ws.emfxworkspace rename to AutomatedTesting/Levels/Physics/Material_DefaultMaterialLibraryChangesWork/ws.emfxworkspace diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/C4044459_Material_DynamicFriction.ly b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/Material_DynamicFriction.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/C4044459_Material_DynamicFriction.ly rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/Material_DynamicFriction.ly diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/dynamic_friction.physmaterial b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/dynamic_friction.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/dynamic_friction.physmaterial rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/dynamic_friction.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/filelist.xml b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/level.pak b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/level.pak rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243590_Joints_BallNoLimitsConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/tags.txt b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_DynamicFriction/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_DynamicFriction/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/C4044694_Material_EmptyLibraryUsesDefault.ly b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/Material_EmptyLibraryUsesDefault.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/C4044694_Material_EmptyLibraryUsesDefault.ly rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/Material_EmptyLibraryUsesDefault.ly diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/c4044694_material_emptylibraryusesdefault.physmaterial b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/c4044694_material_emptylibraryusesdefault.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/c4044694_material_emptylibraryusesdefault.physmaterial rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/c4044694_material_emptylibraryusesdefault.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/filelist.xml b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/filelist.xml index ff21651bd9..6452f4bbe1 100644 --- a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/level.pak b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/level.pak rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/tags.txt b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_EmptyLibraryUsesDefault/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/C4044456_Material_FrictionCombine.ly b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/Material_FrictionCombine.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/C4044456_Material_FrictionCombine.ly rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/Material_FrictionCombine.ly diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/filelist.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/friction_combine.physmaterial b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/friction_combine.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/friction_combine.physmaterial rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/friction_combine.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/level.pak b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/level.pak rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243591_Joints_BallLeadFollowerCollide/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/tags.txt b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/tags.txt rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_FrictionCombine/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_FrictionCombine/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/C18977601_Material_FrictionCombinePriority.ly b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/Material_FrictionCombinePriorityOrder.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/C18977601_Material_FrictionCombinePriority.ly rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/Material_FrictionCombinePriorityOrder.ly diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/filelist.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/friction_combine.physmaterial b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/friction_combine.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/friction_combine.physmaterial rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/friction_combine.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/level.pak b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/level.pak rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243592_Joints_BallBreakable/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/tags.txt b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/tags.txt rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_FrictionCombinePriorityOrder/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/C4044455_Material_LibraryChangesInstantly_restore.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/C4044455_Material_LibraryChangesInstantly_restore.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/C4044455_Material_LibraryChangesInstantly_restore.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/C4044455_Material_LibraryChangesInstantly_restore.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/C4044455_Material_LibraryChangesInstantly.ly b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/Material_LibraryChangesReflectInstantly.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/C4044455_Material_LibraryChangesInstantly.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/Material_LibraryChangesReflectInstantly.ly diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/c4044455_material_librarychangesinstantly.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/c4044455_material_librarychangesinstantly.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/c4044455_material_librarychangesinstantly.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/c4044455_material_librarychangesinstantly.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18243593_Joints_GlobalFrameConstrained/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryChangesReflectInstantly/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/C15563573_Material_AddModifyDeleteOnCharacterController.ly b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/Material_LibraryCrudOperationsReflectOnCharacterController.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/C15563573_Material_AddModifyDeleteOnCharacterController.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/Material_LibraryCrudOperationsReflectOnCharacterController.ly diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/c15563573_material_addmodifydeleteoncharactercontroller.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/c15563573_material_addmodifydeleteoncharactercontroller.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/c15563573_material_addmodifydeleteoncharactercontroller.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/c15563573_material_addmodifydeleteoncharactercontroller.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18977601_Material_FrictionCombinePriority/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/testmaterials.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/testmaterials.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15563573_Material_AddModifyDeleteOnCharacterController/testmaterials.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCharacterController/testmaterials.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/C4888315_Material_AddModifyDeleteOnCollider.ly b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/Material_LibraryCrudOperationsReflectOnCollider.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/C4888315_Material_AddModifyDeleteOnCollider.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/Material_LibraryCrudOperationsReflectOnCollider.ly diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/c4888315_material_addmodifydeleteoncollider.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/c4888315_material_addmodifydeleteoncollider.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/c4888315_material_addmodifydeleteoncollider.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/c4888315_material_addmodifydeleteoncollider.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/filelist.xml index 298c048506..a6bfb1e285 100644 --- a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnCollider/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/C4925582_Material_AddModifyDeleteOnRagdollBones.ly b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/Material_LibraryCrudOperationsReflectOnRagdollBones.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/C4925582_Material_AddModifyDeleteOnRagdollBones.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/Material_LibraryCrudOperationsReflectOnRagdollBones.ly diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/filelist.xml index 7fb4108fe3..cd5aabef1b 100644 --- a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/AnimGraphPhysX.animgraph b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/AnimGraphPhysX.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/AnimGraphPhysX.animgraph rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/AnimGraphPhysX.animgraph diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/Blue.tif b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/Blue.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/Blue.tif rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/Blue.tif diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/RinLocomotion.motionset b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/RinLocomotion.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/RinLocomotion.motionset rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/RinLocomotion.motionset diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/default.mtl b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/default.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/default.mtl rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/default.mtl diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_physics.animgraph b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_physics.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_physics.animgraph rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_physics.animgraph diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C15308221_Material_ComponentsInSyncWithLibrary/ragdoll_modified/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/AnimGraphPhysX.animgraph b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/AnimGraphPhysX.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/AnimGraphPhysX.animgraph rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/AnimGraphPhysX.animgraph diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/Red.tif b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/Red.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/Red.tif rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/Red.tif diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/RinLocomotion.motionset b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/RinLocomotion.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/RinLocomotion.motionset rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/RinLocomotion.motionset diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/modified.mtl b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/modified.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/modified.mtl rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/modified.mtl diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdollbones.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdollbones.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdollbones.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/ragdollbones.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnRagdollBones/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/C4925579_Material_AddModifyDeleteOnTerrain.ly b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/Material_LibraryCrudOperationsReflectOnTerrain.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/C4925579_Material_AddModifyDeleteOnTerrain.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/Material_LibraryCrudOperationsReflectOnTerrain.ly diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/c4925579_material_addmodifydeleteonterrain.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/c4925579_material_addmodifydeleteonterrain.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/c4925579_material_addmodifydeleteonterrain.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/c4925579_material_addmodifydeleteonterrain.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/filelist.xml index daa57f3091..993036bdef 100644 --- a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/modified.mtl b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/modified.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/modified.mtl rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/modified.mtl diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryCrudOperationsReflectOnTerrain/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/C15425935_Material_LibraryUpdatedAcrossLevels_0.ly b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/C15425935_Material_LibraryUpdatedAcrossLevels_0.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/C15425935_Material_LibraryUpdatedAcrossLevels_0.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/C15425935_Material_LibraryUpdatedAcrossLevels_0.ly diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/filelist.xml index 7fa20195df..9a78b1bfd5 100644 --- a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/LevelData/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_0/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/C15425935_Material_LibraryUpdatedAcrossLevels_1.ly b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/C15425935_Material_LibraryUpdatedAcrossLevels_1.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/C15425935_Material_LibraryUpdatedAcrossLevels_1.ly rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/C15425935_Material_LibraryUpdatedAcrossLevels_1.ly diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/filelist.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/filelist.xml index 7fa20195df..9a78b1bfd5 100644 --- a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/level.pak b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/level.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044694_Material_EmptyLibraryUsesDefault/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/tags.txt b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/tags.txt rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels_1/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels.physmaterial b/AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/Material_LibraryUpdatedAcrossLevels.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425935_Material_LibraryUpdatedAcrossLevels/C15425935_Material_LibraryUpdatedAcrossLevels.physmaterial rename to AutomatedTesting/Levels/Physics/Material_LibraryUpdatedAcrossLevels/Material_LibraryUpdatedAcrossLevels.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/C5296614_PhysXMaterial_ColliderShape.ly b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/Material_NoEffectIfNoColliderShape.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/C5296614_PhysXMaterial_ColliderShape.ly rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/Material_NoEffectIfNoColliderShape.ly diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/filelist.xml b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/filelist.xml similarity index 72% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/filelist.xml index 318f99aa25..d4e0202e8a 100644 --- a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/level.pak b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/level.pak rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044455_Material_LibraryChangesInstantly/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/tags.txt b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/tags.txt rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_NoEffectIfNoColliderShape/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/C4044697_Material_PerfaceMaterialValidation.ly b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/Material_PerFaceMaterialGetsCorrectMaterial.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/C4044697_Material_PerfaceMaterialValidation.ly rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/Material_PerFaceMaterialGetsCorrectMaterial.ly diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/filelist.xml b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/level.pak b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/level.pak rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044456_Material_FrictionCombine/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/tags.txt b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/tags.txt rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test.fbx b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test.fbx rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test.fbx diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test.mtl b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test.mtl rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test.mtl diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test_library.physmaterial b/AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test_library.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/test_library.physmaterial rename to AutomatedTesting/Levels/Physics/Material_PerFaceMaterialGetsCorrectMaterial/test_library.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/C4925580_Material_RagdollBonesMaterial.ly b/AutomatedTesting/Levels/Physics/Material_RagdollBones/Material_RagdollBones.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/C4925580_Material_RagdollBonesMaterial.ly rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/Material_RagdollBones.ly diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/c4925580_material_ragdollbonesmaterial.physmaterial b/AutomatedTesting/Levels/Physics/Material_RagdollBones/c4925580_material_ragdollbonesmaterial.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/c4925580_material_ragdollbonesmaterial.physmaterial rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/c4925580_material_ragdollbonesmaterial.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/filelist.xml b/AutomatedTesting/Levels/Physics/Material_RagdollBones/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/filelist.xml index 7fb4108fe3..cd5aabef1b 100644 --- a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Material_RagdollBones/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/level.pak b/AutomatedTesting/Levels/Physics/Material_RagdollBones/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/level.pak rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925577_PhysXMaterials_MaterialAssignedToTerrain/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/AnimGraphPhysX.animgraph b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/AnimGraphPhysX.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/AnimGraphPhysX.animgraph rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/AnimGraphPhysX.animgraph diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/Blue.tif b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/Blue.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/Blue.tif rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/Blue.tif diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/RinLocomotion.motionset b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/RinLocomotion.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/RinLocomotion.motionset rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/RinLocomotion.motionset diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/concrete.mtl b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/concrete.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/concrete.mtl rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/concrete.mtl diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_physics.animgraph b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_physics.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_physics.animgraph rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_physics.animgraph diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_concrete/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_concrete/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/AnimGraphPhysX.animgraph b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/AnimGraphPhysX.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/AnimGraphPhysX.animgraph rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/AnimGraphPhysX.animgraph diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/Red.tif b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/Red.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/Red.tif rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/Red.tif diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/RinLocomotion.motionset b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/RinLocomotion.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/RinLocomotion.motionset rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/RinLocomotion.motionset diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rubber.mtl b/AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rubber.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/ragdoll_rubber/rubber.mtl rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/ragdoll_rubber/rubber.mtl diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/tags.txt b/AutomatedTesting/Levels/Physics/Material_RagdollBones/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/tags.txt rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Material_RagdollBones/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_RagdollBones/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_RagdollBones/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/C4044461_Material_Restitution.ly b/AutomatedTesting/Levels/Physics/Material_Restitution/Material_Restitution.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/C4044461_Material_Restitution.ly rename to AutomatedTesting/Levels/Physics/Material_Restitution/Material_Restitution.ly diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/filelist.xml b/AutomatedTesting/Levels/Physics/Material_Restitution/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_Restitution/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/level.pak b/AutomatedTesting/Levels/Physics/Material_Restitution/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/level.pak rename to AutomatedTesting/Levels/Physics/Material_Restitution/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925579_Material_AddModifyDeleteOnTerrain/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_Restitution/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/restitution.physmaterial b/AutomatedTesting/Levels/Physics/Material_Restitution/restitution.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/restitution.physmaterial rename to AutomatedTesting/Levels/Physics/Material_Restitution/restitution.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/tags.txt b/AutomatedTesting/Levels/Physics/Material_Restitution/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/tags.txt rename to AutomatedTesting/Levels/Physics/Material_Restitution/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_Restitution/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_Restitution/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/C4044457_Material_RestitutionCombine.ly b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/Material_RestitutionCombine.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/C4044457_Material_RestitutionCombine.ly rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/Material_RestitutionCombine.ly diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/filelist.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/level.pak b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/level.pak rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925580_Material_RagdollBonesMaterial/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044459_Material_DynamicFriction/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/restitution_combine.physmaterial b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/restitution_combine.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044457_Material_RestitutionCombine/restitution_combine.physmaterial rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/restitution_combine.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/tags.txt b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/tags.txt rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_RestitutionCombine/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombine/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/C18981526_Material_RestitutionCombinePriority.ly b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/Material_RestitutionCombinePriorityOrder.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/C18981526_Material_RestitutionCombinePriority.ly rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/Material_RestitutionCombinePriorityOrder.ly diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/filelist.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/level.pak b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/level.pak rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/restitution_combine.physmaterial b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/restitution_combine.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C18981526_Material_RestitutionCombinePriority/restitution_combine.physmaterial rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/restitution_combine.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/tags.txt b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/tags.txt rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_RestitutionCombinePriorityOrder/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/C4044460_Material_StaticFriction.ly b/AutomatedTesting/Levels/Physics/Material_StaticFriction/Material_StaticFriction.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/C4044460_Material_StaticFriction.ly rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/Material_StaticFriction.ly diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/filelist.xml b/AutomatedTesting/Levels/Physics/Material_StaticFriction/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/filelist.xml rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/level.pak b/AutomatedTesting/Levels/Physics/Material_StaticFriction/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/level.pak rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044461_Material_Restitution/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/staticfriction.physmaterial b/AutomatedTesting/Levels/Physics/Material_StaticFriction/staticfriction.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044460_Material_StaticFriction/staticfriction.physmaterial rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/staticfriction.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/tags.txt b/AutomatedTesting/Levels/Physics/Material_StaticFriction/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/tags.txt rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terraintexture.pak b/AutomatedTesting/Levels/Physics/Material_StaticFriction/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Material_StaticFriction/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice.ly b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice.ly new file mode 100644 index 0000000000..25c46d7f2f --- /dev/null +++ b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e479e88c4f5ac7ebfb7e75ebd1555e05bfe9b731062bcf4463fb8221047aed36 +size 3091 diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/RigidBody.slice b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/RigidBody.slice similarity index 100% rename from AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/RigidBody.slice rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/RigidBody.slice diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/filelist.xml b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/filelist.xml similarity index 68% rename from AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/filelist.xml rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/filelist.xml index f3d1b3fa90..d0f6ec9ff4 100644 --- a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/level.pak b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/level.pak rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4044697_Material_PerfaceMaterialValidation/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/tags.txt b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/tags.txt rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/terraintexture.pak b/AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Physics_DynamicSliceWithPhysNotSpawnsStaticSlice/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/C15425929_Undo_Redo.ly b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/Physics_UndoRedoWorksOnEntityWithPhysComponents.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/C15425929_Undo_Redo.ly rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/Physics_UndoRedoWorksOnEntityWithPhysComponents.ly diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/filelist.xml b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/filelist.xml rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/filelist.xml index 663cddccf7..d797080487 100644 --- a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/level.pak b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C15425929_Undo_Redo/level.pak rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/tags.txt b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/tags.txt rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/terraintexture.pak b/AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Physics_UndoRedoWorksOnEntityWithPhysComponents/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.ly b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.ly rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether.ly diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/filelist.xml b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/filelist.xml similarity index 66% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/filelist.xml rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/filelist.xml index 4d9ef56440..bd095b90f5 100644 --- a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/level.pak b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/level.pak rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4888315_Material_AddModifyDeleteOnCollider/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/tags.txt b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/tags.txt rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/terraintexture.pak b/AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/PhysXSedan/_dev_Sedan_r0-b.fbx b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/PhysXSedan/_dev_Sedan_r0-b.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/PhysXSedan/_dev_Sedan_r0-b.fbx rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/PhysXSedan/_dev_Sedan_r0-b.fbx diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/PhysXSedan/_dev_sedan_r0-b.mtl b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/PhysXSedan/_dev_sedan_r0-b.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/PhysXSedan/_dev_sedan_r0-b.mtl rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/PhysXSedan/_dev_sedan_r0-b.mtl diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/C29032500_EditorComponents_WorldBodyBusWorks.ly b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/Physics_WorldBodyBusWorksOnEditorComponents.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/C29032500_EditorComponents_WorldBodyBusWorks.ly rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/Physics_WorldBodyBusWorksOnEditorComponents.ly diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/filelist.xml b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/filelist.xml rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/filelist.xml index 2ba204c714..72c3058f90 100644 --- a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/level.pak b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C29032500_EditorComponents_WorldBodyBusWorks/level.pak rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/tags.txt b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/tags.txt rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/terraintexture.pak b/AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Physics_WorldBodyBusWorksOnEditorComponents/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/C13895144_Ragdoll_NoRagdoll.ly b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/NoRagdoll.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/C13895144_Ragdoll_NoRagdoll.ly rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/NoRagdoll.ly diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/filelist.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/filelist.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/filelist.xml index 076e359dd5..fc5c54a6c0 100644 --- a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/level.pak b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_NoRagdoll/level.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/tags.txt b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/tags.txt rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terraintexture.pak b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/NoRagdoll/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/C13895144_Ragdoll_WithRagdoll.ly b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/WithRagdoll.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/C13895144_Ragdoll_WithRagdoll.ly rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/WithRagdoll.ly diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/filelist.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/filelist.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/level.pak b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/level.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982593_PhysxCollider_CollisionLayerTest/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/myMotionSet.motionset b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/myMotionSet.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/myMotionSet.motionset rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/myMotionSet.motionset diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/ragdoll.animgraph b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/ragdoll.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/ragdoll.animgraph rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/ragdoll.animgraph diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/AnimGraphForSecondRagdoll(1).animgraph b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/AnimGraphForSecondRagdoll(1).animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/AnimGraphForSecondRagdoll(1).animgraph rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/AnimGraphForSecondRagdoll(1).animgraph diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1).zip b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1).zip similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1).zip rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1).zip diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/PhysicsRin(1)/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/rin_physics(1).animgraph b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/rin_physics(1).animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C13895144_Ragdoll_WithRagdoll/rin/rin_physics(1).animgraph rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/rin/rin_physics(1).animgraph diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/tags.txt b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/tags.txt rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terraintexture.pak b/AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_LevelSwitchDoesNotCrash/WithRagdoll/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/C14654882_Ragdoll_ragdollAPTest.ly b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/Ragdoll_OldRagdollSerializationNoErrors.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/C14654882_Ragdoll_ragdollAPTest.ly rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/Ragdoll_OldRagdollSerializationNoErrors.ly diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/filelist.xml b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/filelist.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/level.pak b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14654882_Ragdoll_ragdollAPTest/level.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/tags.txt b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/tags.txt rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/terraintexture.pak b/AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_OldRagdollSerializationNoErrors/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/LevelData/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/C28978033_Ragdoll_WorldBodyBusTests.ly b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/Ragdoll_WorldBodyBusWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/C28978033_Ragdoll_WorldBodyBusTests.ly rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/Ragdoll_WorldBodyBusWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/TerrainTexture.pak b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/TerrainTexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/TerrainTexture.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/TerrainTexture.pak diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/filelist.xml b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/filelist.xml similarity index 72% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/filelist.xml rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/filelist.xml index 202292bf0a..92e5a16f35 100644 --- a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/level.pak b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/level.pak rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/AnimGraphPhysX.animgraph b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/AnimGraphPhysX.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/AnimGraphPhysX.animgraph rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/AnimGraphPhysX.animgraph diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/Blue.tif b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/Blue.tif similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/Blue.tif rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/Blue.tif diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/RinLocomotion.motionset b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/RinLocomotion.motionset similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/RinLocomotion.motionset rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/RinLocomotion.motionset diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/default.mtl b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/default.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/default.mtl rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/default.mtl diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_physics.animgraph b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_physics.animgraph similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_default/rin_physics.animgraph rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_physics.animgraph diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_skeleton_newgeo.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.fbx rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_skeleton_newgeo.fbx diff --git a/AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C28978033_Ragdoll_WorldBodyBusTests/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_skeleton_newgeo.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.mtl b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_skeleton_newgeo.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C4925582_Material_AddModifyDeleteOnRagdollBones/ragdoll_modified/rin_skeleton_newgeo.mtl rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/ragdoll_default/rin_skeleton_newgeo.mtl diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/tags.txt b/AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/tags.txt rename to AutomatedTesting/Levels/Physics/Ragdoll_WorldBodyBusWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/C4976194_RigidBody_PhysXComponentIsValid.ly b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/RigidBody_AddRigidBodyComponent.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/C4976194_RigidBody_PhysXComponentIsValid.ly rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/RigidBody_AddRigidBodyComponent.ly diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976194_RigidBody_PhysXComponentIsValid/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_AddRigidBodyComponent/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/C4976200_RigidBody_AngularDampingObjectRotation.ly b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/RigidBody_AngularDampingAffectsRotation.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/C4976200_RigidBody_AngularDampingObjectRotation.ly rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/RigidBody_AngularDampingAffectsRotation.ly diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/filelist.xml index c7a00e3be6..ad76ab3fe7 100644 --- a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_AngularDampingAffectsRotation/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/PhysXSedan/_dev_Sedan_r0-b.fbx b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/PhysXSedan/_dev_Sedan_r0-b.fbx similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/PhysXSedan/_dev_Sedan_r0-b.fbx rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/PhysXSedan/_dev_Sedan_r0-b.fbx diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/PhysXSedan/_dev_sedan_r0-b.fbx.assetinfo diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/PhysXSedan/_dev_sedan_r0-b.mtl b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/PhysXSedan/_dev_sedan_r0-b.mtl similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/PhysXSedan/_dev_sedan_r0-b.mtl rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/PhysXSedan/_dev_sedan_r0-b.mtl diff --git a/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/RigidBody_COM_ComputingWorks.ly b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/RigidBody_COM_ComputingWorks.ly new file mode 100644 index 0000000000..9e8e10cbae --- /dev/null +++ b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/RigidBody_COM_ComputingWorks.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:294ddb6a1da824ecddabbd671fa2f64cd02905c99475aa8c98af5fb41e9c8cdd +size 8698 diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ComputingWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/C4976210_COM_ManualSetting.ly b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/RigidBody_COM_ManualSettingWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/C4976210_COM_ManualSetting.ly rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/RigidBody_COM_ManualSettingWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976210_COM_ManualSetting/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_COM_ManualSettingWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/C13351703_COM_NotIncludeTriggerShapes.ly b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/RigidBody_COM_NotIncludesTriggerShapes.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/C13351703_COM_NotIncludeTriggerShapes.ly rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/RigidBody_COM_NotIncludesTriggerShapes.ly diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13351703_COM_NotIncludeTriggerShapes/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_COM_NotIncludesTriggerShapes/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/C4976218_RigidBodies_InertiaObjectNotComputed.ly b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/RigidBody_ComputeInertiaWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/C4976218_RigidBodies_InertiaObjectNotComputed.ly rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/RigidBody_ComputeInertiaWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/filelist.xml index 45a899e226..860defe32b 100644 --- a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982595_Collider_TriggerDisablesCollision/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976209_RigidBody_ComputesCOM/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_ComputeInertiaWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/C4976197_RigidBodies_InitialAngularVelocity.ly b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/RigidBody_InitialAngularVelocity.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/C4976197_RigidBodies_InitialAngularVelocity.ly rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/RigidBody_InitialAngularVelocity.ly diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/filelist.xml index 54e3a33d39..e457b443f7 100644 --- a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976197_RigidBodies_InitialAngularVelocity/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982797_Collider_ColliderOffset/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976218_RigidBodies_InertiaObjectNotComputed/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_InitialAngularVelocity/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/C4976195_RigidBodies_InitialLinearVelocity.ly b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/RigidBody_InitialLinearVelocity.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/C4976195_RigidBodies_InitialLinearVelocity.ly rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/RigidBody_InitialLinearVelocity.ly diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/filelist.xml index 0196dff132..df8bffb3ed 100644 --- a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/level.pak diff --git a/AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976195_RigidBodies_InitialLinearVelocity/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976227_Collider_NewGroup/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_InitialLinearVelocity/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/C4976207_PhysXRigidBodies_KinematicBehavior.ly b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/RigidBody_KinematicModeWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/C4976207_PhysXRigidBodies_KinematicBehavior.ly rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/RigidBody_KinematicModeWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976207_PhysXRigidBodies_KinematicBehavior/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_KinematicModeWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/C4976199_RigidBodies_LinearDampingObjectMotion.ly b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/RigidBody_LinearDampingAffectsMotion.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976199_RigidBodies_LinearDampingObjectMotion/C4976199_RigidBodies_LinearDampingObjectMotion.ly rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/RigidBody_LinearDampingAffectsMotion.ly diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/filelist.xml index c7a00e3be6..ad76ab3fe7 100644 --- a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976200_RigidBody_AngularDampingObjectRotation/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_LinearDampingAffectsMotion/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/C4976201_RigidBody_MassIsAssigned.ly b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/RigidBody_MassDifferentValuesWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/C4976201_RigidBody_MassIsAssigned.ly rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/RigidBody_MassDifferentValuesWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976201_RigidBody_MassIsAssigned/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4982798_Collider_ColliderRotationOffset/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_MassDifferentValuesWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/Layers/damping_bars_and_triggers.layer b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/Layers/damping_bars_and_triggers.layer similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/Layers/damping_bars_and_triggers.layer rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/Layers/damping_bars_and_triggers.layer diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/Layers/no_damping_bars.layer b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/Layers/no_damping_bars.layer similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/Layers/no_damping_bars.layer rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/Layers/no_damping_bars.layer diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/C13352089_RigidBodies_MaxAngularVelocity.ly b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/RigidBody_MaxAngularVelocityWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/C13352089_RigidBodies_MaxAngularVelocity.ly rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/RigidBody_MaxAngularVelocityWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/filelist.xml index fca6c56a65..ca6b51f34a 100644 --- a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13352089_RigidBodies_MaxAngularVelocity/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_MaxAngularVelocityWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/C5340400_RigidBody_ManualMomentOfInertia.ly b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/RigidBody_MomentOfInertiaManualSetting.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/C5340400_RigidBody_ManualMomentOfInertia.ly rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/RigidBody_MomentOfInertiaManualSetting.ly diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510644_Collider_CollisionGroups/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_MomentOfInertiaManualSetting/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/C14976307_Gravity_SetGravityWorks.ly b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/RigidBody_SetGravityWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/C14976307_Gravity_SetGravityWorks.ly rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/RigidBody_SetGravityWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/filelist.xml similarity index 73% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/filelist.xml index ce788cb735..a5b46d32ea 100644 --- a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976307_Gravity_SetGravityWorks/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932040_ForceRegion_CubeExertsWorldForce/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976244_Collider_SameGroupSameLayerCollision/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_SetGravityWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/C4976202_RigidBody_StopsWhenBelowKineticThreshold.ly b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/RigidBody_SleepWhenBelowKineticThreshold.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/C4976202_RigidBody_StopsWhenBelowKineticThreshold.ly rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/RigidBody_SleepWhenBelowKineticThreshold.ly diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_SleepWhenBelowKineticThreshold/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/C4976204_Verify_Start_Asleep_Condition.ly b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/RigidBody_StartAsleepWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/C4976204_Verify_Start_Asleep_Condition.ly rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/RigidBody_StartAsleepWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/filelist.xml similarity index 72% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/filelist.xml index 8b4484f96c..d2ce82359b 100644 --- a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976204_Verify_Start_Asleep_Condition/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5296614_PhysXMaterial_ColliderShape/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932042_PhysxForceRegion_LinearDamping/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_StartAsleepWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/C4976206_RigidBodies_VerifyGravity.ly b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/RigidBody_StartGravityEnabledWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/C4976206_RigidBodies_VerifyGravity.ly rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/RigidBody_StartGravityEnabledWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/filelist.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/filelist.xml similarity index 73% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/filelist.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/filelist.xml index 95411dfb91..8c02bcf6a6 100644 --- a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/filelist.xml +++ b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/level.pak b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/level.pak rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976206_RigidBodies_VerifyGravity/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/tags.txt b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/tags.txt rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689517_Verify_Terrain_Component/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/terraintexture.pak b/AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/terraintexture.pak rename to AutomatedTesting/Levels/Physics/RigidBody_StartGravityEnabledWorks/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/ScriptCanvas_CollisionEvents.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/ScriptCanvas_CollisionEvents.ly new file mode 100644 index 0000000000..6c70bbf067 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/ScriptCanvas_CollisionEvents.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1b6f5e409a8358ad95b310473046ce1a2f2aa5f7e05d0c3396044aa52aa7f6d +size 9103 diff --git a/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/collision_events_script.scriptcanvas b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/collision_events_script.scriptcanvas new file mode 100644 index 0000000000..a565c64b60 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/collision_events_script.scriptcanvas @@ -0,0 +1,4410 @@ +{ + "Type": "JsonSerialization", + "Version": 1, + "ClassName": "ScriptCanvasData", + "ClassData": { + "m_scriptCanvas": { + "Id": { + "id": 70086661081986 + }, + "Name": "collision_events_script", + "Components": { + "Component_[13153882817173497697]": { + "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph", + "Id": 13153882817173497697, + "m_graphData": { + "m_nodes": [ + { + "Id": { + "id": 70125315787650 + }, + "Name": "SC-Node(Print)", + "Components": { + "Component_[1173692688122057083]": { + "$type": "Print", + "Id": 1173692688122057083, + "Slots": [ + { + "id": { + "m_id": "{8A68C668-FF05-4B9C-8AF3-20BA7AC5A783}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "Input signal", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{5C006406-F28E-4060-8CB9-E80C0B10BBFD}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "m_format": "deac", + "m_unresolvedString": [ + "deac" + ] + } + } + }, + { + "Id": { + "id": 70095251016578 + }, + "Name": "SC-Node((NodeFunctionGenericMultiReturn)<{bool(const EntityId& )}* IsActiveTraits >)", + "Components": { + "Component_[12935774704733363494]": { + "$type": "(NodeFunctionGenericMultiReturn)<{bool(const EntityId& )}* IsActiveTraits >", + "Id": 12935774704733363494, + "Slots": [ + { + "id": { + "m_id": "{5A9AE174-D5E3-4512-A0BF-BA442C001F00}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{3E203C3C-5BEE-4D9A-B323-C2E4E1FC6A4E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{170B4D1A-5D4A-466F-98AF-A51747B2623A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: Entity Id", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{14EE86BB-E7E2-4210-B5ED-8F543D82F66C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Boolean", + "DisplayDataType": { + "m_type": 0 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: Entity Id" + } + ], + "Initialized": true + } + } + }, + { + "Id": { + "id": 70163970493314 + }, + "Name": "SC-Node((NodeFunctionGenericMultiReturn)<{bool(const EntityId& )}* IsActiveTraits >)", + "Components": { + "Component_[12935774704733363494]": { + "$type": "(NodeFunctionGenericMultiReturn)<{bool(const EntityId& )}* IsActiveTraits >", + "Id": 12935774704733363494, + "Slots": [ + { + "id": { + "m_id": "{5A9AE174-D5E3-4512-A0BF-BA442C001F00}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{3E203C3C-5BEE-4D9A-B323-C2E4E1FC6A4E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{170B4D1A-5D4A-466F-98AF-A51747B2623A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: Entity Id", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{14EE86BB-E7E2-4210-B5ED-8F543D82F66C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Boolean", + "DisplayDataType": { + "m_type": 0 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: Entity Id" + } + ], + "Initialized": true + } + } + }, + { + "Id": { + "id": 70172560427906 + }, + "Name": "SC-Node((NodeFunctionGenericMultiReturn)<{bool(const EntityId& )}* IsActiveTraits >)", + "Components": { + "Component_[12935774704733363494]": { + "$type": "(NodeFunctionGenericMultiReturn)<{bool(const EntityId& )}* IsActiveTraits >", + "Id": 12935774704733363494, + "Slots": [ + { + "id": { + "m_id": "{5A9AE174-D5E3-4512-A0BF-BA442C001F00}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{3E203C3C-5BEE-4D9A-B323-C2E4E1FC6A4E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{170B4D1A-5D4A-466F-98AF-A51747B2623A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: Entity Id", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{14EE86BB-E7E2-4210-B5ED-8F543D82F66C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Boolean", + "DisplayDataType": { + "m_type": 0 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: Entity Id" + } + ], + "Initialized": true + } + } + }, + { + "Id": { + "id": 70121020820354 + }, + "Name": "SC Node(GetVariable)", + "Components": { + "Component_[13696321695736204082]": { + "$type": "GetVariableNode", + "Id": 13696321695736204082, + "Slots": [ + { + "id": { + "m_id": "{7A817841-79D4-41FC-97DA-72E599A770CC}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "When signaled sends the property referenced by this node to a Data Output slot", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{6B862981-524C-4643-A2C2-9454CB1FD552}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "toolTip": "Signaled after the referenced property has been pushed to the Data Output slot", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{640B69D0-23E0-4A8E-BB94-477CFDE2E5F5}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "EntityID", + "DisplayDataType": { + "m_type": 1 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "m_variableId": { + "m_id": "{C802DF6D-82C4-4648-81AD-99DB01A03B3B}" + }, + "m_variableDataOutSlotId": { + "m_id": "{640B69D0-23E0-4A8E-BB94-477CFDE2E5F5}" + } + } + } + }, + { + "Id": { + "id": 70112430885762 + }, + "Name": "SC-EventNode(On Collision Begin event)", + "Components": { + "Component_[14000580813563007620]": { + "$type": "AzEventHandler", + "Id": 14000580813563007620, + "Slots": [ + { + "id": { + "m_id": "{74B54CB0-A72C-4A6A-ABB3-9EA6529DDF78}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + { + "$type": "ConnectionLimitContract", + "limit": 1 + }, + { + "$type": "RestrictedNodeContract", + "m_nodeId": { + "id": 70142495656834 + } + } + ], + "slotName": "Connect", + "toolTip": "Connect the AZ Event to this AZ Event Handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{8DDBE14E-02C2-49A2-ABB1-47EC97B5D970}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Disconnect", + "toolTip": "Disconnect current AZ Event from this AZ Event Handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{0EE06A10-EB10-4C5D-AB8F-D7B8B7A921E0}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Connected", + "toolTip": "Signaled when a connection has taken place.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{8B0C1988-7783-42F5-A3C5-42184B5DC7FE}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Disconnected", + "toolTip": "Signaled when this event handler is disconnected.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{E32049C5-FF99-4E74-91EC-D007B0D6EF7B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "OnEvent", + "toolTip": "Triggered when the AZ Event invokes Signal() function.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + }, + "IsLatent": true + }, + { + "id": { + "m_id": "{B3D58CDB-A773-47CE-B06D-BA3CF619A8E3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Simulated Body Handle", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{53C0CD3E-D0FC-5D90-9E9B-EF364D430B08}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{51A6844B-AD3E-48C3-8770-20E425CA125A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Collision Event", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{7602AA36-792C-4BDC-BDF8-AA16792151A3}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{F7A6B1A7-EB72-45DE-8A87-7C6E36FCA2A3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null, + { + "$type": "ConnectionLimitContract", + "limit": 1 + }, + { + "$type": "RestrictedNodeContract", + "m_nodeId": { + "id": 70142495656834 + } + } + ], + "slotName": "On Collision Begin event", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + {} + ], + "m_azEventEntry": { + "m_eventName": "On Collision Begin event", + "m_parameterSlotIds": [ + { + "m_id": "{B3D58CDB-A773-47CE-B06D-BA3CF619A8E3}" + }, + { + "m_id": "{51A6844B-AD3E-48C3-8770-20E425CA125A}" + }, + { + "m_id": "{B3D58CDB-A773-47CE-B06D-BA3CF619A8E3}" + }, + { + "m_id": "{51A6844B-AD3E-48C3-8770-20E425CA125A}" + } + ], + "m_parameterNames": [ + { + "m_id": "{B3D58CDB-A773-47CE-B06D-BA3CF619A8E3}" + }, + { + "m_id": "{51A6844B-AD3E-48C3-8770-20E425CA125A}" + }, + { + "m_id": "{B3D58CDB-A773-47CE-B06D-BA3CF619A8E3}" + }, + { + "m_id": "{51A6844B-AD3E-48C3-8770-20E425CA125A}" + } + ], + "m_eventSlotId": { + "m_id": "{F7A6B1A7-EB72-45DE-8A87-7C6E36FCA2A3}" + } + } + } + } + }, + { + "Id": { + "id": 70099545983874 + }, + "Name": "SC Node(GetVariable)", + "Components": { + "Component_[142618354415180427]": { + "$type": "GetVariableNode", + "Id": 142618354415180427, + "Slots": [ + { + "id": { + "m_id": "{245126A2-D7FE-4C59-BF8D-46F791EEE730}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "When signaled sends the property referenced by this node to a Data Output slot", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{DF9C6AFF-531F-4E74-80CC-1F6889A1CE9E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "toolTip": "Signaled after the referenced property has been pushed to the Data Output slot", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{6DDB4692-35F9-4570-B914-951F1FFAB089}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "EntityID", + "DisplayDataType": { + "m_type": 1 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "m_variableId": { + "m_id": "{79C630E7-2ED7-40E9-929D-6D88FC32ADD9}" + }, + "m_variableDataOutSlotId": { + "m_id": "{6DDB4692-35F9-4570-B914-951F1FFAB089}" + } + } + } + }, + { + "Id": { + "id": 70142495656834 + }, + "Name": "SC-Node(GetOnCollisionBeginEvent)", + "Components": { + "Component_[14536104846481825629]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 14536104846481825629, + "Slots": [ + { + "id": { + "m_id": "{C1CC691F-49A7-4348-89AD-F11BFBE3AFAE}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{88B3237D-3297-4837-A80A-19ECAB4B4D61}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{5AD134C7-A8BC-4BE7-B815-68901BBEBE0D}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{FCF4B185-2AD4-42BD-A304-B36B437CEA61}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Event const CollisionEvent& >", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{4C19E257-F929-524E-80E3-C910C5F3E2D9}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 2, + "methodName": "GetOnCollisionBeginEvent", + "className": "SimulatedBody", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "SimulatedBody" + } + } + }, + { + "Id": { + "id": 70159675526018 + }, + "Name": "EBusEventHandler", + "Components": { + "Component_[16532525056787595195]": { + "$type": "EBusEventHandler", + "Id": 16532525056787595195, + "Slots": [ + { + "id": { + "m_id": "{528D022F-3510-4351-8978-2B5B9B91CC7E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Connect", + "toolTip": "Connect this event handler to the specified entity.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{99136E6F-622A-46D0-A7B7-A304B587DFDB}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Disconnect", + "toolTip": "Disconnect this event handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{8CC6ECD6-A855-4466-AEB9-BB822F6D1F62}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "OnConnected", + "toolTip": "Signaled when a connection has taken place.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{EBFCFEBE-286E-4BAB-9E96-B85C6ED3E15A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "OnDisconnected", + "toolTip": "Signaled when this event handler is disconnected.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{C3C7D5F3-362A-48F7-A743-6838ABAEFBB2}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "OnFailure", + "toolTip": "Signaled when it is not possible to connect this handler.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{910C1C48-E747-4C9E-80BF-2A2862BC9118}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Source", + "toolTip": "ID used to connect on a specific Event address (Type: EntityId)", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{1EAAB3AC-9A45-4A1D-ACD5-7A079F2991FC}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "EntityID", + "DisplayDataType": { + "m_type": 1 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{4B50FCC8-C542-42E4-B17C-BD56173F1A26}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "ExecutionSlot:OnEntityActivated", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + }, + "IsLatent": true + }, + { + "id": { + "m_id": "{69BA1262-6657-4F5A-B81D-8BAD804E8BD9}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "EntityID", + "DisplayDataType": { + "m_type": 1 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{3439A9D1-B3B2-427A-82B6-86F5B75AD12D}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "ExecutionSlot:OnEntityDeactivated", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + }, + "IsLatent": true + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "Source" + } + ], + "m_eventMap": [ + { + "Key": { + "Value": 245425936 + }, + "Value": { + "m_eventName": "OnEntityActivated", + "m_eventId": { + "Value": 245425936 + }, + "m_eventSlotId": { + "m_id": "{4B50FCC8-C542-42E4-B17C-BD56173F1A26}" + }, + "m_parameterSlotIds": [ + { + "m_id": "{1EAAB3AC-9A45-4A1D-ACD5-7A079F2991FC}" + } + ], + "m_numExpectedArguments": 1 + } + }, + { + "Key": { + "Value": 4273369222 + }, + "Value": { + "m_eventName": "OnEntityDeactivated", + "m_eventId": { + "Value": 4273369222 + }, + "m_eventSlotId": { + "m_id": "{3439A9D1-B3B2-427A-82B6-86F5B75AD12D}" + }, + "m_parameterSlotIds": [ + { + "m_id": "{69BA1262-6657-4F5A-B81D-8BAD804E8BD9}" + } + ], + "m_numExpectedArguments": 1 + } + } + ], + "m_ebusName": "EntityBus", + "m_busId": { + "Value": 3358774020 + } + } + } + }, + { + "Id": { + "id": 70168265460610 + }, + "Name": "SC-Node(GetOnCollisionPersistEvent)", + "Components": { + "Component_[2456924078822417742]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 2456924078822417742, + "Slots": [ + { + "id": { + "m_id": "{76C563E8-85C7-4E2F-A09A-9D982064F966}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{7AE56C6B-CF55-4FC7-AA96-E5845B406017}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{8A08ADFB-F581-40F8-B900-A5A968A11F6D}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{79F0D577-9326-4334-A996-74E400870874}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Event const CollisionEvent& >", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{4C19E257-F929-524E-80E3-C910C5F3E2D9}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 2, + "methodName": "GetOnCollisionPersistEvent", + "className": "SimulatedBody", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "SimulatedBody" + } + } + }, + { + "Id": { + "id": 70090956049282 + }, + "Name": "SC-Node(ActivateGameEntity)", + "Components": { + "Component_[277081290396690505]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 277081290396690505, + "Slots": [ + { + "id": { + "m_id": "{4BCEF1F2-EB16-44C9-837F-CA936DAC9A2F}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{53670F84-98ED-4559-A2EC-3D2285DBC8E3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{1904FF69-ECF6-47AC-9318-2EBDAA8A5485}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 0, + "methodName": "ActivateGameEntity", + "className": "GameEntityContextRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "GameEntityContextRequestBus" + } + } + }, + { + "Id": { + "id": 70129610754946 + }, + "Name": "SC-Node(ActivateGameEntity)", + "Components": { + "Component_[277081290396690505]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 277081290396690505, + "Slots": [ + { + "id": { + "m_id": "{4BCEF1F2-EB16-44C9-837F-CA936DAC9A2F}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{53670F84-98ED-4559-A2EC-3D2285DBC8E3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{1904FF69-ECF6-47AC-9318-2EBDAA8A5485}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 0, + "methodName": "ActivateGameEntity", + "className": "GameEntityContextRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "GameEntityContextRequestBus" + } + } + }, + { + "Id": { + "id": 70176855395202 + }, + "Name": "SC-Node(ActivateGameEntity)", + "Components": { + "Component_[277081290396690505]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 277081290396690505, + "Slots": [ + { + "id": { + "m_id": "{4BCEF1F2-EB16-44C9-837F-CA936DAC9A2F}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{53670F84-98ED-4559-A2EC-3D2285DBC8E3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{1904FF69-ECF6-47AC-9318-2EBDAA8A5485}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 0, + "methodName": "ActivateGameEntity", + "className": "GameEntityContextRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "GameEntityContextRequestBus" + } + } + }, + { + "Id": { + "id": 70133905722242 + }, + "Name": "SC-Node(GetOnCollisionEndEvent)", + "Components": { + "Component_[6024679188177357420]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 6024679188177357420, + "Slots": [ + { + "id": { + "m_id": "{4C021C78-C51F-40AD-8D0C-E912A7216BEC}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{F0E14922-5337-4F26-91ED-E23E557B8723}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{84128820-5F2E-497F-9B13-A262484DE323}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{B825CA1B-36A9-4634-8D66-0C510EC4D4E8}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Event const CollisionEvent& >", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{4C19E257-F929-524E-80E3-C910C5F3E2D9}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 2, + "methodName": "GetOnCollisionEndEvent", + "className": "SimulatedBody", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "SimulatedBody" + } + } + }, + { + "Id": { + "id": 70181150362498 + }, + "Name": "SC-EventNode(On Collision Persist event)", + "Components": { + "Component_[6434307319231468785]": { + "$type": "AzEventHandler", + "Id": 6434307319231468785, + "Slots": [ + { + "id": { + "m_id": "{EB9CE3A4-B8A4-4436-9E3C-026580D17AC3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + { + "$type": "ConnectionLimitContract", + "limit": 1 + }, + { + "$type": "RestrictedNodeContract", + "m_nodeId": { + "id": 70168265460610 + } + } + ], + "slotName": "Connect", + "toolTip": "Connect the AZ Event to this AZ Event Handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{E5E8BE86-5B33-452C-BC59-FE4A6482048E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Disconnect", + "toolTip": "Disconnect current AZ Event from this AZ Event Handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{FBAFC668-BD77-4ABB-8B93-E030D02DF348}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Connected", + "toolTip": "Signaled when a connection has taken place.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{D37C1BFC-8EC1-4C8E-B6C3-FC036891A7ED}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Disconnected", + "toolTip": "Signaled when this event handler is disconnected.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{1A994B40-F1C6-4F60-9F44-4CE42732554C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "OnEvent", + "toolTip": "Triggered when the AZ Event invokes Signal() function.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + }, + "IsLatent": true + }, + { + "id": { + "m_id": "{7C28872F-1A80-496F-9D34-467A80D7B4EF}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Simulated Body Handle", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{53C0CD3E-D0FC-5D90-9E9B-EF364D430B08}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{0A68E758-7230-4202-A54E-EC7BDA2BE643}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Collision Event", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{7602AA36-792C-4BDC-BDF8-AA16792151A3}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{210423A5-D203-4C26-9B62-2B7DBA3320BD}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null, + { + "$type": "ConnectionLimitContract", + "limit": 1 + }, + { + "$type": "RestrictedNodeContract", + "m_nodeId": { + "id": 70168265460610 + } + } + ], + "slotName": "On Collision Persist event", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + {} + ], + "m_azEventEntry": { + "m_eventName": "On Collision Persist event", + "m_parameterSlotIds": [ + { + "m_id": "{7C28872F-1A80-496F-9D34-467A80D7B4EF}" + }, + { + "m_id": "{0A68E758-7230-4202-A54E-EC7BDA2BE643}" + }, + { + "m_id": "{7C28872F-1A80-496F-9D34-467A80D7B4EF}" + }, + { + "m_id": "{0A68E758-7230-4202-A54E-EC7BDA2BE643}" + } + ], + "m_parameterNames": [ + { + "m_id": "{7C28872F-1A80-496F-9D34-467A80D7B4EF}" + }, + { + "m_id": "{0A68E758-7230-4202-A54E-EC7BDA2BE643}" + }, + { + "m_id": "{7C28872F-1A80-496F-9D34-467A80D7B4EF}" + }, + { + "m_id": "{0A68E758-7230-4202-A54E-EC7BDA2BE643}" + } + ], + "m_eventSlotId": { + "m_id": "{210423A5-D203-4C26-9B62-2B7DBA3320BD}" + } + } + } + } + }, + { + "Id": { + "id": 70103840951170 + }, + "Name": "SC-Node(DeactivateGameEntity)", + "Components": { + "Component_[846968981672785962]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 846968981672785962, + "Slots": [ + { + "id": { + "m_id": "{993AA3E4-ABCF-40FF-9CCB-030F22627151}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{A015E6E8-A025-4A2D-B1D4-E7D8732FCE52}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{925E7BB1-22EB-46A2-98E2-9A9805A4D019}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 0, + "methodName": "DeactivateGameEntity", + "className": "GameEntityContextRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "GameEntityContextRequestBus" + } + } + }, + { + "Id": { + "id": 70146790624130 + }, + "Name": "SC-Node(DeactivateGameEntity)", + "Components": { + "Component_[846968981672785962]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 846968981672785962, + "Slots": [ + { + "id": { + "m_id": "{993AA3E4-ABCF-40FF-9CCB-030F22627151}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{A015E6E8-A025-4A2D-B1D4-E7D8732FCE52}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{925E7BB1-22EB-46A2-98E2-9A9805A4D019}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 0, + "methodName": "DeactivateGameEntity", + "className": "GameEntityContextRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "GameEntityContextRequestBus" + } + } + }, + { + "Id": { + "id": 70151085591426 + }, + "Name": "SC-Node(DeactivateGameEntity)", + "Components": { + "Component_[846968981672785962]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 846968981672785962, + "Slots": [ + { + "id": { + "m_id": "{993AA3E4-ABCF-40FF-9CCB-030F22627151}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{A015E6E8-A025-4A2D-B1D4-E7D8732FCE52}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{925E7BB1-22EB-46A2-98E2-9A9805A4D019}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: 0" + } + ], + "methodType": 0, + "methodName": "DeactivateGameEntity", + "className": "GameEntityContextRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "GameEntityContextRequestBus" + } + } + }, + { + "Id": { + "id": 70185445329794 + }, + "Name": "SC-EventNode(On Collision End event)", + "Components": { + "Component_[8849170053396419306]": { + "$type": "AzEventHandler", + "Id": 8849170053396419306, + "Slots": [ + { + "id": { + "m_id": "{5F5A4D6A-50EF-4561-B5D3-F8CF1C4530F6}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + { + "$type": "ConnectionLimitContract", + "limit": 1 + }, + { + "$type": "RestrictedNodeContract", + "m_nodeId": { + "id": 70133905722242 + } + } + ], + "slotName": "Connect", + "toolTip": "Connect the AZ Event to this AZ Event Handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{76FBE35A-BD29-4A8D-8B6E-AC6A2AD2306B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Disconnect", + "toolTip": "Disconnect current AZ Event from this AZ Event Handler.", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{2E933E93-BD7E-4B9D-A9F5-E1A15995E00B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Connected", + "toolTip": "Signaled when a connection has taken place.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{1773DFC3-FCF8-43C6-8CBC-B2457A05EFD6}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Disconnected", + "toolTip": "Signaled when this event handler is disconnected.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{FFBDBAC4-AF71-443C-BD6C-6C9E6BFAD858}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "OnEvent", + "toolTip": "Triggered when the AZ Event invokes Signal() function.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + }, + "IsLatent": true + }, + { + "id": { + "m_id": "{785405C8-1F85-4C9C-8ABE-C47A9A801BE3}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Simulated Body Handle", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{53C0CD3E-D0FC-5D90-9E9B-EF364D430B08}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{734C7A25-3E8A-4E3E-8CB5-E2F3383A3E18}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Collision Event", + "DisplayDataType": { + "m_type": 4, + "m_azType": "{7602AA36-792C-4BDC-BDF8-AA16792151A3}" + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{BBC0A5CC-0C89-47E1-BDEE-2F21BF6053DC}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null, + { + "$type": "ConnectionLimitContract", + "limit": 1 + }, + { + "$type": "RestrictedNodeContract", + "m_nodeId": { + "id": 70133905722242 + } + } + ], + "slotName": "On Collision End event", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + {} + ], + "m_azEventEntry": { + "m_eventName": "On Collision End event", + "m_parameterSlotIds": [ + { + "m_id": "{785405C8-1F85-4C9C-8ABE-C47A9A801BE3}" + }, + { + "m_id": "{734C7A25-3E8A-4E3E-8CB5-E2F3383A3E18}" + }, + { + "m_id": "{785405C8-1F85-4C9C-8ABE-C47A9A801BE3}" + }, + { + "m_id": "{734C7A25-3E8A-4E3E-8CB5-E2F3383A3E18}" + } + ], + "m_parameterNames": [ + { + "m_id": "{785405C8-1F85-4C9C-8ABE-C47A9A801BE3}" + }, + { + "m_id": "{734C7A25-3E8A-4E3E-8CB5-E2F3383A3E18}" + }, + { + "m_id": "{785405C8-1F85-4C9C-8ABE-C47A9A801BE3}" + }, + { + "m_id": "{734C7A25-3E8A-4E3E-8CB5-E2F3383A3E18}" + } + ], + "m_eventSlotId": { + "m_id": "{BBC0A5CC-0C89-47E1-BDEE-2F21BF6053DC}" + } + } + } + } + }, + { + "Id": { + "id": 70108135918466 + }, + "Name": "SC-Node(Gate)", + "Components": { + "Component_[9013043030213821202]": { + "$type": "Gate", + "Id": 9013043030213821202, + "Slots": [ + { + "id": { + "m_id": "{6E61BAF4-4F8C-4D6D-8573-960755DEC094}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "Input signal", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{7BF2F1C4-4831-4B6B-A63B-1046AD1FACFF}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "True", + "toolTip": "Signaled if the condition provided evaluates to true.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{EDE70327-9E66-4A5E-AFE3-B9C4D099021E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "False", + "toolTip": "Signaled if the condition provided evaluates to false.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{3C9FBBC2-3934-4C35-B959-9E26F93AB525}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Condition", + "toolTip": "If true the node will signal the Output and proceed execution", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 0 + }, + "isNullPointer": false, + "$type": "bool", + "value": false, + "label": "Condition" + } + ] + } + } + }, + { + "Id": { + "id": 70116725853058 + }, + "Name": "SC-Node(Gate)", + "Components": { + "Component_[9013043030213821202]": { + "$type": "Gate", + "Id": 9013043030213821202, + "Slots": [ + { + "id": { + "m_id": "{6E61BAF4-4F8C-4D6D-8573-960755DEC094}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "Input signal", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{7BF2F1C4-4831-4B6B-A63B-1046AD1FACFF}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "True", + "toolTip": "Signaled if the condition provided evaluates to true.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{EDE70327-9E66-4A5E-AFE3-B9C4D099021E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "False", + "toolTip": "Signaled if the condition provided evaluates to false.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{3C9FBBC2-3934-4C35-B959-9E26F93AB525}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Condition", + "toolTip": "If true the node will signal the Output and proceed execution", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 0 + }, + "isNullPointer": false, + "$type": "bool", + "value": false, + "label": "Condition" + } + ] + } + } + }, + { + "Id": { + "id": 70189740297090 + }, + "Name": "SC-Node(Gate)", + "Components": { + "Component_[9013043030213821202]": { + "$type": "Gate", + "Id": 9013043030213821202, + "Slots": [ + { + "id": { + "m_id": "{6E61BAF4-4F8C-4D6D-8573-960755DEC094}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "Input signal", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{7BF2F1C4-4831-4B6B-A63B-1046AD1FACFF}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "True", + "toolTip": "Signaled if the condition provided evaluates to true.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{EDE70327-9E66-4A5E-AFE3-B9C4D099021E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "False", + "toolTip": "Signaled if the condition provided evaluates to false.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{3C9FBBC2-3934-4C35-B959-9E26F93AB525}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Condition", + "toolTip": "If true the node will signal the Output and proceed execution", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "scriptCanvasType": { + "m_type": 0 + }, + "isNullPointer": false, + "$type": "bool", + "value": false, + "label": "Condition" + } + ] + } + } + }, + { + "Id": { + "id": 70138200689538 + }, + "Name": "SC-Node(Print)", + "Components": { + "Component_[9237937767964082768]": { + "$type": "Print", + "Id": 9237937767964082768, + "Slots": [ + { + "id": { + "m_id": "{451A59EF-BD5D-4E7D-82BE-3B4E7EAF9B48}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "Input signal", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{97822986-7F0A-4831-BD73-C9AC4CF133DE}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "m_format": "act", + "m_unresolvedString": [ + "act" + ] + } + } + }, + { + "Id": { + "id": 70155380558722 + }, + "Name": "SC Node(GetVariable)", + "Components": { + "Component_[9811908416249655657]": { + "$type": "GetVariableNode", + "Id": 9811908416249655657, + "Slots": [ + { + "id": { + "m_id": "{5A04BA4A-061E-4775-A6CE-713E298D4E9A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "toolTip": "When signaled sends the property referenced by this node to a Data Output slot", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{B36D2C46-0A2B-4C90-B57C-5D9B7D3C1A63}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "toolTip": "Signaled after the referenced property has been pushed to the Data Output slot", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{473E8586-669E-4DDD-B7A8-3A9F5EC510D5}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "EntityID", + "DisplayDataType": { + "m_type": 1 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "m_variableId": { + "m_id": "{F1E1AFD6-DCE6-4A1F-AF22-59F2B7B943CC}" + }, + "m_variableDataOutSlotId": { + "m_id": "{473E8586-669E-4DDD-B7A8-3A9F5EC510D5}" + } + } + } + } + ], + "m_connections": [ + { + "Id": { + "id": 70194035264386 + }, + "Name": "srcEndpoint=(IsActive: Result: Boolean), destEndpoint=(If: Condition)", + "Components": { + "Component_[8790567172666668723]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 8790567172666668723, + "sourceEndpoint": { + "nodeId": { + "id": 70163970493314 + }, + "slotId": { + "m_id": "{14EE86BB-E7E2-4210-B5ED-8F543D82F66C}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70116725853058 + }, + "slotId": { + "m_id": "{3C9FBBC2-3934-4C35-B959-9E26F93AB525}" + } + } + } + } + }, + { + "Id": { + "id": 70198330231682 + }, + "Name": "srcEndpoint=(IsActive: Out), destEndpoint=(If: In)", + "Components": { + "Component_[2434331826651875004]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 2434331826651875004, + "sourceEndpoint": { + "nodeId": { + "id": 70163970493314 + }, + "slotId": { + "m_id": "{3E203C3C-5BEE-4D9A-B323-C2E4E1FC6A4E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70116725853058 + }, + "slotId": { + "m_id": "{6E61BAF4-4F8C-4D6D-8573-960755DEC094}" + } + } + } + } + }, + { + "Id": { + "id": 70202625198978 + }, + "Name": "srcEndpoint=(If: True), destEndpoint=(DeactivateGameEntity: In)", + "Components": { + "Component_[11237921104715455686]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 11237921104715455686, + "sourceEndpoint": { + "nodeId": { + "id": 70116725853058 + }, + "slotId": { + "m_id": "{7BF2F1C4-4831-4B6B-A63B-1046AD1FACFF}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70146790624130 + }, + "slotId": { + "m_id": "{A015E6E8-A025-4A2D-B1D4-E7D8732FCE52}" + } + } + } + } + }, + { + "Id": { + "id": 70206920166274 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(IsActive: EntityID: Entity Id)", + "Components": { + "Component_[14362014279952360310]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 14362014279952360310, + "sourceEndpoint": { + "nodeId": { + "id": 70155380558722 + }, + "slotId": { + "m_id": "{473E8586-669E-4DDD-B7A8-3A9F5EC510D5}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70163970493314 + }, + "slotId": { + "m_id": "{170B4D1A-5D4A-466F-98AF-A51747B2623A}" + } + } + } + } + }, + { + "Id": { + "id": 70211215133570 + }, + "Name": "srcEndpoint=(If: False), destEndpoint=(ActivateGameEntity: In)", + "Components": { + "Component_[16755694922186694113]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 16755694922186694113, + "sourceEndpoint": { + "nodeId": { + "id": 70116725853058 + }, + "slotId": { + "m_id": "{EDE70327-9E66-4A5E-AFE3-B9C4D099021E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70090956049282 + }, + "slotId": { + "m_id": "{53670F84-98ED-4559-A2EC-3D2285DBC8E3}" + } + } + } + } + }, + { + "Id": { + "id": 70215510100866 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(ActivateGameEntity: EntityID: 0)", + "Components": { + "Component_[1634747738940978819]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 1634747738940978819, + "sourceEndpoint": { + "nodeId": { + "id": 70155380558722 + }, + "slotId": { + "m_id": "{473E8586-669E-4DDD-B7A8-3A9F5EC510D5}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70090956049282 + }, + "slotId": { + "m_id": "{4BCEF1F2-EB16-44C9-837F-CA936DAC9A2F}" + } + } + } + } + }, + { + "Id": { + "id": 70219805068162 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(DeactivateGameEntity: EntityID: 0)", + "Components": { + "Component_[8821531688847258487]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 8821531688847258487, + "sourceEndpoint": { + "nodeId": { + "id": 70155380558722 + }, + "slotId": { + "m_id": "{473E8586-669E-4DDD-B7A8-3A9F5EC510D5}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70146790624130 + }, + "slotId": { + "m_id": "{993AA3E4-ABCF-40FF-9CCB-030F22627151}" + } + } + } + } + }, + { + "Id": { + "id": 70224100035458 + }, + "Name": "srcEndpoint=(IsActive: Out), destEndpoint=(If: In)", + "Components": { + "Component_[8561478604291958262]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 8561478604291958262, + "sourceEndpoint": { + "nodeId": { + "id": 70095251016578 + }, + "slotId": { + "m_id": "{3E203C3C-5BEE-4D9A-B323-C2E4E1FC6A4E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70108135918466 + }, + "slotId": { + "m_id": "{6E61BAF4-4F8C-4D6D-8573-960755DEC094}" + } + } + } + } + }, + { + "Id": { + "id": 70228395002754 + }, + "Name": "srcEndpoint=(IsActive: Result: Boolean), destEndpoint=(If: Condition)", + "Components": { + "Component_[9146734319289132197]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 9146734319289132197, + "sourceEndpoint": { + "nodeId": { + "id": 70095251016578 + }, + "slotId": { + "m_id": "{14EE86BB-E7E2-4210-B5ED-8F543D82F66C}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70108135918466 + }, + "slotId": { + "m_id": "{3C9FBBC2-3934-4C35-B959-9E26F93AB525}" + } + } + } + } + }, + { + "Id": { + "id": 70232689970050 + }, + "Name": "srcEndpoint=(IsActive: Out), destEndpoint=(If: In)", + "Components": { + "Component_[11833205937891498095]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 11833205937891498095, + "sourceEndpoint": { + "nodeId": { + "id": 70172560427906 + }, + "slotId": { + "m_id": "{3E203C3C-5BEE-4D9A-B323-C2E4E1FC6A4E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70189740297090 + }, + "slotId": { + "m_id": "{6E61BAF4-4F8C-4D6D-8573-960755DEC094}" + } + } + } + } + }, + { + "Id": { + "id": 70236984937346 + }, + "Name": "srcEndpoint=(IsActive: Result: Boolean), destEndpoint=(If: Condition)", + "Components": { + "Component_[10467104857840052907]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 10467104857840052907, + "sourceEndpoint": { + "nodeId": { + "id": 70172560427906 + }, + "slotId": { + "m_id": "{14EE86BB-E7E2-4210-B5ED-8F543D82F66C}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70189740297090 + }, + "slotId": { + "m_id": "{3C9FBBC2-3934-4C35-B959-9E26F93AB525}" + } + } + } + } + }, + { + "Id": { + "id": 70241279904642 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(IsActive: EntityID: Entity Id)", + "Components": { + "Component_[1012188603409101617]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 1012188603409101617, + "sourceEndpoint": { + "nodeId": { + "id": 70099545983874 + }, + "slotId": { + "m_id": "{6DDB4692-35F9-4570-B914-951F1FFAB089}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70095251016578 + }, + "slotId": { + "m_id": "{170B4D1A-5D4A-466F-98AF-A51747B2623A}" + } + } + } + } + }, + { + "Id": { + "id": 70245574871938 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(IsActive: EntityID: Entity Id)", + "Components": { + "Component_[5402619035508314979]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 5402619035508314979, + "sourceEndpoint": { + "nodeId": { + "id": 70121020820354 + }, + "slotId": { + "m_id": "{640B69D0-23E0-4A8E-BB94-477CFDE2E5F5}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70172560427906 + }, + "slotId": { + "m_id": "{170B4D1A-5D4A-466F-98AF-A51747B2623A}" + } + } + } + } + }, + { + "Id": { + "id": 70249869839234 + }, + "Name": "srcEndpoint=(If: True), destEndpoint=(DeactivateGameEntity: In)", + "Components": { + "Component_[18435267100506239768]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 18435267100506239768, + "sourceEndpoint": { + "nodeId": { + "id": 70108135918466 + }, + "slotId": { + "m_id": "{7BF2F1C4-4831-4B6B-A63B-1046AD1FACFF}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70151085591426 + }, + "slotId": { + "m_id": "{A015E6E8-A025-4A2D-B1D4-E7D8732FCE52}" + } + } + } + } + }, + { + "Id": { + "id": 70254164806530 + }, + "Name": "srcEndpoint=(If: False), destEndpoint=(ActivateGameEntity: In)", + "Components": { + "Component_[15164751479546717561]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 15164751479546717561, + "sourceEndpoint": { + "nodeId": { + "id": 70108135918466 + }, + "slotId": { + "m_id": "{EDE70327-9E66-4A5E-AFE3-B9C4D099021E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70176855395202 + }, + "slotId": { + "m_id": "{53670F84-98ED-4559-A2EC-3D2285DBC8E3}" + } + } + } + } + }, + { + "Id": { + "id": 70258459773826 + }, + "Name": "srcEndpoint=(If: True), destEndpoint=(DeactivateGameEntity: In)", + "Components": { + "Component_[5061560116223750730]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 5061560116223750730, + "sourceEndpoint": { + "nodeId": { + "id": 70189740297090 + }, + "slotId": { + "m_id": "{7BF2F1C4-4831-4B6B-A63B-1046AD1FACFF}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70103840951170 + }, + "slotId": { + "m_id": "{A015E6E8-A025-4A2D-B1D4-E7D8732FCE52}" + } + } + } + } + }, + { + "Id": { + "id": 70262754741122 + }, + "Name": "srcEndpoint=(If: False), destEndpoint=(ActivateGameEntity: In)", + "Components": { + "Component_[10711100284272855896]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 10711100284272855896, + "sourceEndpoint": { + "nodeId": { + "id": 70189740297090 + }, + "slotId": { + "m_id": "{EDE70327-9E66-4A5E-AFE3-B9C4D099021E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70129610754946 + }, + "slotId": { + "m_id": "{53670F84-98ED-4559-A2EC-3D2285DBC8E3}" + } + } + } + } + }, + { + "Id": { + "id": 70267049708418 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(DeactivateGameEntity: EntityID: 0)", + "Components": { + "Component_[4394555422677501602]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 4394555422677501602, + "sourceEndpoint": { + "nodeId": { + "id": 70099545983874 + }, + "slotId": { + "m_id": "{6DDB4692-35F9-4570-B914-951F1FFAB089}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70151085591426 + }, + "slotId": { + "m_id": "{993AA3E4-ABCF-40FF-9CCB-030F22627151}" + } + } + } + } + }, + { + "Id": { + "id": 70271344675714 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(DeactivateGameEntity: EntityID: 0)", + "Components": { + "Component_[4685709028181371637]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 4685709028181371637, + "sourceEndpoint": { + "nodeId": { + "id": 70121020820354 + }, + "slotId": { + "m_id": "{640B69D0-23E0-4A8E-BB94-477CFDE2E5F5}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70103840951170 + }, + "slotId": { + "m_id": "{993AA3E4-ABCF-40FF-9CCB-030F22627151}" + } + } + } + } + }, + { + "Id": { + "id": 70275639643010 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(ActivateGameEntity: EntityID: 0)", + "Components": { + "Component_[3306462520084951475]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 3306462520084951475, + "sourceEndpoint": { + "nodeId": { + "id": 70121020820354 + }, + "slotId": { + "m_id": "{640B69D0-23E0-4A8E-BB94-477CFDE2E5F5}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70129610754946 + }, + "slotId": { + "m_id": "{4BCEF1F2-EB16-44C9-837F-CA936DAC9A2F}" + } + } + } + } + }, + { + "Id": { + "id": 70279934610306 + }, + "Name": "srcEndpoint=(DeactivateGameEntity: Out), destEndpoint=(Print: In)", + "Components": { + "Component_[17145465513158447772]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 17145465513158447772, + "sourceEndpoint": { + "nodeId": { + "id": 70146790624130 + }, + "slotId": { + "m_id": "{925E7BB1-22EB-46A2-98E2-9A9805A4D019}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70125315787650 + }, + "slotId": { + "m_id": "{8A68C668-FF05-4B9C-8AF3-20BA7AC5A783}" + } + } + } + } + }, + { + "Id": { + "id": 70284229577602 + }, + "Name": "srcEndpoint=(ActivateGameEntity: Out), destEndpoint=(Print: In)", + "Components": { + "Component_[14069026837818796272]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 14069026837818796272, + "sourceEndpoint": { + "nodeId": { + "id": 70090956049282 + }, + "slotId": { + "m_id": "{1904FF69-ECF6-47AC-9318-2EBDAA8A5485}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70138200689538 + }, + "slotId": { + "m_id": "{451A59EF-BD5D-4E7D-82BE-3B4E7EAF9B48}" + } + } + } + } + }, + { + "Id": { + "id": 70288524544898 + }, + "Name": "srcEndpoint=(DeactivateGameEntity: Out), destEndpoint=(Print: In)", + "Components": { + "Component_[7728736156493449863]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 7728736156493449863, + "sourceEndpoint": { + "nodeId": { + "id": 70151085591426 + }, + "slotId": { + "m_id": "{925E7BB1-22EB-46A2-98E2-9A9805A4D019}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70125315787650 + }, + "slotId": { + "m_id": "{8A68C668-FF05-4B9C-8AF3-20BA7AC5A783}" + } + } + } + } + }, + { + "Id": { + "id": 70292819512194 + }, + "Name": "srcEndpoint=(ActivateGameEntity: Out), destEndpoint=(Print: In)", + "Components": { + "Component_[10386336352272981702]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 10386336352272981702, + "sourceEndpoint": { + "nodeId": { + "id": 70176855395202 + }, + "slotId": { + "m_id": "{1904FF69-ECF6-47AC-9318-2EBDAA8A5485}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70138200689538 + }, + "slotId": { + "m_id": "{451A59EF-BD5D-4E7D-82BE-3B4E7EAF9B48}" + } + } + } + } + }, + { + "Id": { + "id": 70297114479490 + }, + "Name": "srcEndpoint=(DeactivateGameEntity: Out), destEndpoint=(Print: In)", + "Components": { + "Component_[16807949046056318365]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 16807949046056318365, + "sourceEndpoint": { + "nodeId": { + "id": 70103840951170 + }, + "slotId": { + "m_id": "{925E7BB1-22EB-46A2-98E2-9A9805A4D019}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70125315787650 + }, + "slotId": { + "m_id": "{8A68C668-FF05-4B9C-8AF3-20BA7AC5A783}" + } + } + } + } + }, + { + "Id": { + "id": 70301409446786 + }, + "Name": "srcEndpoint=(ActivateGameEntity: Out), destEndpoint=(Print: In)", + "Components": { + "Component_[13893900813580744359]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 13893900813580744359, + "sourceEndpoint": { + "nodeId": { + "id": 70129610754946 + }, + "slotId": { + "m_id": "{1904FF69-ECF6-47AC-9318-2EBDAA8A5485}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70138200689538 + }, + "slotId": { + "m_id": "{451A59EF-BD5D-4E7D-82BE-3B4E7EAF9B48}" + } + } + } + } + }, + { + "Id": { + "id": 70305704414082 + }, + "Name": "srcEndpoint=(Get Variable: EntityID), destEndpoint=(ActivateGameEntity: EntityID: 0)", + "Components": { + "Component_[3566132196647215905]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 3566132196647215905, + "sourceEndpoint": { + "nodeId": { + "id": 70099545983874 + }, + "slotId": { + "m_id": "{6DDB4692-35F9-4570-B914-951F1FFAB089}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70176855395202 + }, + "slotId": { + "m_id": "{4BCEF1F2-EB16-44C9-837F-CA936DAC9A2F}" + } + } + } + } + }, + { + "Id": { + "id": 70309999381378 + }, + "Name": "srcEndpoint=(Get Variable: Out), destEndpoint=(IsActive: In)", + "Components": { + "Component_[15737173947743935362]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 15737173947743935362, + "sourceEndpoint": { + "nodeId": { + "id": 70155380558722 + }, + "slotId": { + "m_id": "{B36D2C46-0A2B-4C90-B57C-5D9B7D3C1A63}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70163970493314 + }, + "slotId": { + "m_id": "{5A9AE174-D5E3-4512-A0BF-BA442C001F00}" + } + } + } + } + }, + { + "Id": { + "id": 70314294348674 + }, + "Name": "srcEndpoint=(On Collision Begin event: OnEvent), destEndpoint=(Get Variable: In)", + "Components": { + "Component_[6115424509860805504]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 6115424509860805504, + "sourceEndpoint": { + "nodeId": { + "id": 70112430885762 + }, + "slotId": { + "m_id": "{E32049C5-FF99-4E74-91EC-D007B0D6EF7B}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70155380558722 + }, + "slotId": { + "m_id": "{5A04BA4A-061E-4775-A6CE-713E298D4E9A}" + } + } + } + } + }, + { + "Id": { + "id": 70318589315970 + }, + "Name": "srcEndpoint=(Get Variable: Out), destEndpoint=(IsActive: In)", + "Components": { + "Component_[10250827968868397862]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 10250827968868397862, + "sourceEndpoint": { + "nodeId": { + "id": 70099545983874 + }, + "slotId": { + "m_id": "{DF9C6AFF-531F-4E74-80CC-1F6889A1CE9E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70095251016578 + }, + "slotId": { + "m_id": "{5A9AE174-D5E3-4512-A0BF-BA442C001F00}" + } + } + } + } + }, + { + "Id": { + "id": 70322884283266 + }, + "Name": "srcEndpoint=(On Collision Persist event: OnEvent), destEndpoint=(Get Variable: In)", + "Components": { + "Component_[13286675358080560883]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 13286675358080560883, + "sourceEndpoint": { + "nodeId": { + "id": 70181150362498 + }, + "slotId": { + "m_id": "{1A994B40-F1C6-4F60-9F44-4CE42732554C}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70099545983874 + }, + "slotId": { + "m_id": "{245126A2-D7FE-4C59-BF8D-46F791EEE730}" + } + } + } + } + }, + { + "Id": { + "id": 70327179250562 + }, + "Name": "srcEndpoint=(Get Variable: Out), destEndpoint=(IsActive: In)", + "Components": { + "Component_[2090477647964111499]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 2090477647964111499, + "sourceEndpoint": { + "nodeId": { + "id": 70121020820354 + }, + "slotId": { + "m_id": "{6B862981-524C-4643-A2C2-9454CB1FD552}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70172560427906 + }, + "slotId": { + "m_id": "{5A9AE174-D5E3-4512-A0BF-BA442C001F00}" + } + } + } + } + }, + { + "Id": { + "id": 70331474217858 + }, + "Name": "srcEndpoint=(On Collision End event: OnEvent), destEndpoint=(Get Variable: In)", + "Components": { + "Component_[9355447111337093492]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 9355447111337093492, + "sourceEndpoint": { + "nodeId": { + "id": 70185445329794 + }, + "slotId": { + "m_id": "{FFBDBAC4-AF71-443C-BD6C-6C9E6BFAD858}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 70121020820354 + }, + "slotId": { + "m_id": "{7A817841-79D4-41FC-97DA-72E599A770CC}" + } + } + } + } + } + ] + }, + "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}", + "versionData": { + "_grammarVersion": 1, + "_runtimeVersion": 1 + }, + "m_variableCounter": 10, + "GraphCanvasData": [ + { + "Key": { + "id": 70086661081986 + }, + "Value": { + "ComponentData": { + "{5F84B500-8C45-40D1-8EFC-A5306B241444}": { + "$type": "SceneComponentSaveData", + "Constructs": [ + { + "Type": 1, + "DataContainer": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{524D8380-AC09-444E-870E-9CEF2535B4A2}": { + "$type": "CommentNodeTextSaveData", + "Comment": "These are disconnected because a bug in Script Canvas with AZ::Events.\n\nOnce the issue is fixed reconnecting the nodes should make the test to pass", + "BackgroundColor": [ + 0.9800000190734863, + 0.9700000286102295, + 0.6499999761581421 + ], + "FontSettings": { + "PixelSize": 32 + } + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -1280.0, + -500.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{014DAF90-9434-4257-9670-6378E4D62A11}" + } + } + } + } + ], + "ViewParams": { + "Scale": 0.6573655545525766, + "AnchorX": -1186.554443359375, + "AnchorY": -578.06494140625 + } + } + } + } + }, + { + "Key": { + "id": 70090956049282 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1420.0, + -140.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{8B43E9D6-660F-4AD8-ABAF-D2CA12714C8C}" + } + } + } + }, + { + "Key": { + "id": 70095251016578 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "DefaultNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 600.0, + 100.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{FA508AFD-513D-4334-9760-909A9D4C765A}" + } + } + } + }, + { + "Key": { + "id": 70099545983874 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "GetVariableNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 200.0, + 100.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".getVariable" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{4970AE58-0BC4-45EE-B2E9-E14AF347E91F}" + } + } + } + }, + { + "Key": { + "id": 70103840951170 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1420.0, + 380.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{5DB80931-443B-48A6-9B96-79152E545DE9}" + } + } + } + }, + { + "Key": { + "id": 70108135918466 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "LogicNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1080.0, + 120.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".logic" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{455C1E31-F37D-4EE7-B954-B0532C66EE2C}" + } + } + } + }, + { + "Key": { + "id": 70112430885762 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "HandlerNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -280.0, + -280.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".azeventhandler" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{7DBDAF02-24F5-4FEF-97F6-5C71F5596B09}" + } + } + } + }, + { + "Key": { + "id": 70116725853058 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "LogicNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1080.0, + -220.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".logic" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{D9B0DBAE-33BB-4DD0-853F-3609B859651E}" + } + } + } + }, + { + "Key": { + "id": 70121020820354 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "GetVariableNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 220.0, + 460.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".getVariable" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{D2E4DE42-76F7-4B2E-838A-49EA403EA569}" + } + } + } + }, + { + "Key": { + "id": 70125315787650 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "StringNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 2000.0, + -160.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{389C6D5B-CE48-4C06-9A9C-BF8A63B50375}" + } + } + } + }, + { + "Key": { + "id": 70129610754946 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1420.0, + 560.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{DA5DCC2B-9E77-46F7-8CA9-A2FADE367B25}" + } + } + } + }, + { + "Key": { + "id": 70133905722242 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -880.0, + 400.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{64E2639D-6884-4692-9008-CFDACD35023F}" + } + } + } + }, + { + "Key": { + "id": 70138200689538 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "StringNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 2000.0, + 260.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{6EDB526D-EFA0-44C2-8A0C-9083BE1143D8}" + } + } + } + }, + { + "Key": { + "id": 70142495656834 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -900.0, + -260.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{B9CA5B12-F636-47FE-804B-E11C972D4D8F}" + } + } + } + }, + { + "Key": { + "id": 70146790624130 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1420.0, + -300.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{453BE3A7-5198-45D2-A8C8-A343CAA048C1}" + } + } + } + }, + { + "Key": { + "id": 70151085591426 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1420.0, + 20.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{0722BECC-EBCA-43E3-8EEC-618BD189E739}" + } + } + } + }, + { + "Key": { + "id": 70155380558722 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "GetVariableNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 200.0, + -240.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".getVariable" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{6F168FFF-9795-4C98-803C-FC4903E0C0A9}" + } + } + } + }, + { + "Key": { + "id": 70159675526018 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -1300.0, + 0.0 + ] + }, + "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": { + "$type": "EBusHandlerNodeDescriptorSaveData", + "EventIds": [ + { + "Value": 245425936 + } + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{5D4F47C6-521E-46DB-9899-4E8E558A6329}" + } + } + } + }, + { + "Key": { + "id": 70163970493314 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "DefaultNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 600.0, + -240.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{72129D0C-F4AF-4367-962F-BE9EEFC6A1C8}" + } + } + } + }, + { + "Key": { + "id": 70168265460610 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -900.0, + 40.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{4B279432-B947-45C5-8BF0-473703906A28}" + } + } + } + }, + { + "Key": { + "id": 70172560427906 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "DefaultNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 600.0, + 460.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{2B76EE69-5338-4B1A-A4BE-98960F9F71D4}" + } + } + } + }, + { + "Key": { + "id": 70176855395202 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1420.0, + 200.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{26BE8EF6-5AEC-42D8-AC7F-D380B460242D}" + } + } + } + }, + { + "Key": { + "id": 70181150362498 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "HandlerNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -280.0, + 60.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".azeventhandler" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{752364F1-EDC4-42D0-82CB-84FFE27AE3BC}" + } + } + } + }, + { + "Key": { + "id": 70185445329794 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "HandlerNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -280.0, + 420.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".azeventhandler" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{DFC56761-5B10-4D07-A98F-32E24DFA4649}" + } + } + } + }, + { + "Key": { + "id": 70189740297090 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "LogicNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1080.0, + 480.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".logic" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{D09C8DAB-49A0-41CB-89D1-302EA305B161}" + } + } + } + } + ], + "StatisticsHelper": { + "InstanceCounter": [ + { + "Key": 191865528901450421, + "Value": 1 + }, + { + "Key": 2835305591036471195, + "Value": 1 + }, + { + "Key": 3743441789994958326, + "Value": 1 + }, + { + "Key": 4847610523576971761, + "Value": 3 + }, + { + "Key": 5842116761103598202, + "Value": 1 + }, + { + "Key": 8452971738487658154, + "Value": 3 + }, + { + "Key": 10098352573174582531, + "Value": 1 + }, + { + "Key": 10684225535275896474, + "Value": 2 + }, + { + "Key": 12203576718429312410, + "Value": 3 + }, + { + "Key": 13415940695654984187, + "Value": 1 + }, + { + "Key": 13774516199848960378, + "Value": 3 + }, + { + "Key": 13774516200723425656, + "Value": 3 + }, + { + "Key": 15357534523005742132, + "Value": 1 + } + ] + } + }, + "Component_[14322806170033042168]": { + "$type": "EditorGraphVariableManagerComponent", + "Id": 14322806170033042168, + "m_variableData": { + "m_nameVariableMap": [ + { + "Key": { + "m_id": "{79C630E7-2ED7-40E9-929D-6D88FC32ADD9}" + }, + "Value": { + "Datum": { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 4294967295 + }, + "label": "Persist Signal ID" + }, + "VariableId": { + "m_id": "{79C630E7-2ED7-40E9-929D-6D88FC32ADD9}" + }, + "VariableName": "Persist Signal ID", + "InitialValueSource": 1 + } + }, + { + "Key": { + "m_id": "{C802DF6D-82C4-4648-81AD-99DB01A03B3B}" + }, + "Value": { + "Datum": { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 4294967295 + }, + "label": "End Signal ID" + }, + "VariableId": { + "m_id": "{C802DF6D-82C4-4648-81AD-99DB01A03B3B}" + }, + "VariableName": "End Signal ID", + "InitialValueSource": 1 + } + }, + { + "Key": { + "m_id": "{F1E1AFD6-DCE6-4A1F-AF22-59F2B7B943CC}" + }, + "Value": { + "Datum": { + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 4294967295 + }, + "label": "Begin Signal ID" + }, + "VariableId": { + "m_id": "{F1E1AFD6-DCE6-4A1F-AF22-59F2B7B943CC}" + }, + "VariableName": "Begin Signal ID", + "InitialValueSource": 1 + } + } + ] + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/filelist.xml similarity index 71% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/filelist.xml index bf7e7eb587..65809b61c4 100644 --- a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712452_ScriptCanvas_CollisionEvents/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C4976245_PhysxCollider_CollisionLayerTest/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_CollisionEvents/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C19536274_NameNode_Prints/C19536274_NameNode_Prints.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_GetCollisionName/ScriptCanvas_GetCollisionName.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C19536274_NameNode_Prints/C19536274_NameNode_Prints.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_GetCollisionName/ScriptCanvas_GetCollisionName.ly diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/Raycast.scriptcanvas b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/Raycast.scriptcanvas similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/Raycast.scriptcanvas rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/Raycast.scriptcanvas diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/Raycast_2.scriptcanvas b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/Raycast_2.scriptcanvas similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/Raycast_2.scriptcanvas rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/Raycast_2.scriptcanvas diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/ScriptCanvas.png b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/ScriptCanvas.png similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/ScriptCanvas.png rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/ScriptCanvas.png diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/C12712453_ScriptCanvas_MultipleRaycastNode.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/ScriptCanvas_MultipleRaycastNode.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/C12712453_ScriptCanvas_MultipleRaycastNode.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/ScriptCanvas_MultipleRaycastNode.ly diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_no_tunnel.PNG b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_no_tunnel.PNG similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_no_tunnel.PNG rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_no_tunnel.PNG diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel.PNG b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel.PNG similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel.PNG rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel.PNG diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel_mouth.PNG b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel_mouth.PNG similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel_mouth.PNG rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/RayCast_level_tunnel_mouth.PNG diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/ScriptCanvas.PNG b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/ScriptCanvas.PNG similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/VisualDocumentation/ScriptCanvas.PNG rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/VisualDocumentation/ScriptCanvas.PNG diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712453_ScriptCanvas_MultipleRaycastNode/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932043_ForceRegion_SimpleDragOnRigidBody/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_MultipleRaycastNode/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/C12712454_ScriptCanvas_OverlapNodeVerification.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/ScriptCanvas_OverlapNode.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/C12712454_ScriptCanvas_OverlapNodeVerification.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/ScriptCanvas_OverlapNode.ly diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/filelist.xml index c25a3147d2..4324608b22 100644 --- a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712454_ScriptCanvas_OverlapNodeVerification/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932044_PhysX_ForceRegion_PointForceOnRigidBodies/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_OverlapNode/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/ScriptCanvas_PostPhysicsUpdate.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/ScriptCanvas_PostPhysicsUpdate.ly new file mode 100644 index 0000000000..a2ceb4e75c --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/ScriptCanvas_PostPhysicsUpdate.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550c2842186ac5485024b1b08936415c67692937a6547859d6bd2a8611d17b7e +size 6592 diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5932045_ForceRegion_Spline/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/onpostphysicsupdate.scriptcanvas b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/onpostphysicsupdate.scriptcanvas new file mode 100644 index 0000000000..f236bb5570 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/onpostphysicsupdate.scriptcanvas @@ -0,0 +1,115 @@ +{ + "Type": "JsonSerialization", + "Version": 1, + "ClassName": "ScriptCanvasData", + "ClassData": { + "m_scriptCanvas": { + "Id": { + "id": 12069610946668 + }, + "Name": "onpostphysicsupdate", + "Components": { + "Component_[15127005627920921763]": { + "$type": "EditorGraphVariableManagerComponent", + "Id": 15127005627920921763, + "m_variableData": { + "m_nameVariableMap": [ + { + "Key": { + "m_id": "{7B7643B6-2A99-4D2D-82F7-49F7E608CA28}" + }, + "Value": { + "Datum": { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 8 + }, + "isNullPointer": false, + "$type": "Vector3", + "value": [ + 0.0, + 0.0, + 0.0 + ], + "label": "prev_position" + }, + "VariableId": { + "m_id": "{7B7643B6-2A99-4D2D-82F7-49F7E608CA28}" + }, + "VariableName": "prev_position" + } + } + ] + }, + "CopiedVariableRemapping": [ + { + "Key": { + "m_id": "{B66F614B-9534-4532-B257-C9F5469913C4}" + }, + "Value": { + "m_id": "{7B7643B6-2A99-4D2D-82F7-49F7E608CA28}" + } + } + ] + }, + "Component_[2111134076415671866]": { + "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph", + "Id": 2111134076415671866, + "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}", + "versionData": { + "_grammarVersion": 1, + "_runtimeVersion": 1 + }, + "GraphCanvasData": [ + { + "Key": { + "id": 12069610946668 + }, + "Value": { + "ComponentData": { + "{5F84B500-8C45-40D1-8EFC-A5306B241444}": { + "$type": "SceneComponentSaveData", + "ViewParams": { + "Scale": 0.3323290271719053, + "AnchorX": -2025.1014404296875, + "AnchorY": -707.1305541992188 + } + } + } + } + } + ], + "CRCCacheMap": [ + { + "Key": { + "Value": 418594340 + }, + "Value": { + "String": "AZPhysicalWorld", + "Count": 3 + } + }, + { + "Key": { + "Value": 2068527459 + }, + "Value": { + "String": "Self", + "Count": 1 + } + }, + { + "Key": { + "Value": 3249382599 + }, + "Value": { + "String": "DefaultScene", + "Count": 1 + } + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/ontick.scriptcanvas b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/ontick.scriptcanvas similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902098_ScriptCanvas_PostPhysicsUpdate/ontick.scriptcanvas rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/ontick.scriptcanvas diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostPhysicsUpdate/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/ScriptCanvas_PostUpdateEvent.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/ScriptCanvas_PostUpdateEvent.ly new file mode 100644 index 0000000000..35c3674159 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/ScriptCanvas_PostUpdateEvent.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a2c9ad554554eba1021abe0baf0b3455da1aaab2bb8331eb240f79c89031636 +size 5202 diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14195074_ScriptCanvas_PostUpdateEvent/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PostUpdateEvent/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/C14902097_ScriptCanvas_PreUpdateEvent.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/ScriptCanvas_PreUpdateEvent.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/C14902097_ScriptCanvas_PreUpdateEvent.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/ScriptCanvas_PreUpdateEvent.ly diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14902097_ScriptCanvas_PreUpdateEvent/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_PreUpdateEvent/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/C14976308_ScriptCanvas_SetKinematicTargetTransform.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/ScriptCanvas_SetKinematicTargetTransform.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/C14976308_ScriptCanvas_SetKinematicTargetTransform.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/ScriptCanvas_SetKinematicTargetTransform.ly diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/Signal.scriptcanvas b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/Signal.scriptcanvas similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/Signal.scriptcanvas rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/Signal.scriptcanvas diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C14976308_ScriptCanvas_SetKinematicTargetTransform/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959761_ForceRegion_ExertsPointForce_Sedan/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SetKinematicTargetTransform/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/ScriptCanvas_ShapeCast.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/ScriptCanvas_ShapeCast.ly new file mode 100644 index 0000000000..2f7291cb27 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/ScriptCanvas_ShapeCast.ly @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3361ba7aa2faa53421d8a92ed0bb2e1747e766d93c0315484a3c85b74a6494c3 +size 8820 diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/filelist.xml index 36bb23e8d4..e07ddfafba 100644 --- a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C12712455_ScriptCanvas_ShapeCastVerification/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5340400_RigidBody_ManualMomentOfInertia/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_ShapeCast/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/Ball_0.slice b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/Ball_0.slice similarity index 100% rename from AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/Ball_0.slice rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/Ball_0.slice diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/C6224408_ScriptCanvas_EntitySpawn.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/ScriptCanvas_SpawnEntityWithPhysComponents.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/C6224408_ScriptCanvas_EntitySpawn.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/ScriptCanvas_SpawnEntityWithPhysComponents.ly diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/filelist.xml index 9765b5376b..d04d7d2c18 100644 --- a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_SpawnEntityWithPhysComponents/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/C6274125_ScriptCanvas_TriggerEvents.ly b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/ScriptCanvas_TriggerEvents.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/C6274125_ScriptCanvas_TriggerEvents.ly rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/ScriptCanvas_TriggerEvents.ly diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/filelist.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/filelist.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/level.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6274125_ScriptCanvas_TriggerEvents/level.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959763_ForceRegion_ForceRegionImpulsesCube/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/tags.txt b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/tags.txt rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terraintexture.pak b/AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ScriptCanvas_TriggerEvents/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.ly b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/ShapeCollider_CylinderShapeCollides.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.ly rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/ShapeCollider_CylinderShapeCollides.ly diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/filelist.xml similarity index 67% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/filelist.xml rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/filelist.xml index 344896222d..984d6023c5 100644 --- a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/filelist.xml +++ b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/level.pak b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/level.pak rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/tags.txt b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/tags.txt rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terraintexture.pak b/AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terraintexture.pak rename to AutomatedTesting/Levels/Physics/ShapeCollider_CylinderShapeCollides/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.ly b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/Terrain_AddPhysTerrainComponent.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.ly rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/Terrain_AddPhysTerrainComponent.ly diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/filelist.xml similarity index 68% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/filelist.xml index 870334d74d..88ab352775 100644 --- a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/level.pak b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/level.pak diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959759_RigidBody_ForceRegionSpherePointForce/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689521_Terrain_NoCollisionAfterTerrainDeletion/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_AddPhysTerrainComponent/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/C5689524_MultipleTerrains_CheckWarningInConsole.ly b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/Terrain_CanAddMultipleTerrainComponents.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/C5689524_MultipleTerrains_CheckWarningInConsole.ly rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/Terrain_CanAddMultipleTerrainComponents.ly diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/filelist.xml similarity index 69% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/filelist.xml index cdc374d412..9fd843be84 100644 --- a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/level.pak b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959760_PhysxForceRegion_PointForceExertion/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959765_ForceRegion_AssetGetsImpulsed/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_CanAddMultipleTerrainComponents/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/PhysXEntity_collides_with_PhysXTerrain.ly b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/PhysXEntity_collides_with_PhysXTerrain.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/PhysXEntity_collides_with_PhysXTerrain.ly rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/PhysXEntity_collides_with_PhysXTerrain.ly diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/C5689518_PhysXEntity_collides_with_PhysXTerrain.ly b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/Terrain_CollisionAgainstRigidBody.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/C5689518_PhysXEntity_collides_with_PhysXTerrain.ly rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/Terrain_CollisionAgainstRigidBody.ly diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/level.pak b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689518_PhysXEntity_collides_with_PhysXTerrain/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959808_ForceRegion_PositionOffset/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689524_MultipleTerrains_CheckWarningInConsole/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_CollisionAgainstRigidBody/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m.ly b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m.ly rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m.ly diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/level.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959809_ForceRegion_RotationalOffset/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/1024x1024_32m/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/C6032082_Terrain_MultipleResolutionsValid_128x128_1m.ly b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/C6032082_Terrain_MultipleResolutionsValid_128x128_1m.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/C6032082_Terrain_MultipleResolutionsValid_128x128_1m.ly rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/C6032082_Terrain_MultipleResolutionsValid_128x128_1m.ly diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/level.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5959810_ForceRegion_ForceRegionCombinesForces/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/128x128_1m/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m.ly b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m.ly rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m.ly diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/level.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/4096x4096_16m/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/C6032082_Terrain_MultipleResolutionsValid_512x512_2m.ly b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/C6032082_Terrain_MultipleResolutionsValid_512x512_2m.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/C6032082_Terrain_MultipleResolutionsValid_512x512_2m.ly rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/C6032082_Terrain_MultipleResolutionsValid_512x512_2m.ly diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/level.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090547_ForceRegion_ParentChildForceRegions/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C5968760_ForceRegion_CheckNetForceChange/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleResolutionsValid/512x512_2m/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/C5689528_Terrain_MultipleTerrainComponents.ly b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/Terrain_MultipleTerrainComponentsWarning.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/C5689528_Terrain_MultipleTerrainComponents.ly rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/Terrain_MultipleTerrainComponentsWarning.ly diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/filelist.xml index 58e152177f..1e451d5e6b 100644 --- a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/level.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689528_Terrain_MultipleTerrainComponents/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090550_ForceRegion_WorldSpaceForceNegative/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_1024x1024_32m/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_MultipleTerrainComponentsWarning/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/C3510642_Terrain_NotCollideWithTerrain.ly b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/Terrain_NoPhysTerrainComponentNoCollision.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/C3510642_Terrain_NotCollideWithTerrain.ly rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/Terrain_NoPhysTerrainComponentNoCollision.ly diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/level.pak b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C3510642_Terrain_NotCollideWithTerrain/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090551_ForceRegion_LocalSpaceForceNegative/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_128x128_1m/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_NoPhysTerrainComponentNoCollision/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/TerrainSlice.slice b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/TerrainSlice.slice similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/TerrainSlice.slice rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/TerrainSlice.slice diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/C5689531_Warning_TerrainSliceTerrainComponent.ly b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/Terrain_SpawnSecondTerrainComponentWarning.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/C5689531_Warning_TerrainSliceTerrainComponent.ly rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/Terrain_SpawnSecondTerrainComponentWarning.ly diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/filelist.xml similarity index 70% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/filelist.xml index 9c026b5b82..66907bcdd0 100644 --- a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/filelist.xml +++ b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/filelist.xml @@ -1,4 +1,4 @@ - + diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/level.pak b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090552_ForceRegion_LinearDampingNegative/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/GameTokens.xml b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/GameTokens.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/GameTokens.xml rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/GameTokens.xml diff --git a/AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090546_ForceRegion_SliceFileInstantiates/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_4096x4096_16m/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C5689531_Warning_TerrainSliceTerrainComponent/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C6224408_ScriptCanvas_EntitySpawn/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_SpawnSecondTerrainComponentWarning/terraintexture.pak diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/C13508019_Terrain_TerrainTexturePainterWorks.ly b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/Terrain_TerrainTexturePainterWorks.ly similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/C13508019_Terrain_TerrainTexturePainterWorks.ly rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/Terrain_TerrainTexturePainterWorks.ly diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/filelist.xml b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/filelist.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/filelist.xml rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/filelist.xml diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/level.pak b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/level.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/level.pak rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/level.pak diff --git a/AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Environment.xml b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/Environment.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies/leveldata/Environment.xml rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/Environment.xml diff --git a/AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/TerrainTexture.xml b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/TerrainTexture.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090554_ForceRegion_PointForceNegative/leveldata/TerrainTexture.xml rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/TerrainTexture.xml diff --git a/AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/TimeOfDay.xml b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/TimeOfDay.xml similarity index 100% rename from AutomatedTesting/Levels/Physics/C6032082_Terrain_MultipleResolutionsValid_512x512_2m/leveldata/TimeOfDay.xml rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/TimeOfDay.xml diff --git a/AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/VegetationMap.dat b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/VegetationMap.dat similarity index 100% rename from AutomatedTesting/Levels/Physics/C6131473_StaticSlice_OnDynamicSliceSpawn/leveldata/VegetationMap.dat rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/leveldata/VegetationMap.dat diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/material/levelmaterial.physmaterial b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/material/levelmaterial.physmaterial similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/material/levelmaterial.physmaterial rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/material/levelmaterial.physmaterial diff --git a/AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/tags.txt b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/tags.txt similarity index 100% rename from AutomatedTesting/Levels/Physics/C6090555_ForceRegion_SplineFollowOnRigidBodies/tags.txt rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/tags.txt diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terrain/terrain.pxheightfield b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/terrain/terrain.pxheightfield similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terrain/terrain.pxheightfield rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/terrain/terrain.pxheightfield diff --git a/AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terraintexture.pak b/AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/terraintexture.pak similarity index 100% rename from AutomatedTesting/Levels/Physics/C13508019_Terrain_TerrainTexturePainterWorks/terraintexture.pak rename to AutomatedTesting/Levels/Physics/Terrain_TerrainTexturePainterWorks/terraintexture.pak diff --git a/AutomatedTesting/Registry/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.setreg_override b/AutomatedTesting/Registry/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.setreg_override deleted file mode 100644 index aa82265c98..0000000000 --- a/AutomatedTesting/Registry/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.setreg_override +++ /dev/null @@ -1,115 +0,0 @@ -{ - "Amazon": { - "Gems": { - "PhysX": { - "PhysXSystemConfiguration": { - "CollisionConfig": { - "Layers": { - "LayerNames": [ - "Default", - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {} - ] - }, - "Groups": { - "GroupPresets": [ - { - "Name": "All", - "ReadOnly": true - }, - { - "Id": { - "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" - }, - "Name": "None", - "Group": { - "Mask": 0 - }, - "ReadOnly": true - }, - { - "Id": { - "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" - }, - "Name": "All_NoTouchBend", - "Group": { - "Mask": 9223372036854775807 - }, - "ReadOnly": true - } - ] - } - }, - "MaterialLibrary": { - "assetId": { - "guid": "{70D4A444-AFD4-57C4-9885-63F25AC3C281}" - }, - "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c15556261_physxmaterials_charactercontrollermaterialassignment/library.physmaterial" - } - } - } - } - } -} \ No newline at end of file diff --git a/AutomatedTesting/Registry/C18981526_Material_RestitutionCombinePriority.setreg_override b/AutomatedTesting/Registry/C18981526_Material_RestitutionCombinePriority.setreg_override deleted file mode 100644 index c78018bdbb..0000000000 --- a/AutomatedTesting/Registry/C18981526_Material_RestitutionCombinePriority.setreg_override +++ /dev/null @@ -1,115 +0,0 @@ -{ - "Amazon": { - "Gems": { - "PhysX": { - "PhysXSystemConfiguration": { - "CollisionConfig": { - "Layers": { - "LayerNames": [ - "Default", - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {} - ] - }, - "Groups": { - "GroupPresets": [ - { - "Name": "All", - "ReadOnly": true - }, - { - "Id": { - "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" - }, - "Name": "None", - "Group": { - "Mask": 0 - }, - "ReadOnly": true - }, - { - "Id": { - "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" - }, - "Name": "All_NoTouchBend", - "Group": { - "Mask": 9223372036854775807 - }, - "ReadOnly": true - } - ] - } - }, - "MaterialLibrary": { - "assetId": { - "guid": "{AED48B18-0F3F-5E59-A8FF-30DB134B307B}" - }, - "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c18981526_material_restitutioncombinepriority/restitution_combine.physmaterial" - } - } - } - } - } -} \ No newline at end of file diff --git a/AutomatedTesting/Registry/C4044697_Material_PerfaceMaterialValidation.setreg_override b/AutomatedTesting/Registry/C4044697_Material_PerfaceMaterialValidation.setreg_override deleted file mode 100644 index 5a93ae2314..0000000000 --- a/AutomatedTesting/Registry/C4044697_Material_PerfaceMaterialValidation.setreg_override +++ /dev/null @@ -1,115 +0,0 @@ -{ - "Amazon": { - "Gems": { - "PhysX": { - "PhysXSystemConfiguration": { - "CollisionConfig": { - "Layers": { - "LayerNames": [ - "Default", - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {} - ] - }, - "Groups": { - "GroupPresets": [ - { - "Name": "All", - "ReadOnly": true - }, - { - "Id": { - "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" - }, - "Name": "None", - "Group": { - "Mask": 0 - }, - "ReadOnly": true - }, - { - "Id": { - "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" - }, - "Name": "All_NoTouchBend", - "Group": { - "Mask": 9223372036854775807 - }, - "ReadOnly": true - } - ] - } - }, - "MaterialLibrary": { - "assetId": { - "guid": "{2E85B457-ED19-5FE3-90B4-6EFFB4D0E682}" - }, - "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c4044697_material_perfacematerialvalidation/test_library.physmaterial" - } - } - } - } - } -} \ No newline at end of file diff --git a/AutomatedTesting/Registry/C4976227_Collider_NewGroup.setreg_override b/AutomatedTesting/Registry/physx_overrides/Collider_AddingNewGroupWorks.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C4976227_Collider_NewGroup.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Collider_AddingNewGroupWorks.setreg_override diff --git a/AutomatedTesting/Registry/C3510644_Collider_CollisionGroups.setreg_override b/AutomatedTesting/Registry/physx_overrides/Collider_CollisionGroupsWorkflow.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C3510644_Collider_CollisionGroups.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Collider_CollisionGroupsWorkflow.setreg_override diff --git a/AutomatedTesting/Registry/C4976244_Collider_SameGroupSameLayerCollision.setreg_override b/AutomatedTesting/Registry/physx_overrides/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C4976244_Collider_SameGroupSameLayerCollision.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.setreg_override diff --git a/AutomatedTesting/Registry/C4976245_PhysXCollider_CollisionLayerTest.setreg_override b/AutomatedTesting/Registry/physx_overrides/Collider_NoneCollisionGroupSameLayerNotCollide.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C4976245_PhysXCollider_CollisionLayerTest.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Collider_NoneCollisionGroupSameLayerNotCollide.setreg_override diff --git a/AutomatedTesting/Registry/C4982593_PhysXCollider_CollisionLayer.setreg_override b/AutomatedTesting/Registry/physx_overrides/Collider_SameCollisionGroupSameCustomLayerCollide.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C4982593_PhysXCollider_CollisionLayer.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Collider_SameCollisionGroupSameCustomLayerCollide.setreg_override diff --git a/AutomatedTesting/Registry/C4044461_Material_Restitution.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_CharacterController.setreg_override similarity index 95% rename from AutomatedTesting/Registry/C4044461_Material_Restitution.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Material_CharacterController.setreg_override index b70e0f1326..e250c2a8ec 100644 --- a/AutomatedTesting/Registry/C4044461_Material_Restitution.setreg_override +++ b/AutomatedTesting/Registry/physx_overrides/Material_CharacterController.setreg_override @@ -103,10 +103,10 @@ }, "MaterialLibrary": { "assetId": { - "guid": "{E4117B5B-8D9A-5C1D-BA1E-C36542A6588D}" + "guid": "{96A9180B-06C8-5AC2-836D-FFF518B5976A}" }, "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c4044461_material_restitution/restitution.physmaterial" + "assetHint": "levels/physics/material_charactercontroller/library.physmaterial" } } } diff --git a/AutomatedTesting/Registry/physx_overrides/Material_DefaultLibraryUpdatedAcrossLevels_after.setreg b/AutomatedTesting/Registry/physx_overrides/Material_DefaultLibraryUpdatedAcrossLevels_after.setreg new file mode 100644 index 0000000000..8d694c80d2 --- /dev/null +++ b/AutomatedTesting/Registry/physx_overrides/Material_DefaultLibraryUpdatedAcrossLevels_after.setreg @@ -0,0 +1,115 @@ +{ + "Amazon": { + "Gems": { + "PhysX": { + "PhysXSystemConfiguration": { + "CollisionConfig": { + "Layers": { + "LayerNames": [ + "Default", + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + "TouchBend" + ] + }, + "Groups": { + "GroupPresets": [ + { + "Name": "All", + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" + }, + "Name": "None", + "Group": { + "Mask": 0 + }, + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" + }, + "Name": "All_NoTouchBend", + "Group": { + "Mask": 9223372036854775807 + }, + "ReadOnly": true + } + ] + } + }, + "MaterialLibrary": { + "assetId": { + "guid": "{966C6F3D-A27F-5591-B84E-939D11DDEAC9}" + }, + "loadBehavior": "QueueLoad", + "assetHint": "levels/physics/material_defaultlibraryupdatedacrosslevels/after.physmaterial" + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Registry/physx_overrides/Material_DefaultLibraryUpdatedAcrossLevels_before.setreg b/AutomatedTesting/Registry/physx_overrides/Material_DefaultLibraryUpdatedAcrossLevels_before.setreg new file mode 100644 index 0000000000..ca45f7128a --- /dev/null +++ b/AutomatedTesting/Registry/physx_overrides/Material_DefaultLibraryUpdatedAcrossLevels_before.setreg @@ -0,0 +1,115 @@ +{ + "Amazon": { + "Gems": { + "PhysX": { + "PhysXSystemConfiguration": { + "CollisionConfig": { + "Layers": { + "LayerNames": [ + "Default", + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + "TouchBend" + ] + }, + "Groups": { + "GroupPresets": [ + { + "Name": "All", + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" + }, + "Name": "None", + "Group": { + "Mask": 0 + }, + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" + }, + "Name": "All_NoTouchBend", + "Group": { + "Mask": 9223372036854775807 + }, + "ReadOnly": true + } + ] + } + }, + "MaterialLibrary": { + "assetId": { + "guid": "{3E410671-6D31-51C6-951F-321EE45B8D5C}" + }, + "loadBehavior": "QueueLoad", + "assetHint": "levels/physics/material_defaultlibraryupdatedacrosslevels/before.physmaterial" + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_DynamicFriction.setreg_override similarity index 95% rename from AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Material_DynamicFriction.setreg_override index 5deb5635d1..9b5c8d635d 100644 --- a/AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override +++ b/AutomatedTesting/Registry/physx_overrides/Material_DynamicFriction.setreg_override @@ -103,10 +103,10 @@ }, "MaterialLibrary": { "assetId": { - "guid": "{6AA79EE4-7EC3-5717-87AE-EDD7D886FD7F}" + "guid": "{7A6CD646-26CA-5A70-AECC-4D55CA4581FE}" }, "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c4044459_material_dynamicfriction/dynamic_friction.physmaterial" + "assetHint": "levels/physics/material_dynamicfriction/dynamic_friction.physmaterial" } } } diff --git a/AutomatedTesting/Registry/C4044456_Material_FrictionCombine.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_FrictionCombine.setreg_override similarity index 95% rename from AutomatedTesting/Registry/C4044456_Material_FrictionCombine.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Material_FrictionCombine.setreg_override index 806d71a158..37c67cb5ec 100644 --- a/AutomatedTesting/Registry/C4044456_Material_FrictionCombine.setreg_override +++ b/AutomatedTesting/Registry/physx_overrides/Material_FrictionCombine.setreg_override @@ -103,10 +103,10 @@ }, "MaterialLibrary": { "assetId": { - "guid": "{8D2C4A29-E0FC-564F-82C9-24BBA30C5A90}" + "guid": "{C61EAD16-634F-5665-B9A8-37F909E7E63B}" }, "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c4044456_material_frictioncombine/friction_combine.physmaterial" + "assetHint": "levels/physics/material_frictioncombine/friction_combine.physmaterial" } } } diff --git a/AutomatedTesting/Registry/C4044457_Material_RestitutionCombine.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_FrictionCombinePriorityOrder.setreg_override similarity index 95% rename from AutomatedTesting/Registry/C4044457_Material_RestitutionCombine.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Material_FrictionCombinePriorityOrder.setreg_override index fa77daac9f..646e87bbe0 100644 --- a/AutomatedTesting/Registry/C4044457_Material_RestitutionCombine.setreg_override +++ b/AutomatedTesting/Registry/physx_overrides/Material_FrictionCombinePriorityOrder.setreg_override @@ -103,10 +103,10 @@ }, "MaterialLibrary": { "assetId": { - "guid": "{D5D6A6DE-E636-5638-B30D-6CE2FDC321F8}" + "guid": "{FBC1EFDC-2A29-5542-92BB-0389FDE72DBD}" }, "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c4044457_material_restitutioncombine/restitution_combine.physmaterial" + "assetHint": "levels/physics/material_frictioncombinepriorityorder/friction_combine.physmaterial" } } } diff --git a/AutomatedTesting/Registry/physx_overrides/Material_PerFaceMaterialGetsCorrectMaterial.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_PerFaceMaterialGetsCorrectMaterial.setreg_override new file mode 100644 index 0000000000..4fcd3899f4 --- /dev/null +++ b/AutomatedTesting/Registry/physx_overrides/Material_PerFaceMaterialGetsCorrectMaterial.setreg_override @@ -0,0 +1,115 @@ +{ + "Amazon": { + "Gems": { + "PhysX": { + "PhysXSystemConfiguration": { + "CollisionConfig": { + "Layers": { + "LayerNames": [ + "Default", + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {} + ] + }, + "Groups": { + "GroupPresets": [ + { + "Name": "All", + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" + }, + "Name": "None", + "Group": { + "Mask": 0 + }, + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" + }, + "Name": "All_NoTouchBend", + "Group": { + "Mask": 9223372036854775807 + }, + "ReadOnly": true + } + ] + } + }, + "MaterialLibrary": { + "assetId": { + "guid": "{6FA8A773-22B5-50FB-BE16-F93936E06A9A}" + }, + "loadBehavior": "QueueLoad", + "assetHint": "levels/physics/material_perfacematerialgetscorrectmaterial/test_library.physmaterial" + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Registry/physx_overrides/Material_Restitution.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_Restitution.setreg_override new file mode 100644 index 0000000000..e868d98949 --- /dev/null +++ b/AutomatedTesting/Registry/physx_overrides/Material_Restitution.setreg_override @@ -0,0 +1,115 @@ +{ + "Amazon": { + "Gems": { + "PhysX": { + "PhysXSystemConfiguration": { + "CollisionConfig": { + "Layers": { + "LayerNames": [ + "Default", + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {} + ] + }, + "Groups": { + "GroupPresets": [ + { + "Name": "All", + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" + }, + "Name": "None", + "Group": { + "Mask": 0 + }, + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" + }, + "Name": "All_NoTouchBend", + "Group": { + "Mask": 9223372036854775807 + }, + "ReadOnly": true + } + ] + } + }, + "MaterialLibrary": { + "assetId": { + "guid": "{BFE18468-C28C-5FC1-B503-8D36F966A392}" + }, + "loadBehavior": "QueueLoad", + "assetHint": "levels/physics/material_restitution/restitution.physmaterial" + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Registry/physx_overrides/Material_RestitutionCombine.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_RestitutionCombine.setreg_override new file mode 100644 index 0000000000..23e6e9446b --- /dev/null +++ b/AutomatedTesting/Registry/physx_overrides/Material_RestitutionCombine.setreg_override @@ -0,0 +1,115 @@ +{ + "Amazon": { + "Gems": { + "PhysX": { + "PhysXSystemConfiguration": { + "CollisionConfig": { + "Layers": { + "LayerNames": [ + "Default", + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {} + ] + }, + "Groups": { + "GroupPresets": [ + { + "Name": "All", + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{CDB6B8D8-5CD0-40A8-874D-839B00A92EBB}" + }, + "Name": "None", + "Group": { + "Mask": 0 + }, + "ReadOnly": true + }, + { + "Id": { + "GroupId": "{22769429-5D46-429B-829A-0115239D9AAA}" + }, + "Name": "All_NoTouchBend", + "Group": { + "Mask": 9223372036854775807 + }, + "ReadOnly": true + } + ] + } + }, + "MaterialLibrary": { + "assetId": { + "guid": "{2A29B7DB-A736-537D-B9B2-56EF32CA4647}" + }, + "loadBehavior": "QueueLoad", + "assetHint": "levels/physics/material_restitutioncombine/restitution_combine.physmaterial" + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Registry/C18977601_Material_FrictionCombinePriority.setreg_override b/AutomatedTesting/Registry/physx_overrides/Material_RestitutionCombinePriorityOrder.setreg_override similarity index 95% rename from AutomatedTesting/Registry/C18977601_Material_FrictionCombinePriority.setreg_override rename to AutomatedTesting/Registry/physx_overrides/Material_RestitutionCombinePriorityOrder.setreg_override index 7050a57206..3dc0ca972e 100644 --- a/AutomatedTesting/Registry/C18977601_Material_FrictionCombinePriority.setreg_override +++ b/AutomatedTesting/Registry/physx_overrides/Material_RestitutionCombinePriorityOrder.setreg_override @@ -103,10 +103,10 @@ }, "MaterialLibrary": { "assetId": { - "guid": "{B8749DAB-15DA-5A61-B565-C853673604CD}" + "guid": "{E973B6F4-DC8B-5CB2-B0F5-D856FE28D882}" }, "loadBehavior": "QueueLoad", - "assetHint": "levels/physics/c18977601_material_frictioncombinepriority/friction_combine.physmaterial" + "assetHint": "levels/physics/material_restitutioncombinepriorityorder/restitution_combine.physmaterial" } } } diff --git a/AutomatedTesting/Registry/C14195074_ScriptCanvas_PostUpdateEvent.setreg_override b/AutomatedTesting/Registry/physx_overrides/ScriptCanvas_PostUpdateEvent.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C14195074_ScriptCanvas_PostUpdateEvent.setreg_override rename to AutomatedTesting/Registry/physx_overrides/ScriptCanvas_PostUpdateEvent.setreg_override diff --git a/AutomatedTesting/Registry/C14902097_ScriptCanvas_PreUpdateEvent.setreg_override b/AutomatedTesting/Registry/physx_overrides/ScriptCanvas_PreUpdateEvent.setreg_override similarity index 100% rename from AutomatedTesting/Registry/C14902097_ScriptCanvas_PreUpdateEvent.setreg_override rename to AutomatedTesting/Registry/physx_overrides/ScriptCanvas_PreUpdateEvent.setreg_override diff --git a/AutomatedTesting/ScriptCanvas/C12712455_ScriptCanvas_ShapeCastVerification.scriptcanvas b/AutomatedTesting/ScriptCanvas/C12712455_ScriptCanvas_ShapeCastVerification.scriptcanvas deleted file mode 100644 index 9b1357eebe..0000000000 --- a/AutomatedTesting/ScriptCanvas/C12712455_ScriptCanvas_ShapeCastVerification.scriptcanvas +++ /dev/null @@ -1,2877 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/AutomatedTesting/ScriptCanvas/C19536274_NameNode_Prints.scriptcanvas b/AutomatedTesting/ScriptCanvas/ScriptCanvas_GetCollisionName.scriptcanvas similarity index 99% rename from AutomatedTesting/ScriptCanvas/C19536274_NameNode_Prints.scriptcanvas rename to AutomatedTesting/ScriptCanvas/ScriptCanvas_GetCollisionName.scriptcanvas index 9448af25d6..5fc5fb4d8a 100644 --- a/AutomatedTesting/ScriptCanvas/C19536274_NameNode_Prints.scriptcanvas +++ b/AutomatedTesting/ScriptCanvas/ScriptCanvas_GetCollisionName.scriptcanvas @@ -5,7 +5,7 @@ - + diff --git a/AutomatedTesting/ScriptCanvas/C12712454_ScriptCanvas_OverlapNodeVerification.scriptcanvas b/AutomatedTesting/ScriptCanvas/ScriptCanvas_OverlapNode.scriptcanvas similarity index 100% rename from AutomatedTesting/ScriptCanvas/C12712454_ScriptCanvas_OverlapNodeVerification.scriptcanvas rename to AutomatedTesting/ScriptCanvas/ScriptCanvas_OverlapNode.scriptcanvas diff --git a/AutomatedTesting/ScriptCanvas/C14195074_ScriptCanvas_PostUpdateEvent.scriptcanvas b/AutomatedTesting/ScriptCanvas/ScriptCanvas_PostUpdateEvent.scriptcanvas similarity index 99% rename from AutomatedTesting/ScriptCanvas/C14195074_ScriptCanvas_PostUpdateEvent.scriptcanvas rename to AutomatedTesting/ScriptCanvas/ScriptCanvas_PostUpdateEvent.scriptcanvas index ffdac5dd8c..2db2f9c88f 100644 --- a/AutomatedTesting/ScriptCanvas/C14195074_ScriptCanvas_PostUpdateEvent.scriptcanvas +++ b/AutomatedTesting/ScriptCanvas/ScriptCanvas_PostUpdateEvent.scriptcanvas @@ -5,7 +5,7 @@ - + diff --git a/AutomatedTesting/ScriptCanvas/C14902097_ScriptCanvas_PreUpdateEvent.scriptcanvas b/AutomatedTesting/ScriptCanvas/ScriptCanvas_PreUpdateEvent.scriptcanvas similarity index 99% rename from AutomatedTesting/ScriptCanvas/C14902097_ScriptCanvas_PreUpdateEvent.scriptcanvas rename to AutomatedTesting/ScriptCanvas/ScriptCanvas_PreUpdateEvent.scriptcanvas index 4954eb4684..f355b3e6e9 100644 --- a/AutomatedTesting/ScriptCanvas/C14902097_ScriptCanvas_PreUpdateEvent.scriptcanvas +++ b/AutomatedTesting/ScriptCanvas/ScriptCanvas_PreUpdateEvent.scriptcanvas @@ -5,7 +5,7 @@ - + diff --git a/AutomatedTesting/ScriptCanvas/ScriptCanvas_ShapeCast.scriptcanvas b/AutomatedTesting/ScriptCanvas/ScriptCanvas_ShapeCast.scriptcanvas new file mode 100644 index 0000000000..83911ddd0a --- /dev/null +++ b/AutomatedTesting/ScriptCanvas/ScriptCanvas_ShapeCast.scriptcanvas @@ -0,0 +1,1692 @@ +{ + "Type": "JsonSerialization", + "Version": 1, + "ClassName": "ScriptCanvasData", + "ClassData": { + "m_scriptCanvas": { + "Id": { + "id": 8672351796498 + }, + "Name": "ScriptCanvas_ShapeCast", + "Components": { + "Component_[1715830487162451505]": { + "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph", + "Id": 1715830487162451505, + "m_graphData": { + "m_nodes": [ + { + "Id": { + "id": 8685236698386 + }, + "Name": "SC-Node((NodeFunctionGenericMultiReturn)<{tuple(float const Sp)", + "Components": { + "Component_[17527424526662203988]": { + "$type": "(NodeFunctionGenericMultiReturn)<{tuple(float const Sp", + "Id": 17527424526662203988, + "Slots": [ + { + "id": { + "m_id": "{D7AC77DA-32BA-4741-86AB-CDA656A7760C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{D46CC4A2-380E-4E42-B0A1-176DBC19420B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{66F31F78-DDFA-4B8E-A01C-F4556C68D940}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Number: Distance", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{D8D3B073-1ACD-4170-A3C0-495E673F409A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Transform: Pose", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{A26AB3BE-A6E6-4659-8869-6D1A6B30DDAB}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Vector3: Direction", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{520D51F7-0B1F-4412-810C-6ACA2A96AA23}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Number: Radius", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{DE1A013A-7527-47E5-918C-20D13692D37A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "String: Collision group", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{20241664-EF87-4A3B-BAC2-3A43E3D99386}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: Ignore", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{F887E775-DFD5-496A-A707-DB2D6A99607B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Object Hit: Boolean", + "DisplayDataType": { + "m_type": 0 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{3EBC2F40-052C-4AB9-85CF-BFDE6ADFE237}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Position: Vector3", + "DisplayDataType": { + "m_type": 8 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{006BEA83-A09E-40AE-B09F-2FD74588492A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Normal: Vector3", + "DisplayDataType": { + "m_type": 8 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{83DCCC29-BAD8-43ED-B52E-B04877A5A2A5}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Distance: Number", + "DisplayDataType": { + "m_type": 3 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{EFEB3B68-5944-45C6-9B70-06EDA57C7459}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "EntityId: EntityID", + "DisplayDataType": { + "m_type": 1 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{700A0934-07DB-4C52-A7DE-E93B074320E8}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Surface: CRC", + "DisplayDataType": { + "m_type": 13 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 3 + }, + "isNullPointer": false, + "$type": "double", + "value": 100.0, + "label": "Number: Distance" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 7 + }, + "isNullPointer": false, + "$type": "Transform", + "value": { + "Translation": [ + 0.0, + 0.0, + 0.0 + ], + "Rotation": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "Scale": 1.0 + }, + "label": "Transform: Pose" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 8 + }, + "isNullPointer": false, + "$type": "Vector3", + "value": [ + 0.0, + 1.0, + 0.0 + ], + "label": "Vector3: Direction" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 3 + }, + "isNullPointer": false, + "$type": "double", + "value": 0.5, + "label": "Number: Radius" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 5 + }, + "isNullPointer": false, + "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string", + "value": "All", + "label": "String: Collision group" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 2901262558 + }, + "label": "EntityID: Ignore" + } + ], + "Initialized": true + } + } + }, + { + "Id": { + "id": 8676646763794 + }, + "Name": "SC-Node(Start)", + "Components": { + "Component_[17616618838173498229]": { + "$type": "Start", + "Id": 17616618838173498229, + "Slots": [ + { + "id": { + "m_id": "{F85C0F22-59F0-4829-A3B2-958CA6E475B7}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "toolTip": "Signaled when the entity that owns this graph is fully activated.", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ] + } + } + }, + { + "Id": { + "id": 8706711534866 + }, + "Name": "SC-Node(TimeDelayNodeableNode)", + "Components": { + "Component_[18154336258371736718]": { + "$type": "TimeDelayNodeableNode", + "Id": 18154336258371736718, + "Slots": [ + { + "id": { + "m_id": "{C2787E3E-CFBF-4891-B913-996173AB5E2C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Start", + "DisplayGroup": { + "Value": 2675529103 + }, + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{9F163BAD-DEFF-4545-AF74-ECC908929A3B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Delay", + "toolTip": "The amount of time to delay before the Done is signalled.", + "DisplayGroup": { + "Value": 2675529103 + }, + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{412F5500-8A95-4817-B68D-D623F614DA9A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "On Start", + "DisplayGroup": { + "Value": 2675529103 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{BB866532-A9E2-4F6B-8BDE-573FF19978BD}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Done", + "toolTip": "Signaled after waiting for the specified amount of times.", + "DisplayGroup": { + "Value": 271442091 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + }, + "IsLatent": true + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 3 + }, + "isNullPointer": false, + "$type": "double", + "value": 0.5, + "label": "Delay" + } + ], + "nodeable": { + "m_timeUnits": 2 + }, + "slotExecutionMap": { + "ins": [ + { + "_slotId": { + "m_id": "{C2787E3E-CFBF-4891-B913-996173AB5E2C}" + }, + "_inputs": [ + { + "_slotId": { + "m_id": "{9F163BAD-DEFF-4545-AF74-ECC908929A3B}" + } + } + ], + "_outs": [ + { + "_slotId": { + "m_id": "{412F5500-8A95-4817-B68D-D623F614DA9A}" + }, + "_name": "On Start", + "_interfaceSourceId": "{10B6E401-6101-0000-6088-EF3E51000000}" + } + ], + "_interfaceSourceId": "{8089EF3E-5100-0000-9086-EF3E51000000}" + } + ], + "latents": [ + { + "_slotId": { + "m_id": "{BB866532-A9E2-4F6B-8BDE-573FF19978BD}" + }, + "_name": "Done", + "_interfaceSourceId": "{8089EF3E-5100-0000-9086-EF3E51000000}" + } + ] + } + } + } + }, + { + "Id": { + "id": 8698121600274 + }, + "Name": "SC-Node(DrawSphereAtLocation)", + "Components": { + "Component_[4372033099563884915]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 4372033099563884915, + "Slots": [ + { + "id": { + "m_id": "{130E7595-7F23-4DB4-9F63-F65F59802520}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Vector3: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{60E43462-5901-4CAF-A401-85A4FCA7508C}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Number: 1", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{1E920F17-3D6F-4CE0-B2D2-3D3C100F8419}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Color: 2", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{506CF2BF-0DF2-41C2-9D41-80191C59AC05}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Number: 3", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{2D4EE0B2-CB04-450A-BF88-0865D83DAD43}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{26873BC3-2AB5-428A-92EE-1AD26052194E}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 8 + }, + "isNullPointer": false, + "$type": "Vector3", + "value": [ + 0.0, + 0.0, + 0.0 + ], + "label": "Vector3: 0" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 3 + }, + "isNullPointer": false, + "$type": "double", + "value": 0.5, + "label": "Number: 1" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 12 + }, + "isNullPointer": false, + "$type": "Color", + "value": [ + 1.0, + 0.0, + 0.0, + 0.3921568989753723 + ], + "label": "Color: 2" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 3 + }, + "isNullPointer": false, + "$type": "double", + "value": 10.0, + "label": "Number: 3" + } + ], + "methodType": 0, + "methodName": "DrawSphereAtLocation", + "className": "DebugDrawRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "DebugDrawRequestBus" + } + } + }, + { + "Id": { + "id": 8702416567570 + }, + "Name": "SC-Node(SetGravityEnabled)", + "Components": { + "Component_[4963491059979349551]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 4963491059979349551, + "Slots": [ + { + "id": { + "m_id": "{346B23A2-69F8-4055-916C-E5285627347B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{96A5579D-5DBF-43C2-BE9A-6E6E3DB5F274}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Boolean: 1", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{EFE54C57-C69A-416B-B679-F324C5F8220A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{B672C4F4-B452-4260-B16B-107BE14D4A29}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 6946861790754 + }, + "label": "Source" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 0 + }, + "isNullPointer": false, + "$type": "bool", + "value": true, + "label": "Enabled" + } + ], + "methodType": 0, + "methodName": "SetGravityEnabled", + "className": "RigidBodyRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "RigidBodyRequestBus" + } + } + }, + { + "Id": { + "id": 8680941731090 + }, + "Name": "SC-Node(SetGravityEnabled)", + "Components": { + "Component_[4963491059979349551]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 4963491059979349551, + "Slots": [ + { + "id": { + "m_id": "{346B23A2-69F8-4055-916C-E5285627347B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{96A5579D-5DBF-43C2-BE9A-6E6E3DB5F274}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Boolean: 1", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{EFE54C57-C69A-416B-B679-F324C5F8220A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{B672C4F4-B452-4260-B16B-107BE14D4A29}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 6951156758050 + }, + "label": "Source" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 0 + }, + "isNullPointer": false, + "$type": "bool", + "value": true, + "label": "Enabled" + } + ], + "methodType": 0, + "methodName": "SetGravityEnabled", + "className": "RigidBodyRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "RigidBodyRequestBus" + } + } + }, + { + "Id": { + "id": 8689531665682 + }, + "Name": "SC-Node(SetGravityEnabled)", + "Components": { + "Component_[4963491059979349551]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 4963491059979349551, + "Slots": [ + { + "id": { + "m_id": "{346B23A2-69F8-4055-916C-E5285627347B}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{96A5579D-5DBF-43C2-BE9A-6E6E3DB5F274}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "Boolean: 1", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{EFE54C57-C69A-416B-B679-F324C5F8220A}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{B672C4F4-B452-4260-B16B-107BE14D4A29}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 20016447272482 + }, + "label": "Source" + }, + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 0 + }, + "isNullPointer": false, + "$type": "bool", + "value": true, + "label": "Enabled" + } + ], + "methodType": 0, + "methodName": "SetGravityEnabled", + "className": "RigidBodyRequestBus", + "resultSlotIDs": [ + {} + ], + "prettyClassName": "RigidBodyRequestBus" + } + } + }, + { + "Id": { + "id": 8693826632978 + }, + "Name": "SC-Node(GetWorldTM)", + "Components": { + "Component_[9713463285310435196]": { + "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method", + "Id": 9713463285310435196, + "Slots": [ + { + "id": { + "m_id": "{63CFCFFA-AD2D-4BCF-B5F4-E632DE8546AD}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Result: Transform", + "DisplayDataType": { + "m_type": 7 + }, + "Descriptor": { + "ConnectionType": 2, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{B22FC7CE-DFE3-4118-B98E-F99EA94A7160}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + }, + null + ], + "slotName": "EntityID: 0", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 2 + }, + "DataType": 1 + }, + { + "id": { + "m_id": "{94D6DD7F-0835-4AF2-8C0D-F5C04A627F09}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "In", + "Descriptor": { + "ConnectionType": 1, + "SlotType": 1 + } + }, + { + "id": { + "m_id": "{AF7BF67F-4EFD-4B17-8D9E-28D360E229C4}" + }, + "contracts": [ + { + "$type": "SlotTypeContract" + } + ], + "slotName": "Out", + "Descriptor": { + "ConnectionType": 2, + "SlotType": 1 + } + } + ], + "Datums": [ + { + "isOverloadedStorage": false, + "scriptCanvasType": { + "m_type": 1 + }, + "isNullPointer": false, + "$type": "EntityId", + "value": { + "id": 285423519414 + }, + "label": "Source" + } + ], + "methodType": 0, + "methodName": "GetWorldTM", + "className": "TransformBus", + "resultSlotIDs": [ + { + "m_id": "{63CFCFFA-AD2D-4BCF-B5F4-E632DE8546AD}" + } + ], + "prettyClassName": "TransformBus" + } + } + } + ], + "m_connections": [ + { + "Id": { + "id": 8711006502162 + }, + "Name": "srcEndpoint=(TimeDelay: Done), destEndpoint=(GetWorldTM: In)", + "Components": { + "Component_[7737581004071114865]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 7737581004071114865, + "sourceEndpoint": { + "nodeId": { + "id": 8706711534866 + }, + "slotId": { + "m_id": "{BB866532-A9E2-4F6B-8BDE-573FF19978BD}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8693826632978 + }, + "slotId": { + "m_id": "{94D6DD7F-0835-4AF2-8C0D-F5C04A627F09}" + } + } + } + } + }, + { + "Id": { + "id": 8715301469458 + }, + "Name": "srcEndpoint=(SphereCastWithGroup: Out), destEndpoint=(DrawSphereAtLocation: In)", + "Components": { + "Component_[2579605655438959770]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 2579605655438959770, + "sourceEndpoint": { + "nodeId": { + "id": 8685236698386 + }, + "slotId": { + "m_id": "{D46CC4A2-380E-4E42-B0A1-176DBC19420B}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8698121600274 + }, + "slotId": { + "m_id": "{2D4EE0B2-CB04-450A-BF88-0865D83DAD43}" + } + } + } + } + }, + { + "Id": { + "id": 8719596436754 + }, + "Name": "srcEndpoint=(SphereCastWithGroup: Out), destEndpoint=(SetGravityEnabled: In)", + "Components": { + "Component_[10204073618203833060]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 10204073618203833060, + "sourceEndpoint": { + "nodeId": { + "id": 8685236698386 + }, + "slotId": { + "m_id": "{D46CC4A2-380E-4E42-B0A1-176DBC19420B}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8680941731090 + }, + "slotId": { + "m_id": "{EFE54C57-C69A-416B-B679-F324C5F8220A}" + } + } + } + } + }, + { + "Id": { + "id": 8723891404050 + }, + "Name": "srcEndpoint=(SphereCastWithGroup: Position: Vector3), destEndpoint=(DrawSphereAtLocation: Vector3: 0)", + "Components": { + "Component_[8680294304213498063]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 8680294304213498063, + "sourceEndpoint": { + "nodeId": { + "id": 8685236698386 + }, + "slotId": { + "m_id": "{3EBC2F40-052C-4AB9-85CF-BFDE6ADFE237}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8698121600274 + }, + "slotId": { + "m_id": "{130E7595-7F23-4DB4-9F63-F65F59802520}" + } + } + } + } + }, + { + "Id": { + "id": 8728186371346 + }, + "Name": "srcEndpoint=(GetWorldTM: Result: Transform), destEndpoint=(SphereCastWithGroup: Transform: Pose)", + "Components": { + "Component_[17208443392918658715]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 17208443392918658715, + "sourceEndpoint": { + "nodeId": { + "id": 8693826632978 + }, + "slotId": { + "m_id": "{63CFCFFA-AD2D-4BCF-B5F4-E632DE8546AD}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8685236698386 + }, + "slotId": { + "m_id": "{D8D3B073-1ACD-4170-A3C0-495E673F409A}" + } + } + } + } + }, + { + "Id": { + "id": 8732481338642 + }, + "Name": "srcEndpoint=(DrawSphereAtLocation: Out), destEndpoint=(SetGravityEnabled: In)", + "Components": { + "Component_[15585314878063913195]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 15585314878063913195, + "sourceEndpoint": { + "nodeId": { + "id": 8698121600274 + }, + "slotId": { + "m_id": "{26873BC3-2AB5-428A-92EE-1AD26052194E}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8702416567570 + }, + "slotId": { + "m_id": "{EFE54C57-C69A-416B-B679-F324C5F8220A}" + } + } + } + } + }, + { + "Id": { + "id": 8736776305938 + }, + "Name": "srcEndpoint=(On Graph Start: Out), destEndpoint=(TimeDelay: Start)", + "Components": { + "Component_[6013147305095983432]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 6013147305095983432, + "sourceEndpoint": { + "nodeId": { + "id": 8676646763794 + }, + "slotId": { + "m_id": "{F85C0F22-59F0-4829-A3B2-958CA6E475B7}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8706711534866 + }, + "slotId": { + "m_id": "{C2787E3E-CFBF-4891-B913-996173AB5E2C}" + } + } + } + } + }, + { + "Id": { + "id": 8741071273234 + }, + "Name": "srcEndpoint=(GetWorldTM: Out), destEndpoint=(SetGravityEnabled: In)", + "Components": { + "Component_[12606540412460381315]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 12606540412460381315, + "sourceEndpoint": { + "nodeId": { + "id": 8693826632978 + }, + "slotId": { + "m_id": "{AF7BF67F-4EFD-4B17-8D9E-28D360E229C4}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8689531665682 + }, + "slotId": { + "m_id": "{EFE54C57-C69A-416B-B679-F324C5F8220A}" + } + } + } + } + }, + { + "Id": { + "id": 8745366240530 + }, + "Name": "srcEndpoint=(GetWorldTM: Out), destEndpoint=(SphereCastWithGroup: In)", + "Components": { + "Component_[2294691910181778131]": { + "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection", + "Id": 2294691910181778131, + "sourceEndpoint": { + "nodeId": { + "id": 8693826632978 + }, + "slotId": { + "m_id": "{AF7BF67F-4EFD-4B17-8D9E-28D360E229C4}" + } + }, + "targetEndpoint": { + "nodeId": { + "id": 8685236698386 + }, + "slotId": { + "m_id": "{D7AC77DA-32BA-4741-86AB-CDA656A7760C}" + } + } + } + } + } + ] + }, + "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}", + "versionData": { + "_grammarVersion": 1, + "_runtimeVersion": 1 + }, + "GraphCanvasData": [ + { + "Key": { + "id": 8672351796498 + }, + "Value": { + "ComponentData": { + "{5F84B500-8C45-40D1-8EFC-A5306B241444}": { + "$type": "SceneComponentSaveData", + "ViewParams": { + "Scale": 0.21511092130869494, + "AnchorX": -832.1288452148438, + "AnchorY": -418.3887939453125 + } + } + } + } + }, + { + "Key": { + "id": 8676646763794 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "TimeNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -680.0, + 320.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".time" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{329A591F-9482-44F3-93AA-1F135C714680}" + } + } + } + }, + { + "Key": { + "id": 8680941731090 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 960.0, + 40.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{1E66D38D-9F4F-4A41-8989-494911B8ECE1}" + } + } + } + }, + { + "Key": { + "id": 8685236698386 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "DefaultNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 320.0, + 300.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{146B2DD0-7DD3-4114-B288-9BFF68E8E573}" + } + } + } + }, + { + "Key": { + "id": 8689531665682 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 320.0, + 40.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{4A8567AB-9A67-4125-A703-18F42A301860}" + } + } + } + }, + { + "Key": { + "id": 8693826632978 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -200.0, + 300.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{C8023DDA-EC97-47D0-B8DA-B4A5D4F2FAB6}" + } + } + } + }, + { + "Key": { + "id": 8698121600274 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 940.0, + 300.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{71F03C63-D5DA-44ED-8295-98753174CF45}" + } + } + } + }, + { + "Key": { + "id": 8702416567570 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "MethodNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + 1440.0, + 320.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData", + "SubStyle": ".method" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{C25726FB-502F-4D29-8F8F-704F4C7EA764}" + } + } + } + }, + { + "Key": { + "id": 8706711534866 + }, + "Value": { + "ComponentData": { + "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": { + "$type": "NodeSaveData" + }, + "{328FF15C-C302-458F-A43D-E1794DE0904E}": { + "$type": "GeneralNodeTitleComponentSaveData", + "PaletteOverride": "TimeNodeTitlePalette" + }, + "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": { + "$type": "GeometrySaveData", + "Position": [ + -520.0, + 300.0 + ] + }, + "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": { + "$type": "StylingComponentSaveData" + }, + "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": { + "$type": "PersistentIdComponentSaveData", + "PersistentId": "{CA58C4FF-B941-42C6-94F2-5FB4E7E879E2}" + } + } + } + } + ], + "StatisticsHelper": { + "InstanceCounter": [ + { + "Key": 4199610336680704683, + "Value": 1 + }, + { + "Key": 6462358712820489356, + "Value": 1 + }, + { + "Key": 13774516226110902316, + "Value": 1 + }, + { + "Key": 13774516349808062548, + "Value": 3 + }, + { + "Key": 13774516555687402408, + "Value": 1 + }, + { + "Key": 16812277148590053560, + "Value": 1 + } + ] + } + }, + "Component_[7390341204452664972]": { + "$type": "EditorGraphVariableManagerComponent", + "Id": 7390341204452664972 + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/ScriptCanvas/C6224408_ScriptCanvas_EntitySpawn.scriptcanvas b/AutomatedTesting/ScriptCanvas/ScriptCanvas_SpawnEntityWithPhysComponents.scriptcanvas similarity index 99% rename from AutomatedTesting/ScriptCanvas/C6224408_ScriptCanvas_EntitySpawn.scriptcanvas rename to AutomatedTesting/ScriptCanvas/ScriptCanvas_SpawnEntityWithPhysComponents.scriptcanvas index 73dd8c887b..fda9e1f78f 100644 --- a/AutomatedTesting/ScriptCanvas/C6224408_ScriptCanvas_EntitySpawn.scriptcanvas +++ b/AutomatedTesting/ScriptCanvas/ScriptCanvas_SpawnEntityWithPhysComponents.scriptcanvas @@ -5,7 +5,7 @@ - + diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a668af6a1..43b0dd240e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,7 @@ ly_delayed_generate_runtime_dependencies() ly_test_impact_post_step() # 7. Generate the O3DE find file and setup install locations for scripts, tools, assets etc., required by the engine -if(NOT INSTALLED_ENGINE) +if(LY_INSTALL_ENABLED) # 8. Generate the O3DE find file and setup install locations for scripts, tools, assets etc., required by the engine ly_setup_o3de_install() # 9. CPack information (to be included after install) diff --git a/Code/Editor/Commands/CommandManager.cpp b/Code/Editor/Commands/CommandManager.cpp index 5f194971f5..4943621493 100644 --- a/Code/Editor/Commands/CommandManager.cpp +++ b/Code/Editor/Commands/CommandManager.cpp @@ -236,10 +236,7 @@ QString CEditorCommandManager::Execute(const AZStd::string& module, const AZStd: } else { - QString errMsg; - - errMsg = QStringLiteral("Error: Trying to execute a unknown command, '%1'!").arg(fullName.c_str()); - CryLogAlways(errMsg.toUtf8().data()); + CryLogAlways("Error: Trying to execute a unknown command, '%s'!", fullName.c_str()); } return ""; @@ -272,10 +269,7 @@ QString CEditorCommandManager::Execute(const AZStd::string& cmdLine) } else { - QString errMsg; - - errMsg = QStringLiteral("Error: Trying to execute a unknown command, '%1'!").arg(cmdLine.c_str()); - CryLogAlways(errMsg.toUtf8().data()); + CryLogAlways("Error: Trying to execute a unknown command, '%s'!", cmdLine.c_str()); } return ""; @@ -294,10 +288,7 @@ void CEditorCommandManager::Execute(int commandId) } else { - QString errMsg; - - errMsg = QStringLiteral("Error: Trying to execute a unknown command of ID '%1'!").arg(commandId); - CryLogAlways(errMsg.toUtf8().data()); + CryLogAlways("Error: Trying to execute a unknown command of ID '%d'!", commandId); } } diff --git a/Code/Editor/ConsoleDialog.cpp b/Code/Editor/ConsoleDialog.cpp index 2f1c3e6f58..7edb12c18c 100644 --- a/Code/Editor/ConsoleDialog.cpp +++ b/Code/Editor/ConsoleDialog.cpp @@ -36,7 +36,7 @@ void CConsoleDialog::SetInfoText(const char* text) { if (gEnv && gEnv->pLog) // before log system was initialized { - CryLogAlways(text); + CryLogAlways("%s", text); } } diff --git a/Code/Editor/Controls/ConsoleSCB.cpp b/Code/Editor/Controls/ConsoleSCB.cpp index 6b12348880..51d6f8e2e1 100644 --- a/Code/Editor/Controls/ConsoleSCB.cpp +++ b/Code/Editor/Controls/ConsoleSCB.cpp @@ -26,9 +26,6 @@ #include #include -// CryCommon -#include - // Editor #include "QtViewPaneManager.h" #include "Core/QtEditorApplication.h" @@ -392,7 +389,7 @@ void CConsoleSCB::RegisterViewClass() opts.showInMenu = true; opts.builtInActionId = ID_VIEW_CONSOLEWINDOW; opts.shortcut = QKeySequence(Qt::Key_QuoteLeft); - + AzToolsFramework::RegisterViewPane(LyViewPane::Console, LyViewPane::CategoryTools, opts); } @@ -421,9 +418,6 @@ void CConsoleSCB::RefreshStyle() m_colorTable[6] = QColor(0xff, 0xaa, 0x22); // Warning (Yellow) } - m_colorTable[0] = textColor; - m_colorTable[1] = textColor; - const bool uiAndDark = !GetIEditor()->IsInConsolewMode() && CConsoleSCB::GetCreatedInstance() && m_backgroundTheme == AzToolsFramework::ConsoleColorTheme::Dark; QColor bgColor; @@ -435,8 +429,13 @@ void CConsoleSCB::RefreshStyle() else { bgColor = Qt::white; + textColor = Qt::black; AzQtComponents::ScrollBar::applyDarkStyle(ui->textEdit); } + + m_colorTable[0] = textColor; + m_colorTable[1] = textColor; + ui->textEdit->setBackgroundVisible(!uiAndDark); ui->textEdit->setStyleSheet(uiAndDark ? QString() : QString("QPlainTextEdit{ background: %1 }").arg(bgColor.name(QColor::HexRgb))); @@ -604,8 +603,7 @@ static CVarBlock* VarBlockFromConsoleVars() // Add our on change handler so we can update the CVariable created for // the matching ICVar that has been modified - SFunctor onChange; - onChange.Set(OnVariableUpdated, i, pCVar); + AZStd::function onChange = [row=i,pCVar=pCVar]() { OnVariableUpdated(row,pCVar); }; pCVar->AddOnChangeFunctor(onChange); pVariable->SetDescription(pCVar->GetHelp()); @@ -927,7 +925,7 @@ QWidget* ConsoleVariableItemDelegate::createEditor(QWidget* parent, const QStyle return editor; } } - + // If we get here, value being edited is a string, so use our styled line // edit widget AzQtComponents::StyledLineEdit* lineEdit = new AzQtComponents::StyledLineEdit(parent); diff --git a/Code/Editor/CryEditDoc.cpp b/Code/Editor/CryEditDoc.cpp index 9a7e7cc846..ec9a00d1ac 100644 --- a/Code/Editor/CryEditDoc.cpp +++ b/Code/Editor/CryEditDoc.cpp @@ -1887,16 +1887,6 @@ void CCryEditDoc::SetDocumentReady(bool bReady) m_bDocumentReady = bReady; } -void CCryEditDoc::GetMemoryUsage(ICrySizer* pSizer) const -{ - { - SIZER_COMPONENT_NAME(pSizer, "UndoManager(estimate)"); - GetIEditor()->GetUndoManager()->GetMemoryUsage(pSizer); - } - - pSizer->Add(*this); -} - void CCryEditDoc::RegisterConsoleVariables() { doc_validate_surface_types = gEnv->pConsole->GetCVar("doc_validate_surface_types"); diff --git a/Code/Editor/CryEditDoc.h b/Code/Editor/CryEditDoc.h index a96e9428b6..9c4c4b3fd9 100644 --- a/Code/Editor/CryEditDoc.h +++ b/Code/Editor/CryEditDoc.h @@ -129,8 +129,6 @@ public: // Create from serialization only void RegisterListener(IDocListener* listener); void UnregisterListener(IDocListener* listener); - void GetMemoryUsage(ICrySizer* pSizer) const; - static bool IsBackupOrTempLevelSubdirectory(const QString& folderName); protected: diff --git a/Code/Editor/EditorPreferencesDialog.cpp b/Code/Editor/EditorPreferencesDialog.cpp index c3fc4139f6..c56df15908 100644 --- a/Code/Editor/EditorPreferencesDialog.cpp +++ b/Code/Editor/EditorPreferencesDialog.cpp @@ -27,8 +27,8 @@ #include "EditorPreferencesPageGeneral.h" #include "EditorPreferencesPageFiles.h" #include "EditorPreferencesPageViewportGeneral.h" -#include "EditorPreferencesPageViewportGizmo.h" -#include "EditorPreferencesPageViewportMovement.h" +#include "EditorPreferencesPageViewportManipulator.h" +#include "EditorPreferencesPageViewportCamera.h" #include "EditorPreferencesPageViewportDebug.h" #include "EditorPreferencesPageExperimentalLighting.h" #include "EditorPreferencesPageAWS.h" @@ -65,8 +65,8 @@ EditorPreferencesDialog::EditorPreferencesDialog(QWidget* pParent) CEditorPreferencesPage_General::Reflect(*serializeContext); CEditorPreferencesPage_Files::Reflect(*serializeContext); CEditorPreferencesPage_ViewportGeneral::Reflect(*serializeContext); - CEditorPreferencesPage_ViewportGizmo::Reflect(*serializeContext); - CEditorPreferencesPage_ViewportMovement::Reflect(*serializeContext); + CEditorPreferencesPage_ViewportManipulator::Reflect(*serializeContext); + CEditorPreferencesPage_ViewportCamera::Reflect(*serializeContext); CEditorPreferencesPage_ViewportDebug::Reflect(*serializeContext); CEditorPreferencesPage_ExperimentalLighting::Reflect(*serializeContext); CEditorPreferencesPage_AWS::Reflect(*serializeContext); diff --git a/Code/Editor/EditorPreferencesPageViewportMovement.cpp b/Code/Editor/EditorPreferencesPageViewportCamera.cpp similarity index 91% rename from Code/Editor/EditorPreferencesPageViewportMovement.cpp rename to Code/Editor/EditorPreferencesPageViewportCamera.cpp index 74abb3f207..368d2769f8 100644 --- a/Code/Editor/EditorPreferencesPageViewportMovement.cpp +++ b/Code/Editor/EditorPreferencesPageViewportCamera.cpp @@ -8,7 +8,7 @@ #include "EditorDefs.h" -#include "EditorPreferencesPageViewportMovement.h" +#include "EditorPreferencesPageViewportCamera.h" #include #include @@ -58,7 +58,7 @@ static AZStd::vector GetEditorInputNames() return inputNames; } -void CEditorPreferencesPage_ViewportMovement::Reflect(AZ::SerializeContext& serialize) +void CEditorPreferencesPage_ViewportCamera::Reflect(AZ::SerializeContext& serialize) { serialize.Class() ->Version(2) @@ -93,36 +93,37 @@ void CEditorPreferencesPage_ViewportMovement::Reflect(AZ::SerializeContext& seri ->Field("OrbitDolly", &CameraInputSettings::m_orbitDollyChannelId) ->Field("OrbitPan", &CameraInputSettings::m_orbitPanChannelId); - serialize.Class() + serialize.Class() ->Version(1) - ->Field("CameraMovementSettings", &CEditorPreferencesPage_ViewportMovement::m_cameraMovementSettings) - ->Field("CameraInputSettings", &CEditorPreferencesPage_ViewportMovement::m_cameraInputSettings); + ->Field("CameraMovementSettings", &CEditorPreferencesPage_ViewportCamera::m_cameraMovementSettings) + ->Field("CameraInputSettings", &CEditorPreferencesPage_ViewportCamera::m_cameraInputSettings); if (AZ::EditContext* editContext = serialize.GetEditContext()) { + const float minValue = 0.0001f; editContext->Class("Camera Movement Settings", "") ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_translateSpeed, "Camera Movement Speed", "Camera movement speed") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_rotateSpeed, "Camera Rotation Speed", "Camera rotation speed") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_boostMultiplier, "Camera Boost Multiplier", "Camera boost multiplier to apply to movement speed") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_scrollSpeed, "Camera Scroll Speed", "Camera movement speed while using scroll/wheel input") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_dollySpeed, "Camera Dolly Speed", "Camera movement speed while using mouse motion to move in and out") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_panSpeed, "Camera Pan Speed", "Camera movement speed while panning using the mouse") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->DataElement( AZ::Edit::UIHandlers::CheckBox, &CameraMovementSettings::m_rotateSmoothing, "Camera Rotate Smoothing", "Is camera rotation smoothing enabled or disabled") @@ -130,7 +131,7 @@ void CEditorPreferencesPage_ViewportMovement::Reflect(AZ::SerializeContext& seri ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_rotateSmoothness, "Camera Rotate Smoothness", "Amount of camera smoothing to apply while rotating the camera") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->Attribute(AZ::Edit::Attributes::Visibility, &CameraMovementSettings::RotateSmoothingVisibility) ->DataElement( AZ::Edit::UIHandlers::CheckBox, &CameraMovementSettings::m_translateSmoothing, "Camera Translate Smoothing", @@ -139,7 +140,7 @@ void CEditorPreferencesPage_ViewportMovement::Reflect(AZ::SerializeContext& seri ->DataElement( AZ::Edit::UIHandlers::SpinBox, &CameraMovementSettings::m_translateSmoothness, "Camera Translate Smoothness", "Amount of camera smoothing to apply while translating the camera") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Min, minValue) ->Attribute(AZ::Edit::Attributes::Visibility, &CameraMovementSettings::TranslateSmoothingVisibility) ->DataElement( AZ::Edit::UIHandlers::CheckBox, &CameraMovementSettings::m_orbitYawRotationInverted, "Camera Orbit Yaw Inverted", @@ -207,35 +208,50 @@ void CEditorPreferencesPage_ViewportMovement::Reflect(AZ::SerializeContext& seri "Key/button to begin camera orbit pan") ->Attribute(AZ::Edit::Attributes::StringList, &GetEditorInputNames); - editContext->Class("Viewport Preferences", "Viewport Preferences") + editContext->Class("Viewport Preferences", "Viewport Preferences") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::Visibility, AZ_CRC("PropertyVisibility_ShowChildrenOnly", 0xef428f20)) ->DataElement( - AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportMovement::m_cameraMovementSettings, + AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportCamera::m_cameraMovementSettings, "Camera Movement Settings", "Camera Movement Settings") ->DataElement( - AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportMovement::m_cameraInputSettings, "Camera Input Settings", + AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportCamera::m_cameraInputSettings, "Camera Input Settings", "Camera Input Settings"); } } -CEditorPreferencesPage_ViewportMovement::CEditorPreferencesPage_ViewportMovement() +CEditorPreferencesPage_ViewportCamera::CEditorPreferencesPage_ViewportCamera() { InitializeSettings(); m_icon = QIcon(":/res/Camera.svg"); } -const char* CEditorPreferencesPage_ViewportMovement::GetTitle() +const char* CEditorPreferencesPage_ViewportCamera::GetCategory() +{ + return "Viewports"; +} + +const char* CEditorPreferencesPage_ViewportCamera::GetTitle() { return "Camera"; } -QIcon& CEditorPreferencesPage_ViewportMovement::GetIcon() +QIcon& CEditorPreferencesPage_ViewportCamera::GetIcon() { return m_icon; } -void CEditorPreferencesPage_ViewportMovement::OnApply() +void CEditorPreferencesPage_ViewportCamera::OnCancel() +{ + // noop +} + +bool CEditorPreferencesPage_ViewportCamera::OnQueryCancel() +{ + return true; +} + +void CEditorPreferencesPage_ViewportCamera::OnApply() { SandboxEditor::SetCameraTranslateSpeed(m_cameraMovementSettings.m_translateSpeed); SandboxEditor::SetCameraRotateSpeed(m_cameraMovementSettings.m_rotateSpeed); @@ -270,7 +286,7 @@ void CEditorPreferencesPage_ViewportMovement::OnApply() &SandboxEditor::EditorModularViewportCameraComposerNotificationBus::Events::OnEditorModularViewportCameraComposerSettingsChanged); } -void CEditorPreferencesPage_ViewportMovement::InitializeSettings() +void CEditorPreferencesPage_ViewportCamera::InitializeSettings() { m_cameraMovementSettings.m_translateSpeed = SandboxEditor::CameraTranslateSpeed(); m_cameraMovementSettings.m_rotateSpeed = SandboxEditor::CameraRotateSpeed(); diff --git a/Code/Editor/EditorPreferencesPageViewportMovement.h b/Code/Editor/EditorPreferencesPageViewportCamera.h similarity index 79% rename from Code/Editor/EditorPreferencesPageViewportMovement.h rename to Code/Editor/EditorPreferencesPageViewportCamera.h index b7482fb048..31a728599f 100644 --- a/Code/Editor/EditorPreferencesPageViewportMovement.h +++ b/Code/Editor/EditorPreferencesPageViewportCamera.h @@ -19,32 +19,22 @@ inline AZ::Crc32 EditorPropertyVisibility(const bool enabled) return enabled ? AZ::Edit::PropertyVisibility::Show : AZ::Edit::PropertyVisibility::Hide; } -class CEditorPreferencesPage_ViewportMovement : public IPreferencesPage +class CEditorPreferencesPage_ViewportCamera : public IPreferencesPage { public: - AZ_RTTI(CEditorPreferencesPage_ViewportMovement, "{BC593332-7EAF-4171-8A35-1C5DE5B40909}", IPreferencesPage) + AZ_RTTI(CEditorPreferencesPage_ViewportCamera, "{BC593332-7EAF-4171-8A35-1C5DE5B40909}", IPreferencesPage) static void Reflect(AZ::SerializeContext& serialize); - CEditorPreferencesPage_ViewportMovement(); - virtual ~CEditorPreferencesPage_ViewportMovement() = default; + CEditorPreferencesPage_ViewportCamera(); + virtual ~CEditorPreferencesPage_ViewportCamera() = default; - virtual const char* GetCategory() override - { - return "Viewports"; - } - - virtual const char* GetTitle(); - virtual QIcon& GetIcon() override; - virtual void OnApply() override; - virtual void OnCancel() override - { - } - - virtual bool OnQueryCancel() override - { - return true; - } + const char* GetCategory() override; + const char* GetTitle() override; + QIcon& GetIcon() override; + void OnApply() override; + void OnCancel() override; + bool OnQueryCancel() override; private: void InitializeSettings(); diff --git a/Code/Editor/EditorPreferencesPageViewportGizmo.cpp b/Code/Editor/EditorPreferencesPageViewportGizmo.cpp deleted file mode 100644 index 90129bb6a5..0000000000 --- a/Code/Editor/EditorPreferencesPageViewportGizmo.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#include "EditorDefs.h" - -#include "EditorPreferencesPageViewportGizmo.h" - -// Editor -#include "Settings.h" - - -void CEditorPreferencesPage_ViewportGizmo::Reflect(AZ::SerializeContext& serialize) -{ - serialize.Class() - ->Version(1) - ->Field("Size", &AxisGizmo::m_size) - ->Field("Text", &AxisGizmo::m_text) - ->Field("MaxCount", &AxisGizmo::m_maxCount); - - serialize.Class() - ->Version(1) - ->Field("LabelsOn", &Helpers::m_helpersGlobalScale) - ->Field("LabelsOn", &Helpers::m_tagpointScaleMulti) - ->Field("LabelsOn", &Helpers::m_rulerSphereScale) - ->Field("LabelsDistance", &Helpers::m_rulerSphereTrans); - - serialize.Class() - ->Version(1) - ->Field("Axis Gizmo", &CEditorPreferencesPage_ViewportGizmo::m_axisGizmo) - ->Field("Helpers", &CEditorPreferencesPage_ViewportGizmo::m_helpers); - - AZ::EditContext* editContext = serialize.GetEditContext(); - if (editContext) - { - editContext->Class("Axis Gizmo", "") - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &AxisGizmo::m_size, "Size", "Axis Gizmo Size") - ->DataElement(AZ::Edit::UIHandlers::CheckBox, &AxisGizmo::m_text, "Text Labels", "Text Labels on Axis Gizmo") - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &AxisGizmo::m_maxCount, "Max Count", "Max Count of Axis Gizmos"); - - editContext->Class("Helpers", "") - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_helpersGlobalScale, "Helpers Scale", "Helpers Scale") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f) - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_tagpointScaleMulti, "Tagpoint Scale Multiplier", "Tagpoint Scale Multiplier") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f) - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_rulerSphereScale, "Ruler Sphere Scale", "Ruler Sphere Scale") - ->Attribute(AZ::Edit::Attributes::Min, 0.1f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f) - ->Attribute(AZ::Edit::Attributes::Step, 0.1f) - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_rulerSphereTrans, "Ruler Sphere Transparency", "Ruler Sphere Transparency") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f); - - editContext->Class("Gizmo Viewport Preferences", "Gizmo Viewport Preferences") - ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->Attribute(AZ::Edit::Attributes::Visibility, AZ_CRC("PropertyVisibility_ShowChildrenOnly", 0xef428f20)) - ->DataElement(AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportGizmo::m_axisGizmo, "Axis Gizmo", "Axis Gizmo") - ->DataElement(AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportGizmo::m_helpers, "Helpers", "Helpers"); - } -} - -CEditorPreferencesPage_ViewportGizmo::CEditorPreferencesPage_ViewportGizmo() -{ - InitializeSettings(); - m_icon = QIcon(":/res/Gizmos.svg"); -} - -QIcon& CEditorPreferencesPage_ViewportGizmo::GetIcon() -{ - return m_icon; -} - -void CEditorPreferencesPage_ViewportGizmo::OnApply() -{ - gSettings.gizmo.axisGizmoSize = m_axisGizmo.m_size; - gSettings.gizmo.axisGizmoText = m_axisGizmo.m_text; - gSettings.gizmo.axisGizmoMaxCount = m_axisGizmo.m_maxCount; - - gSettings.gizmo.helpersScale = m_helpers.m_helpersGlobalScale; - gSettings.gizmo.tagpointScaleMulti = m_helpers.m_tagpointScaleMulti; - gSettings.gizmo.rulerSphereScale = m_helpers.m_rulerSphereScale; - gSettings.gizmo.rulerSphereTrans = m_helpers.m_rulerSphereTrans; -} - -void CEditorPreferencesPage_ViewportGizmo::InitializeSettings() -{ - m_axisGizmo.m_size = gSettings.gizmo.axisGizmoSize; - m_axisGizmo.m_text = gSettings.gizmo.axisGizmoText; - m_axisGizmo.m_maxCount = gSettings.gizmo.axisGizmoMaxCount; - - m_helpers.m_helpersGlobalScale = gSettings.gizmo.helpersScale; - m_helpers.m_tagpointScaleMulti = gSettings.gizmo.tagpointScaleMulti; - m_helpers.m_rulerSphereScale = gSettings.gizmo.rulerSphereScale; - m_helpers.m_rulerSphereTrans = gSettings.gizmo.rulerSphereTrans; -} diff --git a/Code/Editor/EditorPreferencesPageViewportGizmo.h b/Code/Editor/EditorPreferencesPageViewportGizmo.h deleted file mode 100644 index 1534e5f51e..0000000000 --- a/Code/Editor/EditorPreferencesPageViewportGizmo.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#pragma once - -#include "Include/IPreferencesPage.h" -#include -#include -#include -#include -#include - - -class CEditorPreferencesPage_ViewportGizmo - : public IPreferencesPage -{ -public: - AZ_RTTI(CEditorPreferencesPage_ViewportGizmo, "{14433511-8175-4348-954E-82D903475B06}", IPreferencesPage) - - static void Reflect(AZ::SerializeContext& serialize); - - CEditorPreferencesPage_ViewportGizmo(); - virtual ~CEditorPreferencesPage_ViewportGizmo() = default; - - virtual const char* GetCategory() override { return "Viewports"; } - virtual const char* GetTitle() override { return "Gizmos"; } - virtual QIcon& GetIcon() override; - virtual void OnApply() override; - virtual void OnCancel() override {} - virtual bool OnQueryCancel() override { return true; } - -private: - void InitializeSettings(); - - struct AxisGizmo - { - AZ_TYPE_INFO(AxisGizmo, "{7D90D60E-996B-4F54-8748-B26EFA781EE2}") - - float m_size; - bool m_text; - int m_maxCount; - }; - - struct Helpers - { - AZ_TYPE_INFO(Helpers, "{EC99922E-F61C-4AA0-9A51-630E09AB55AA}") - - float m_helpersGlobalScale; - float m_tagpointScaleMulti; - float m_rulerSphereScale; - float m_rulerSphereTrans; - }; - - AxisGizmo m_axisGizmo; - Helpers m_helpers; - QIcon m_icon; -}; - - diff --git a/Code/Editor/EditorPreferencesPageViewportManipulator.cpp b/Code/Editor/EditorPreferencesPageViewportManipulator.cpp new file mode 100644 index 0000000000..ea00d6a7f0 --- /dev/null +++ b/Code/Editor/EditorPreferencesPageViewportManipulator.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include "EditorDefs.h" + +#include "EditorPreferencesPageViewportManipulator.h" + +// Editor +#include "EditorViewportSettings.h" +#include "Settings.h" + +void CEditorPreferencesPage_ViewportManipulator::Reflect(AZ::SerializeContext& serialize) +{ + serialize.Class() + ->Version(1) + ->Field("LineBoundWidth", &Manipulators::m_manipulatorLineBoundWidth) + ->Field("CircleBoundWidth", &Manipulators::m_manipulatorCircleBoundWidth); + + serialize.Class()->Version(2)->Field( + "Manipulators", &CEditorPreferencesPage_ViewportManipulator::m_manipulators); + + if (AZ::EditContext* editContext = serialize.GetEditContext()) + { + editContext->Class("Manipulators", "") + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_manipulatorLineBoundWidth, "Line Bound Width", + "Manipulator Line Bound Width") + ->Attribute(AZ::Edit::Attributes::Min, 0.001f) + ->Attribute(AZ::Edit::Attributes::Max, 2.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_manipulatorCircleBoundWidth, "Circle Bound Width", + "Manipulator Circle Bound Width") + ->Attribute(AZ::Edit::Attributes::Min, 0.001f) + ->Attribute(AZ::Edit::Attributes::Max, 2.0f); + + editContext + ->Class("Manipulator Viewport Preferences", "Manipulator Viewport Preferences") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + ->Attribute(AZ::Edit::Attributes::Visibility, AZ_CRC("PropertyVisibility_ShowChildrenOnly", 0xef428f20)) + ->DataElement( + AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportManipulator::m_manipulators, "Manipulators", "Manipulators"); + } +} + +CEditorPreferencesPage_ViewportManipulator::CEditorPreferencesPage_ViewportManipulator() +{ + InitializeSettings(); + m_icon = QIcon(":/res/Gizmos.svg"); +} + +const char* CEditorPreferencesPage_ViewportManipulator::GetCategory() +{ + return "Viewports"; +} + +const char* CEditorPreferencesPage_ViewportManipulator::GetTitle() +{ + return "Manipulators"; +} + +QIcon& CEditorPreferencesPage_ViewportManipulator::GetIcon() +{ + return m_icon; +} + +void CEditorPreferencesPage_ViewportManipulator::OnCancel() +{ + // noop +} + +bool CEditorPreferencesPage_ViewportManipulator::OnQueryCancel() +{ + return true; +} + +void CEditorPreferencesPage_ViewportManipulator::OnApply() +{ + SandboxEditor::SetManipulatorLineBoundWidth(m_manipulators.m_manipulatorLineBoundWidth); + SandboxEditor::SetManipulatorCircleBoundWidth(m_manipulators.m_manipulatorCircleBoundWidth); +} + +void CEditorPreferencesPage_ViewportManipulator::InitializeSettings() +{ + m_manipulators.m_manipulatorLineBoundWidth = SandboxEditor::ManipulatorLineBoundWidth(); + m_manipulators.m_manipulatorCircleBoundWidth = SandboxEditor::ManipulatorCircleBoundWidth(); +} diff --git a/Code/Editor/EditorPreferencesPageViewportManipulator.h b/Code/Editor/EditorPreferencesPageViewportManipulator.h new file mode 100644 index 0000000000..93db6a7035 --- /dev/null +++ b/Code/Editor/EditorPreferencesPageViewportManipulator.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include "Include/IPreferencesPage.h" +#include +#include +#include +#include +#include + +class CEditorPreferencesPage_ViewportManipulator : public IPreferencesPage +{ +public: + AZ_RTTI(CEditorPreferencesPage_ViewportManipulator, "{14433511-8175-4348-954E-82D903475B06}", IPreferencesPage) + + static void Reflect(AZ::SerializeContext& serialize); + + CEditorPreferencesPage_ViewportManipulator(); + virtual ~CEditorPreferencesPage_ViewportManipulator() = default; + + const char* GetCategory() override; + const char* GetTitle() override; + QIcon& GetIcon() override; + void OnApply() override; + void OnCancel() override; + bool OnQueryCancel() override; + +private: + void InitializeSettings(); + + struct Manipulators + { + AZ_TYPE_INFO(Manipulators, "{2974439C-4839-41F6-B526-F317999B9DB9}") + + float m_manipulatorLineBoundWidth = 0.0f; + float m_manipulatorCircleBoundWidth = 0.0f; + }; + + Manipulators m_manipulators; + QIcon m_icon; +}; diff --git a/Code/Editor/EditorViewportSettings.cpp b/Code/Editor/EditorViewportSettings.cpp index 872454412d..c1bd85a174 100644 --- a/Code/Editor/EditorViewportSettings.cpp +++ b/Code/Editor/EditorViewportSettings.cpp @@ -20,6 +20,8 @@ namespace SandboxEditor constexpr AZStd::string_view AngleSnappingSetting = "/Amazon/Preferences/Editor/AngleSnapping"; constexpr AZStd::string_view AngleSizeSetting = "/Amazon/Preferences/Editor/AngleSize"; constexpr AZStd::string_view ShowGridSetting = "/Amazon/Preferences/Editor/ShowGrid"; + constexpr AZStd::string_view ManipulatorLineBoundWidthSetting = "/Amazon/Preferences/Editor/Manipulator/LineBoundWidth"; + constexpr AZStd::string_view ManipulatorCircleBoundWidthSetting = "/Amazon/Preferences/Editor/Manipulator/CircleBoundWidth"; constexpr AZStd::string_view CameraTranslateSpeedSetting = "/Amazon/Preferences/Editor/Camera/TranslateSpeed"; constexpr AZStd::string_view CameraBoostMultiplierSetting = "/Amazon/Preferences/Editor/Camera/BoostMultiplier"; constexpr AZStd::string_view CameraRotateSpeedSetting = "/Amazon/Preferences/Editor/Camera/RotateSpeed"; @@ -156,6 +158,26 @@ namespace SandboxEditor SetRegistry(ShowGridSetting, showing); } + float ManipulatorLineBoundWidth() + { + return aznumeric_cast(GetRegistry(ManipulatorLineBoundWidthSetting, 0.1)); + } + + void SetManipulatorLineBoundWidth(const float lineBoundWidth) + { + SetRegistry(ManipulatorLineBoundWidthSetting, lineBoundWidth); + } + + float ManipulatorCircleBoundWidth() + { + return aznumeric_cast(GetRegistry(ManipulatorCircleBoundWidthSetting, 0.1)); + } + + void SetManipulatorCircleBoundWidth(const float circleBoundWidth) + { + SetRegistry(ManipulatorCircleBoundWidthSetting, circleBoundWidth); + } + float CameraTranslateSpeed() { return aznumeric_cast(GetRegistry(CameraTranslateSpeedSetting, 10.0)); diff --git a/Code/Editor/EditorViewportSettings.h b/Code/Editor/EditorViewportSettings.h index 3da8c465fb..8aeeee1384 100644 --- a/Code/Editor/EditorViewportSettings.h +++ b/Code/Editor/EditorViewportSettings.h @@ -47,6 +47,12 @@ namespace SandboxEditor SANDBOX_API bool ShowingGrid(); SANDBOX_API void SetShowingGrid(bool showing); + SANDBOX_API float ManipulatorLineBoundWidth(); + SANDBOX_API void SetManipulatorLineBoundWidth(float lineBoundWidth); + + SANDBOX_API float ManipulatorCircleBoundWidth(); + SANDBOX_API void SetManipulatorCircleBoundWidth(float circleBoundWidth); + SANDBOX_API float CameraTranslateSpeed(); SANDBOX_API void SetCameraTranslateSpeed(float speed); diff --git a/Code/Editor/EditorViewportWidget.cpp b/Code/Editor/EditorViewportWidget.cpp index 5294ebbc7e..736bbe5feb 100644 --- a/Code/Editor/EditorViewportWidget.cpp +++ b/Code/Editor/EditorViewportWidget.cpp @@ -113,18 +113,6 @@ void StartFixedCursorMode(QObject *viewport); #define RENDER_MESH_TEST_DISTANCE (0.2f) #define CURSOR_FONT_HEIGHT 8.0f -//! Viewport settings for the EditorViewportWidget -struct EditorViewportSettings : public AzToolsFramework::ViewportInteraction::ViewportSettings -{ - bool GridSnappingEnabled() const override; - float GridSize() const override; - bool ShowGrid() const override; - bool AngleSnappingEnabled() const override; - float AngleStep() const override; -}; - -static const EditorViewportSettings g_EditorViewportSettings; - namespace AZ::ViewportHelpers { static const char TextCantCreateCameraNoLevel[] = "Cannot create camera when no level is loaded."; @@ -218,6 +206,7 @@ EditorViewportWidget::~EditorViewportWidget() m_pPrimaryViewport = nullptr; } + m_editorViewportSettings.Disconnect(); DisconnectViewportInteractionRequestBus(); m_editorEntityNotifications.reset(); Camera::EditorCameraRequestBus::Handler::BusDisconnect(); @@ -1073,7 +1062,7 @@ void EditorViewportWidget::SetViewportId(int id) m_editorModularViewportCameraComposer = AZStd::make_unique(AzFramework::ViewportId(id)); m_renderViewport->GetControllerList()->Add(m_editorModularViewportCameraComposer->CreateModularViewportCameraController()); - m_renderViewport->SetViewportSettings(&g_EditorViewportSettings); + m_editorViewportSettings.Connect(AzFramework::ViewportId(id)); UpdateScene(); @@ -1098,6 +1087,7 @@ void EditorViewportWidget::ConnectViewportInteractionRequestBus() { AzToolsFramework::ViewportInteraction::ViewportFreezeRequestBus::Handler::BusConnect(GetViewportId()); AzToolsFramework::ViewportInteraction::MainEditorViewportInteractionRequestBus::Handler::BusConnect(GetViewportId()); + AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Handler::BusConnect(GetViewportId()); m_viewportUi.ConnectViewportUiBus(GetViewportId()); AzFramework::InputSystemCursorConstraintRequestBus::Handler::BusConnect(); @@ -1108,6 +1098,7 @@ void EditorViewportWidget::DisconnectViewportInteractionRequestBus() AzFramework::InputSystemCursorConstraintRequestBus::Handler::BusDisconnect(); m_viewportUi.DisconnectViewportUiBus(); + AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Handler::BusDisconnect(); AzToolsFramework::ViewportInteraction::MainEditorViewportInteractionRequestBus::Handler::BusDisconnect(); AzToolsFramework::ViewportInteraction::ViewportFreezeRequestBus::Handler::BusDisconnect(); } @@ -2534,6 +2525,16 @@ void EditorViewportWidget::SetAsActiveViewport() } } +void EditorViewportSettings::Connect(const AzFramework::ViewportId viewportId) +{ + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Handler::BusConnect(viewportId); +} + +void EditorViewportSettings::Disconnect() +{ + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Handler::BusDisconnect(); +} + bool EditorViewportSettings::GridSnappingEnabled() const { return SandboxEditor::GridSnappingEnabled(); @@ -2559,6 +2560,16 @@ float EditorViewportSettings::AngleStep() const return SandboxEditor::AngleSnappingSize(); } +float EditorViewportSettings::ManipulatorLineBoundWidth() const +{ + return SandboxEditor::ManipulatorLineBoundWidth(); +} + +float EditorViewportSettings::ManipulatorCircleBoundWidth() const +{ + return SandboxEditor::ManipulatorCircleBoundWidth(); +} + AZ_CVAR_EXTERNED(bool, ed_previewGameInFullscreen_once); bool EditorViewportWidget::ShouldPreviewFullscreen() const diff --git a/Code/Editor/EditorViewportWidget.h b/Code/Editor/EditorViewportWidget.h index 9da5e3f9a1..dff0adb55a 100644 --- a/Code/Editor/EditorViewportWidget.h +++ b/Code/Editor/EditorViewportWidget.h @@ -63,6 +63,22 @@ namespace AzToolsFramework class ManipulatorManager; } +//! Viewport settings for the EditorViewportWidget +struct EditorViewportSettings : public AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Handler +{ + void Connect(AzFramework::ViewportId viewportId); + void Disconnect(); + + // ViewportSettingsRequestBus overrides ... + bool GridSnappingEnabled() const override; + float GridSize() const override; + bool ShowGrid() const override; + bool AngleSnappingEnabled() const override; + float AngleStep() const override; + float ManipulatorLineBoundWidth() const override; + float ManipulatorCircleBoundWidth() const override; +}; + // EditorViewportWidget window AZ_PUSH_DISABLE_DLL_EXPORT_BASECLASS_WARNING AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING @@ -75,6 +91,7 @@ class SANDBOX_API EditorViewportWidget final , private AzFramework::InputSystemCursorConstraintRequestBus::Handler , private AzToolsFramework::ViewportInteraction::ViewportFreezeRequestBus::Handler , private AzToolsFramework::ViewportInteraction::MainEditorViewportInteractionRequestBus::Handler + , private AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Handler , private AzFramework::AssetCatalogEventBus::Handler , private AZ::RPI::SceneNotificationBus::Handler { @@ -112,10 +129,12 @@ private: CameraComponent, ViewSourceTypesCount, }; + enum class PlayInEditorState { Editor, Starting, Started }; + enum class KeyPressedState { AllUp, @@ -126,7 +145,7 @@ private: //////////////////////////////////////////////////////////////////////// // Method overrides ... - // QWidget + // QWidget overrides ... void focusOutEvent(QFocusEvent* event) override; void keyPressEvent(QKeyEvent* event) override; bool event(QEvent* event) override; @@ -134,7 +153,7 @@ private: void paintEvent(QPaintEvent* event) override; void mousePressEvent(QMouseEvent* event) override; - // QtViewport/IDisplayViewport/CViewport + // QtViewport/IDisplayViewport/CViewport overrides ... EViewportType GetType() const override { return ET_ViewportCamera; } void SetType([[maybe_unused]] EViewportType type) override { assert(type == ET_ViewportCamera); }; AzToolsFramework::ViewportInteraction::MouseInteraction BuildMouseInteraction( @@ -160,16 +179,17 @@ private: void Update() override; void UpdateContent(int flags) override; - // SceneNotificationBus + // SceneNotificationBus overrides ... void OnBeginPrepareRender() override; - // Camera::CameraNotificationBus + // Camera::CameraNotificationBus overrides ... void OnActiveViewChanged(const AZ::EntityId&) override; - // IEditorEventListener + // IEditorEventListener overrides ... void OnEditorNotifyEvent(EEditorNotifyEvent event) override; - // AzToolsFramework::EditorEntityContextNotificationBus (handler moved to cpp to resolve link issues in unity builds) + // AzToolsFramework::EditorEntityContextNotificationBus overrides ... + // note: handler moved to cpp to resolve link issues in unity builds void OnStartPlayInEditor(); void OnStopPlayInEditor(); void OnStartPlayInEditorBegin(); @@ -178,10 +198,10 @@ private: void BeginUndoTransaction() override; void EndUndoTransaction() override; - // AzFramework::InputSystemCursorConstraintRequestBus + // AzFramework::InputSystemCursorConstraintRequestBus overrides ... void* GetSystemCursorConstraintWindow() const override; - // AzToolsFramework::ViewportFreezeRequestBus + // AzToolsFramework::ViewportFreezeRequestBus overrides ... bool IsViewportInputFrozen() override; void FreezeViewportInput(bool freeze) override; @@ -189,13 +209,15 @@ private: AZ::EntityId PickEntity(const AzFramework::ScreenPoint& point) override; AZ::Vector3 PickTerrain(const AzFramework::ScreenPoint& point) override; float TerrainHeight(const AZ::Vector2& position) override; - void FindVisibleEntities(AZStd::vector& visibleEntitiesOut) override; bool ShowingWorldSpace() override; QWidget* GetWidgetForViewportContextMenu() override; void BeginWidgetContext() override; void EndWidgetContext() override; - // Camera::EditorCameraRequestBus + // EditorEntityViewportInteractionRequestBus overrides ... + void FindVisibleEntities(AZStd::vector& visibleEntities) override; + + // Camera::EditorCameraRequestBus overrides ... void SetViewFromEntityPerspective(const AZ::EntityId& entityId) override; void SetViewAndMovementLockFromEntityPerspective(const AZ::EntityId& entityId, bool lockCameraMovement) override; AZ::EntityId GetCurrentViewEntityId() override; @@ -311,7 +333,7 @@ private: // Determines also if the current camera for this viewport is default editor camera ViewSourceType m_viewSourceType = ViewSourceType::None; - // During play game in editor, holds the editor entity ID of the last + // During play game in editor, holds the editor entity ID of the last AZ::EntityId m_viewEntityIdCachedForEditMode; // The editor camera TM before switching to game mode @@ -338,7 +360,7 @@ private: // Note that any attempts to draw anything with this object will crash. Exists here for legacy "reasons" DisplayContext m_displayContext; - // Re-entrency guard for on paint events + // Reentrancy guard for on paint events bool m_isOnPaint = false; // Shapes of various safe frame helpers which can be displayed in the editor @@ -381,6 +403,9 @@ private: // Atom debug display AzFramework::DebugDisplayRequests* m_debugDisplay = nullptr; + // Type to return current state of editor viewport settings + EditorViewportSettings m_editorViewportSettings; + // The default view created for the viewport context, which is used as the "Editor Camera" AZ::RPI::ViewPtr m_defaultView; diff --git a/Code/Editor/ErrorReport.cpp b/Code/Editor/ErrorReport.cpp index 7914511fbe..4fd7d41a96 100644 --- a/Code/Editor/ErrorReport.cpp +++ b/Code/Editor/ErrorReport.cpp @@ -249,60 +249,6 @@ void CErrorReport::SetImmediateMode(bool bEnable) } } -////////////////////////////////////////////////////////////////////////// -void CErrorReport::Report(SValidatorRecord& record) -{ - if ((record.flags & VALIDATOR_FLAG_IGNORE_IN_EDITOR)) - { - return; - } - - CErrorRecord err; - if (record.text) - { - err.error = record.text; - } - if (record.description) - { - err.description = record.description; - } - if (record.file) - { - err.file = record.file; - } - else - { - err.file = m_currentFilename; - } - err.severity = (CErrorRecord::ESeverity)record.severity; - - err.assetScope = record.assetScope; - - err.flags = 0; - if (record.flags & VALIDATOR_FLAG_FILE) - { - err.flags |= CErrorRecord::FLAG_NOFILE; - } - if (record.flags & VALIDATOR_FLAG_TEXTURE) - { - err.flags |= CErrorRecord::FLAG_TEXTURE; - } - if (record.flags & VALIDATOR_FLAG_SCRIPT) - { - err.flags |= CErrorRecord::FLAG_SCRIPT; - } - if (record.flags & VALIDATOR_FLAG_AI) - { - err.flags |= CErrorRecord::FLAG_AI; - } - - err.module = record.module; - err.pObject = m_pObject; - err.pItem = m_pItem; - - ReportError(err); -} - ////////////////////////////////////////////////////////////////////////// void CErrorReport::SetCurrentValidatorObject(CBaseObject* pObject) { diff --git a/Code/Editor/ErrorReport.h b/Code/Editor/ErrorReport.h index 2bef4105f8..3b9a860301 100644 --- a/Code/Editor/ErrorReport.h +++ b/Code/Editor/ErrorReport.h @@ -121,11 +121,6 @@ public: //! Assign current filename. void SetCurrentFile(const QString& file); - ////////////////////////////////////////////////////////////////////////// - // Implement IValidator interface. - ////////////////////////////////////////////////////////////////////////// - virtual void Report(SValidatorRecord& record); - private: //! Array of all error records added to report. std::vector m_errors; diff --git a/Code/Editor/GameEngine.cpp b/Code/Editor/GameEngine.cpp index 4b463efe0a..5f3545e593 100644 --- a/Code/Editor/GameEngine.cpp +++ b/Code/Editor/GameEngine.cpp @@ -176,11 +176,6 @@ struct SSystemUserCallback return CryMessageBox(text, caption, uType); } - void GetMemoryUsage(ICrySizer* pSizer) override - { - GetIEditor()->GetMemoryUsage(pSizer); - } - void OnSplashScreenDone() { m_pLogo = nullptr; diff --git a/Code/Editor/GameExporter.h b/Code/Editor/GameExporter.h index 19ec601ff7..ee4e8df3d9 100644 --- a/Code/Editor/GameExporter.h +++ b/Code/Editor/GameExporter.h @@ -5,10 +5,6 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ - - -#ifndef CRYINCLUDE_EDITOR_GAMEEXPORTER_H -#define CRYINCLUDE_EDITOR_GAMEEXPORTER_H #pragma once #include "Util/PakFile.h" @@ -62,7 +58,7 @@ public: // In auto exporting mode, highest possible settings will be chosen and no UI dialogs will be shown. void SetAutoExportMode(bool bAuto) { m_bAutoExportMode = bAuto; } - bool Export(unsigned int flags = 0, EEndian eExportEndian = GetPlatformEndian(), const char* subdirectory = 0); + bool Export(unsigned int flags = 0, EEndian eExportEndian = eEndianness_Little, const char* subdirectory = 0); static CGameExporter* GetCurrentExporter() { return m_pCurrentExporter; } @@ -116,5 +112,3 @@ void SetupTerrainInfo(const size_t octreeCompiledDataSize, Func&& setupTerrainFn setupTerrainFn(octreeCompiledDataSize); } } - -#endif // CRYINCLUDE_EDITOR_GAMEEXPORTER_H diff --git a/Code/Editor/IEditor.h b/Code/Editor/IEditor.h index de7b0ec3f9..7c49819d83 100644 --- a/Code/Editor/IEditor.h +++ b/Code/Editor/IEditor.h @@ -701,7 +701,6 @@ struct IEditor virtual CUIEnumsDatabase* GetUIEnumsDatabase() = 0; virtual void AddUIEnums() = 0; - virtual void GetMemoryUsage(ICrySizer* pSizer) = 0; virtual void ReduceMemory() = 0; //! Export manager for exporting objects and a terrain from the game to DCC tools diff --git a/Code/Editor/IEditorImpl.cpp b/Code/Editor/IEditorImpl.cpp index 880773966b..51ef0dedc3 100644 --- a/Code/Editor/IEditorImpl.cpp +++ b/Code/Editor/IEditorImpl.cpp @@ -680,8 +680,8 @@ const SGizmoParameters& CEditorImpl::GetGlobalGizmoParameters() m_pGizmoParameters->axisConstraint = m_selectedAxis; m_pGizmoParameters->referenceCoordSys = m_refCoordsSys; - m_pGizmoParameters->axisGizmoScale = gSettings.gizmo.axisGizmoSize; - m_pGizmoParameters->axisGizmoText = gSettings.gizmo.axisGizmoText; + m_pGizmoParameters->axisGizmoScale = 1.0f; + m_pGizmoParameters->axisGizmoText = false; return *m_pGizmoParameters; } @@ -1506,18 +1506,6 @@ void CEditorImpl::ShowStatusText(bool bEnable) m_bShowStatusText = bEnable; } -void CEditorImpl::GetMemoryUsage(ICrySizer* pSizer) -{ - SIZER_COMPONENT_NAME(pSizer, "Editor"); - - if (GetDocument()) - { - SIZER_COMPONENT_NAME(pSizer, "Document"); - - GetDocument()->GetMemoryUsage(pSizer); - } -} - void CEditorImpl::ReduceMemory() { GetIEditor()->GetUndoManager()->ClearRedoStack(); diff --git a/Code/Editor/IEditorImpl.h b/Code/Editor/IEditorImpl.h index 2cf6c7805b..762dd1db11 100644 --- a/Code/Editor/IEditorImpl.h +++ b/Code/Editor/IEditorImpl.h @@ -280,7 +280,6 @@ public: void SetMatEditMode(bool bIsMatEditMode); CUIEnumsDatabase* GetUIEnumsDatabase() { return m_pUIEnumsDatabase; }; void AddUIEnums(); - void GetMemoryUsage(ICrySizer* pSizer); void ReduceMemory(); // Get Export manager IExportManager* GetExportManager(); diff --git a/Code/Editor/IconManager.cpp b/Code/Editor/IconManager.cpp index 7732ae8155..820213bbd9 100644 --- a/Code/Editor/IconManager.cpp +++ b/Code/Editor/IconManager.cpp @@ -64,10 +64,7 @@ void CIconManager::Reset() int i; for (i = 0; i < sizeof(m_objects) / sizeof(m_objects[0]); i++) { - if (m_objects[i]) - { - m_objects[i]->Release(); - } + delete m_objects[i]; m_objects[i] = nullptr; } for (i = 0; i < eIcon_COUNT; i++) diff --git a/Code/Editor/Include/Command.h b/Code/Editor/Include/Command.h index dfdcec78ef..b3b0641c9d 100644 --- a/Code/Editor/Include/Command.h +++ b/Code/Editor/Include/Command.h @@ -24,16 +24,15 @@ inline AZStd::string ToString(const QString& s) class CCommand { - static inline bool FromString(int32 &val, const char* s) { - if(!s) + static inline bool FromString(int32& val, const char* s) + { + if (!s) { return false; } - val = (int)strtol(s, nullptr, 10); - if(val==0 && errno!=0) { - return false; - } - return true; + val = static_cast(strtol(s, nullptr, 10)); + const bool parsing_error = val == 0 && errno != 0; + return !parsing_error; } public: CCommand( diff --git a/Code/Editor/Include/IEditorMaterial.h b/Code/Editor/Include/IEditorMaterial.h index 487246eb60..329b0ae53f 100644 --- a/Code/Editor/Include/IEditorMaterial.h +++ b/Code/Editor/Include/IEditorMaterial.h @@ -15,6 +15,6 @@ struct IEditorMaterial : public CBaseLibraryItem { virtual int GetFlags() const = 0; - virtual _smart_ptr GetMatInfo(bool bUseExistingEngineMaterial = false) = 0; + virtual IMaterial* GetMatInfo(bool bUseExistingEngineMaterial = false) = 0; virtual void DisableHighlightForFrame() = 0; }; diff --git a/Code/Editor/Include/IEditorMaterialManager.h b/Code/Editor/Include/IEditorMaterialManager.h index 92e68085c1..d76ec32829 100644 --- a/Code/Editor/Include/IEditorMaterialManager.h +++ b/Code/Editor/Include/IEditorMaterialManager.h @@ -19,7 +19,7 @@ struct IEditorMaterialManager { - virtual void GotoMaterial(_smart_ptr pMaterial) = 0; + virtual void GotoMaterial(IMaterial* pMaterial) = 0; }; #endif // CRYINCLUDE_EDITOR_MATERIAL_MATERIALMANAGER_H diff --git a/Code/Editor/Include/IErrorReport.h b/Code/Editor/Include/IErrorReport.h index a516633f25..7bf00d6973 100644 --- a/Code/Editor/Include/IErrorReport.h +++ b/Code/Editor/Include/IErrorReport.h @@ -9,23 +9,18 @@ // Description : Class that collects error reports to present them later. - -#ifndef CRYINCLUDE_EDITOR_INTERFACE_ERRORREPORT_H -#define CRYINCLUDE_EDITOR_INTERFACE_ERRORREPORT_H #pragma once -#include - // forward declarations. class CParticleItem; class CBaseObject; class CBaseLibraryItem; class CErrorRecord; +class QString; /*! Error report manages collection of errors occurred during map analyzes or level load. */ struct IErrorReport - : public IValidator { virtual ~IErrorReport(){} @@ -62,12 +57,4 @@ struct IErrorReport //! Assign current filename. virtual void SetCurrentFile(const QString& file) = 0; - - ////////////////////////////////////////////////////////////////////////// - // Implement IValidator interface. - ////////////////////////////////////////////////////////////////////////// - virtual void Report(SValidatorRecord& record) = 0; }; - - -#endif // CRYINCLUDE_EDITOR_ERRORREPORT_H diff --git a/Code/Editor/Include/IObjectManager.h b/Code/Editor/Include/IObjectManager.h index fb99a50bb0..0a7bc8dcca 100644 --- a/Code/Editor/Include/IObjectManager.h +++ b/Code/Editor/Include/IObjectManager.h @@ -89,7 +89,6 @@ public: //! Get array of objects, managed by manager (not contain sub objects of groups). //! @param layer if 0 get objects for all layers, or layer to get objects from. virtual void GetObjects(CBaseObjectsArray& objects) const = 0; - //virtual void GetObjects(DynArray& objects) const = 0; //! Get array of objects that pass the filter. //! @param filter The filter functor, return true if you want to get the certain obj, return false if want to skip it. diff --git a/Code/Editor/Lib/Tests/IEditorMock.h b/Code/Editor/Lib/Tests/IEditorMock.h index 30f1d23576..cb01757b9c 100644 --- a/Code/Editor/Lib/Tests/IEditorMock.h +++ b/Code/Editor/Lib/Tests/IEditorMock.h @@ -170,7 +170,6 @@ public: MOCK_METHOD0(IsSourceControlConnected, bool()); MOCK_METHOD0(GetUIEnumsDatabase, CUIEnumsDatabase* ()); MOCK_METHOD0(AddUIEnums, void()); - MOCK_METHOD1(GetMemoryUsage, void(ICrySizer* )); MOCK_METHOD0(ReduceMemory, void()); MOCK_METHOD0(GetExportManager, IExportManager* ()); MOCK_METHOD2(SetEditorConfigSpec, void(ESystemConfigSpec , ESystemConfigPlatform )); diff --git a/Code/Editor/LogFile.cpp b/Code/Editor/LogFile.cpp index 92186901d7..0812740efe 100644 --- a/Code/Editor/LogFile.cpp +++ b/Code/Editor/LogFile.cpp @@ -67,7 +67,7 @@ SANDBOX_API void ErrorV(const char* format, va_list argList) str += szBuffer; //CLogFile::WriteLine( str ); - CryWarning(VALIDATOR_MODULE_EDITOR, VALIDATOR_ERROR, str.toUtf8().data()); + CryWarning(VALIDATOR_MODULE_EDITOR, VALIDATOR_ERROR, "%s", str.toUtf8().data()); if (!CCryEditApp::instance()->IsInTestMode() && !CCryEditApp::instance()->IsInExportMode() && !CCryEditApp::instance()->IsInLevelLoadTestMode()) { @@ -95,7 +95,7 @@ SANDBOX_API void WarningV(const char* format, va_list argList) char szBuffer[MAX_LOGBUFFER_SIZE]; azvsnprintf(szBuffer, MAX_LOGBUFFER_SIZE, format, argList); - CryWarning(VALIDATOR_MODULE_EDITOR, VALIDATOR_WARNING, szBuffer); + CryWarning(VALIDATOR_MODULE_EDITOR, VALIDATOR_WARNING, "%s", szBuffer); bool bNoUI = false; ICVar* pCVar = gEnv->pConsole->GetCVar("sys_no_crash_dialog"); @@ -478,7 +478,7 @@ void CLogFile::WriteString(const char* pszString) { if (gEnv && gEnv->pLog) { - gEnv->pLog->LogPlus(pszString); + gEnv->pLog->LogPlus("%s", pszString); } } diff --git a/Code/Editor/Objects/BaseObject.cpp b/Code/Editor/Objects/BaseObject.cpp index 0d5f982bd4..14291a3e4d 100644 --- a/Code/Editor/Objects/BaseObject.cpp +++ b/Code/Editor/Objects/BaseObject.cpp @@ -2735,7 +2735,7 @@ bool CBaseObject::IntersectRayMesh(const Vec3& raySrc, const Vec3& rayDir, SRayH return false; } - Matrix34A worldTM; + Matrix34 worldTM; IStatObj* pStatObj = pRenderNode->GetEntityStatObj(0, 0, &worldTM); if (!pStatObj) { @@ -2743,7 +2743,7 @@ bool CBaseObject::IntersectRayMesh(const Vec3& raySrc, const Vec3& rayDir, SRayH } // transform decal into object space - Matrix34A worldTM_Inverted = worldTM.GetInverted(); + Matrix34 worldTM_Inverted = worldTM.GetInverted(); Matrix33 worldRot(worldTM_Inverted); worldRot.Transpose(); // put hit direction into the object space diff --git a/Code/Editor/Objects/ObjectManager.cpp b/Code/Editor/Objects/ObjectManager.cpp index 9c452ac1ad..e053d10fd1 100644 --- a/Code/Editor/Objects/ObjectManager.cpp +++ b/Code/Editor/Objects/ObjectManager.cpp @@ -709,7 +709,7 @@ void CObjectManager::ShowDuplicationMsgWarning(CBaseObject* obj, const QString& ); // If id is taken. - CryWarning(VALIDATOR_MODULE_EDITOR, VALIDATOR_WARNING, sRenameWarning.toUtf8().data()); + CryWarning(VALIDATOR_MODULE_EDITOR, VALIDATOR_WARNING, "%s", sRenameWarning.toUtf8().data()); if (bShowMsgBox) { @@ -759,17 +759,6 @@ void CObjectManager::GetObjects(CBaseObjectsArray& objects) const } } -//void CObjectManager::GetObjects(DynArray& objects) const -//{ -// CBaseObjectsArray objectArray; -// GetObjects(objectArray); -// objects.clear(); -// for (size_t i = 0, iCount(objectArray.size()); i < iCount; ++i) -// { -// objects.push_back(objectArray[i]); -// } -//} - void CObjectManager::GetObjects(CBaseObjectsArray& objects, BaseObjectFilterFunctor const& filter) const { objects.clear(); @@ -2378,7 +2367,7 @@ void CObjectManager::SetObjectSelected(CBaseObject* pObject, bool bSelect) if (bSelect && !GetIEditor()->GetTransformManipulator()) { - if (CAxisGizmo::GetGlobalAxisGizmoCount() < gSettings.gizmo.axisGizmoMaxCount) + if (CAxisGizmo::GetGlobalAxisGizmoCount() < 1 /*legacy axisGizmoMaxCount*/) { // Create axis gizmo for this object. m_gizmoManager->AddGizmo(new CAxisGizmo(pObject)); diff --git a/Code/Editor/Objects/ObjectManager.h b/Code/Editor/Objects/ObjectManager.h index a2e0822a2b..de0a4ce849 100644 --- a/Code/Editor/Objects/ObjectManager.h +++ b/Code/Editor/Objects/ObjectManager.h @@ -122,7 +122,6 @@ public: //! Get array of objects, managed by manager (not contain sub objects of groups). //! @param layer if 0 get objects for all layers, or layer to get objects from. void GetObjects(CBaseObjectsArray& objects) const; - //void GetObjects(DynArray& objects) const; //! Get array of objects that pass the filter. //! @param filter The filter functor, return true if you want to get the certain obj, return false if want to skip it. diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json index 603aec57a5..2b63c0ee15 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json @@ -33,7 +33,7 @@ { "size" : "128x128", "idiom" : "mac", - "filename" : "icon_128 _2x.png", + "filename" : "icon_128_2x.png", "scale" : "2x" }, { @@ -45,7 +45,7 @@ { "size" : "256x256", "idiom" : "mac", - "filename" : "icon_256 _2x.png", + "filename" : "icon_256_2x.png", "scale" : "2x" }, { @@ -65,4 +65,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png deleted file mode 100644 index 5970ea34ba..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png index 9e30e09547..192a862967 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f41a37d2347a617e93bd97adaf6d4c161c471ca3ef7e04b98c65ddda52396dc -size 27833 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png new file mode 100644 index 0000000000..192a862967 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png index aeb29abd0a..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b07984494059bf827bc485cbea06d12e0283811face1a18799495f9ba7ae8af1 -size 20779 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png index 445a389d61..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png deleted file mode 100644 index 0904cf7ce8..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07631f41b8dea80713d2463f81a713a9a93798975b6fb50afbeeb13d26c57fa2 -size 48899 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png index 5970ea34ba..0b53991930 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png new file mode 100644 index 0000000000..0b53991930 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png index 445a389d61..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png index 1fad9bda96..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad83faf98b49f4e37112baedeae726f4f8d71bcdd1961d9cdad31f043f8ca666 -size 24003 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png index e1517dddb6..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68529a6c11d5ffa7ecd9d5bbb11ceea28e6852bd45946b525af09602c9a1e1bf -size 48899 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png index b425cb685f..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a70003840b418848b2ce6c18ed7cbbfcd6fcf76598a6601dca8b98d9b6c1a2f -size 114706 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json index 603aec57a5..2b63c0ee15 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json @@ -33,7 +33,7 @@ { "size" : "128x128", "idiom" : "mac", - "filename" : "icon_128 _2x.png", + "filename" : "icon_128_2x.png", "scale" : "2x" }, { @@ -45,7 +45,7 @@ { "size" : "256x256", "idiom" : "mac", - "filename" : "icon_256 _2x.png", + "filename" : "icon_256_2x.png", "scale" : "2x" }, { @@ -65,4 +65,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png deleted file mode 100644 index 5970ea34ba..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png index 9e30e09547..192a862967 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f41a37d2347a617e93bd97adaf6d4c161c471ca3ef7e04b98c65ddda52396dc -size 27833 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png new file mode 100644 index 0000000000..192a862967 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png index aeb29abd0a..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b07984494059bf827bc485cbea06d12e0283811face1a18799495f9ba7ae8af1 -size 20779 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png index 445a389d61..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png deleted file mode 100644 index 0904cf7ce8..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07631f41b8dea80713d2463f81a713a9a93798975b6fb50afbeeb13d26c57fa2 -size 48899 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png index 5970ea34ba..0b53991930 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png new file mode 100644 index 0000000000..0b53991930 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png index 445a389d61..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png index 1fad9bda96..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad83faf98b49f4e37112baedeae726f4f8d71bcdd1961d9cdad31f043f8ca666 -size 24003 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png index e1517dddb6..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68529a6c11d5ffa7ecd9d5bbb11ceea28e6852bd45946b525af09602c9a1e1bf -size 48899 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png index b425cb685f..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a70003840b418848b2ce6c18ed7cbbfcd6fcf76598a6601dca8b98d9b6c1a2f -size 114706 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Plugins/ComponentEntityEditorPlugin/Objects/ComponentEntityObject.cpp b/Code/Editor/Plugins/ComponentEntityEditorPlugin/Objects/ComponentEntityObject.cpp index 29ced334ef..8957b6ced6 100644 --- a/Code/Editor/Plugins/ComponentEntityEditorPlugin/Objects/ComponentEntityObject.cpp +++ b/Code/Editor/Plugins/ComponentEntityEditorPlugin/Objects/ComponentEntityObject.cpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include diff --git a/Code/Editor/Plugins/FFMPEGPlugin/main.cpp b/Code/Editor/Plugins/FFMPEGPlugin/main.cpp index ce0e91942b..f7d3dfd57b 100644 --- a/Code/Editor/Plugins/FFMPEGPlugin/main.cpp +++ b/Code/Editor/Plugins/FFMPEGPlugin/main.cpp @@ -24,11 +24,7 @@ PLUGIN_API IPlugin* CreatePluginInstance(PLUGIN_INIT_PARAM* pInitParam) // Make sure the ffmpeg command can be executed before registering the command if (!CFFMPEGPlugin::RuntimeTest()) { - AZStd::string msg = - "FFMPEG plugin: Failed to execute FFmepg. Please run Setup Assistant, " - "go to the 'Optional software' section of the 'Install software' tab, " - "and make sure the FFmpeg executable is correctly configured."; - GetIEditor()->GetSystem()->GetILog()->Log(msg.c_str()); + GetIEditor()->GetSystem()->GetILog()->Log("FFMPEG plugin: Failed to execute FFmpeg. Please install FFmpeg."); } else { diff --git a/Code/Editor/PreferencesStdPages.cpp b/Code/Editor/PreferencesStdPages.cpp index b593541a07..1dd40702a7 100644 --- a/Code/Editor/PreferencesStdPages.cpp +++ b/Code/Editor/PreferencesStdPages.cpp @@ -17,8 +17,8 @@ #include "EditorPreferencesPageGeneral.h" #include "EditorPreferencesPageFiles.h" #include "EditorPreferencesPageViewportGeneral.h" -#include "EditorPreferencesPageViewportGizmo.h" -#include "EditorPreferencesPageViewportMovement.h" +#include "EditorPreferencesPageViewportManipulator.h" +#include "EditorPreferencesPageViewportCamera.h" #include "EditorPreferencesPageViewportDebug.h" #include "EditorPreferencesPageExperimentalLighting.h" #include "EditorPreferencesPageAWS.h" @@ -35,8 +35,8 @@ CStdPreferencesClassDesc::CStdPreferencesClassDesc() [](){ return new CEditorPreferencesPage_General(); }, [](){ return new CEditorPreferencesPage_Files(); }, [](){ return new CEditorPreferencesPage_ViewportGeneral(); }, - [](){ return new CEditorPreferencesPage_ViewportMovement(); }, - [](){ return new CEditorPreferencesPage_ViewportGizmo(); }, + [](){ return new CEditorPreferencesPage_ViewportCamera(); }, + [](){ return new CEditorPreferencesPage_ViewportManipulator(); }, [](){ return new CEditorPreferencesPage_ViewportDebug(); } }; diff --git a/Code/Editor/PythonEditorFuncs.cpp b/Code/Editor/PythonEditorFuncs.cpp index 342cc607d7..200fd28f87 100644 --- a/Code/Editor/PythonEditorFuncs.cpp +++ b/Code/Editor/PythonEditorFuncs.cpp @@ -313,7 +313,7 @@ namespace { if (strcmp(pMessage, "") != 0) { - CryLogAlways(pMessage); + CryLogAlways("%s", pMessage); } } diff --git a/Code/Editor/Settings.cpp b/Code/Editor/Settings.cpp index 94b5668efc..9feb73a811 100644 --- a/Code/Editor/Settings.cpp +++ b/Code/Editor/Settings.cpp @@ -82,7 +82,6 @@ private: namespace { - class QtApplicationListener : public AzToolsFramework::EditorEvents::Bus::Handler { @@ -99,20 +98,8 @@ namespace delete this; } }; - } -////////////////////////////////////////////////////////////////////////// -SGizmoSettings::SGizmoSettings() -{ - axisGizmoSize = 0.2f; - axisGizmoText = true; - axisGizmoMaxCount = 50; - helpersScale = 1.f; - tagpointScaleMulti = 0.5f; - rulerSphereScale = 0.5f; - rulerSphereTrans = 0.5f; -} ////////////////////////////////////////////////////////////////////////// SEditorSettings::SEditorSettings() { @@ -564,18 +551,6 @@ void SEditorSettings::Save() SaveValue("Settings", "ShowScaleWarnings", viewports.bShowScaleWarnings); SaveValue("Settings", "ShowRotationWarnings", viewports.bShowRotationWarnings); - ////////////////////////////////////////////////////////////////////////// - // Gizmos. - ////////////////////////////////////////////////////////////////////////// - SaveValue("Settings", "AxisGizmoSize", gizmo.axisGizmoSize); - SaveValue("Settings", "AxisGizmoText", gizmo.axisGizmoText); - SaveValue("Settings", "AxisGizmoMaxCount", gizmo.axisGizmoMaxCount); - SaveValue("Settings", "HelpersScale", gizmo.helpersScale); - SaveValue("Settings", "TagPointScaleMulti", gizmo.tagpointScaleMulti); - SaveValue("Settings", "RulerSphereScale", gizmo.rulerSphereScale); - SaveValue("Settings", "RulerSphereTrans", gizmo.rulerSphereTrans); - ////////////////////////////////////////////////////////////////////////// - SaveValue("Settings", "TextEditorScript", textEditorForScript); SaveValue("Settings", "TextEditorShaders", textEditorForShaders); SaveValue("Settings", "TextEditorBSpaces", textEditorForBspaces); @@ -769,18 +744,6 @@ void SEditorSettings::Load() LoadValue("Settings", "ShowScaleWarnings", viewports.bShowScaleWarnings); LoadValue("Settings", "ShowRotationWarnings", viewports.bShowRotationWarnings); - ////////////////////////////////////////////////////////////////////////// - // Gizmos. - ////////////////////////////////////////////////////////////////////////// - LoadValue("Settings", "AxisGizmoSize", gizmo.axisGizmoSize); - LoadValue("Settings", "AxisGizmoText", gizmo.axisGizmoText); - LoadValue("Settings", "AxisGizmoMaxCount", gizmo.axisGizmoMaxCount); - LoadValue("Settings", "HelpersScale", gizmo.helpersScale); - LoadValue("Settings", "TagPointScaleMulti", gizmo.tagpointScaleMulti); - LoadValue("Settings", "RulerSphereScale", gizmo.rulerSphereScale); - LoadValue("Settings", "RulerSphereTrans", gizmo.rulerSphereTrans); - ////////////////////////////////////////////////////////////////////////// - LoadValue("Settings", "TextEditorScript", textEditorForScript); LoadValue("Settings", "TextEditorShaders", textEditorForShaders); LoadValue("Settings", "TextEditorBSpaces", textEditorForBspaces); diff --git a/Code/Editor/Settings.h b/Code/Editor/Settings.h index 51931ab955..82f4f11f72 100644 --- a/Code/Editor/Settings.h +++ b/Code/Editor/Settings.h @@ -22,22 +22,6 @@ #include -struct SGizmoSettings -{ - float axisGizmoSize; - bool axisGizmoText; - int axisGizmoMaxCount; - - float helpersScale; - float tagpointScaleMulti; - - // Scale size and transparency for debug spheres when using Ruler tool - float rulerSphereScale; - float rulerSphereTrans; - - SGizmoSettings(); -}; - ////////////////////////////////////////////////////////////////////////// // Settings for snapping in the viewports. ////////////////////////////////////////////////////////////////////////// @@ -381,8 +365,6 @@ AZ_POP_DISABLE_DLL_EXPORT_BASECLASS_WARNING //! Keeps the editor active even if no focus is set int keepEditorActive; - SGizmoSettings gizmo; - // Settings of the snapping. SSnapSettings snap; diff --git a/Code/Editor/TrackView/SequenceBatchRenderDialog.cpp b/Code/Editor/TrackView/SequenceBatchRenderDialog.cpp index 33f1b0d441..b510315995 100644 --- a/Code/Editor/TrackView/SequenceBatchRenderDialog.cpp +++ b/Code/Editor/TrackView/SequenceBatchRenderDialog.cpp @@ -719,8 +719,7 @@ bool CSequenceBatchRenderDialog::GetResolutionFromCustomResText(const char* cust int scannedWidth = retCustomWidth; // initialize with default fall-back values - they'll be overwritten in the case of a succesful sscanf below. int scannedHeight = retCustomHeight; - QString strFormat = QString::fromLatin1(customResFormat).replace(QRegularExpression(QStringLiteral("%\\d")), QStringLiteral("%d")); - scanSuccess = (azsscanf(customResText, strFormat.toStdString().c_str(), &scannedWidth, &scannedHeight) == 2); + scanSuccess = (azsscanf(customResText, "Custom(%d x %d)...", &scannedWidth, &scannedHeight) == 2); if (scanSuccess) { retCustomWidth = scannedWidth; diff --git a/Code/Editor/Undo/Undo.cpp b/Code/Editor/Undo/Undo.cpp index 910a670bee..603f651ee0 100644 --- a/Code/Editor/Undo/Undo.cpp +++ b/Code/Editor/Undo/Undo.cpp @@ -62,17 +62,6 @@ public: } } - // to get memory statistics - void GetMemoryUsage(ICrySizer* pSizer) - { - for (int i = 0; i < m_undoSteps.size(); i++) - { - m_undoSteps[i]->GetMemoryUsage(pSizer); - } - - pSizer->Add(*this); - } - private: //! Undo steps included in this step. std::vector m_undoSteps; @@ -746,31 +735,6 @@ int CUndoManager::GetMaxUndoStep() const return GetIEditor()->GetEditorSettings()->undoLevels; } -void CUndoManager::GetMemoryUsage(ICrySizer* pSizer) -{ - if (m_currentUndo) - { - m_currentUndo->GetMemoryUsage(pSizer); - } - - if (m_superUndo) - { - m_superUndo->GetMemoryUsage(pSizer); - } - - for (std::list::const_iterator it = m_undoStack.begin(); it != m_undoStack.end(); it++) - { - (*it)->GetMemoryUsage(pSizer); - } - - for (std::list::const_iterator it = m_redoStack.begin(); it != m_redoStack.end(); it++) - { - (*it)->GetMemoryUsage(pSizer); - } - - pSizer->Add(*this); -} - void CUndoManager::AddListener(IUndoManagerListener* pListener) { stl::push_back_unique(m_listeners, pListener); diff --git a/Code/Editor/Undo/Undo.h b/Code/Editor/Undo/Undo.h index b9d8132a40..f4ee045919 100644 --- a/Code/Editor/Undo/Undo.h +++ b/Code/Editor/Undo/Undo.h @@ -12,9 +12,9 @@ #pragma once #include "IUndoManagerListener.h" -#include "CrySizer.h" // ICrySizer #include "IUndoObject.h" #include +#include struct IUndoObject; class CSuperUndoStep; @@ -79,20 +79,6 @@ public: } } - // to get memory statistics - void GetMemoryUsage(ICrySizer* pSizer) - { - size_t nThisSize = sizeof(*this); - - for (int i = 0; i < m_undoObjects.size(); i++) - { - nThisSize += m_undoObjects[i]->GetSize(); - } - - pSizer->Add(m_name); - pSizer->Add(this, nThisSize); - } - // get undo object at index i IUndoObject* GetUndoObject(int i = 0) { @@ -241,9 +227,6 @@ public: void ClearUndoStack(int num); void ClearRedoStack(int num); - // to get memory statistics - void GetMemoryUsage(ICrySizer* pSizer); - void AddListener(IUndoManagerListener* pListener); void RemoveListener(IUndoManagerListener* pListener); diff --git a/Code/Editor/Util/EditorUtils.h b/Code/Editor/Util/EditorUtils.h index 5008cbcc5c..e950d75012 100644 --- a/Code/Editor/Util/EditorUtils.h +++ b/Code/Editor/Util/EditorUtils.h @@ -20,9 +20,6 @@ #include #include -//! Typedef for quaternion. -//typedef CryQuat Quat; - #include #include #include diff --git a/Code/Editor/Util/ImageASC.cpp b/Code/Editor/Util/ImageASC.cpp index a72ea8b9fd..1c4a8acf73 100644 --- a/Code/Editor/Util/ImageASC.cpp +++ b/Code/Editor/Util/ImageASC.cpp @@ -52,7 +52,7 @@ bool CImageASC::Save(const QString& fileName, const CFloatImage& image) } // First print the file header - fprintf(file, fileHeader.c_str()); + fprintf(file, "%s", fileHeader.c_str()); // Then print all the pixels. for (uint32 y = 0; y < height; y++) diff --git a/Code/Editor/Util/ImageUtil.cpp b/Code/Editor/Util/ImageUtil.cpp index c8432a3d1a..45d39f1f02 100644 --- a/Code/Editor/Util/ImageUtil.cpp +++ b/Code/Editor/Util/ImageUtil.cpp @@ -103,7 +103,7 @@ bool CImageUtil::SavePGM(const QString& fileName, const CImageEx& image) } // First print the file header - fprintf(file, fileHeader.c_str()); + fprintf(file, "%s", fileHeader.c_str()); // Then print all the pixels. for (uint32 y = 0; y < height; y++) diff --git a/Code/Editor/Util/KDTree.h b/Code/Editor/Util/KDTree.h index c2ea086175..df25a9ded7 100644 --- a/Code/Editor/Util/KDTree.h +++ b/Code/Editor/Util/KDTree.h @@ -37,7 +37,7 @@ public: struct SStatObj { Matrix34 tm; - _smart_ptr pStatObj; + IStatObj* pStatObj; }; private: diff --git a/Code/Editor/Util/MemoryBlock.cpp b/Code/Editor/Util/MemoryBlock.cpp index e840a1735e..b7ae017113 100644 --- a/Code/Editor/Util/MemoryBlock.cpp +++ b/Code/Editor/Util/MemoryBlock.cpp @@ -78,7 +78,7 @@ bool CMemoryBlock::Allocate(int size, int uncompressedSize) { QString str; str = QStringLiteral("CMemoryBlock::Allocate failed to allocate %1Mb of Memory").arg(size / (1024 * 1024)); - CryLogAlways(str.toUtf8().data()); + CryLogAlways("%s", str.toUtf8().data()); QMessageBox::critical(QApplication::activeWindow(), QString(), str + QString("\r\nSandbox will try to reduce its working memory set to free memory for this allocation.")); GetIEditor()->ReduceMemory(); diff --git a/Code/Editor/Viewport.cpp b/Code/Editor/Viewport.cpp index 92e193bddf..9c6088e340 100644 --- a/Code/Editor/Viewport.cpp +++ b/Code/Editor/Viewport.cpp @@ -1092,9 +1092,8 @@ bool QtViewport::HitTest(const QPoint& point, HitContext& hitInfo) const int viewportId = GetViewportId(); AzToolsFramework::EntityIdList visibleEntityIds; - AzToolsFramework::ViewportInteraction::MainEditorViewportInteractionRequestBus::Event( - viewportId, - &AzToolsFramework::ViewportInteraction::MainEditorViewportInteractionRequests::FindVisibleEntities, + AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Event( + viewportId, &AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Events::FindVisibleEntities, visibleEntityIds); // Look through all visible entities to find the closest one to the specified mouse point diff --git a/Code/Editor/editor_lib_files.cmake b/Code/Editor/editor_lib_files.cmake index 24634b245d..031ad26d76 100644 --- a/Code/Editor/editor_lib_files.cmake +++ b/Code/Editor/editor_lib_files.cmake @@ -554,10 +554,10 @@ set(FILES EditorPreferencesPageFiles.cpp EditorPreferencesPageViewportGeneral.h EditorPreferencesPageViewportGeneral.cpp - EditorPreferencesPageViewportGizmo.h - EditorPreferencesPageViewportGizmo.cpp - EditorPreferencesPageViewportMovement.h - EditorPreferencesPageViewportMovement.cpp + EditorPreferencesPageViewportManipulator.h + EditorPreferencesPageViewportManipulator.cpp + EditorPreferencesPageViewportCamera.h + EditorPreferencesPageViewportCamera.cpp EditorPreferencesPageViewportDebug.h EditorPreferencesPageViewportDebug.cpp EditorPreferencesPageExperimentalLighting.h diff --git a/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp b/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp index 0c197e5354..af3aba49a3 100644 --- a/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp +++ b/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp @@ -456,7 +456,7 @@ namespace AZ { if (loadBehavior & (1 << thisFlag)) { - returnFlags[thisFlag] = 1; + returnFlags[thisFlag] = true; } } return returnFlags; diff --git a/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp b/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp index 3df751fb02..6ba69cffd5 100644 --- a/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp +++ b/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp @@ -71,8 +71,8 @@ namespace AZ ////////////////////////////////////////////////////////////////////////// // EBusTraits overrides static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; - typedef AssetId BusIdType; - typedef AZStd::recursive_mutex MutexType; + using BusIdType = AssetId; + using MutexType = AZStd::recursive_mutex; template struct AssetJobConnectionPolicy @@ -107,7 +107,7 @@ namespace AZ virtual void OnLoadCanceled(AssetId assetId) = 0; }; - typedef EBus BlockingAssetLoadBus; + using BlockingAssetLoadBus = EBus; /* * This class processes async AssetDatabase load jobs diff --git a/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp b/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp index e02485f8d9..a7414af26b 100644 --- a/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp +++ b/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp @@ -645,7 +645,7 @@ namespace AZ NameDictionary::Create(); // Call this and child class's reflects - ReflectionEnvironment::GetReflectionManager()->Reflect(azrtti_typeid(this), AZStd::bind(&ComponentApplication::Reflect, this, AZStd::placeholders::_1)); + ReflectionEnvironment::GetReflectionManager()->Reflect(azrtti_typeid(this), [this](ReflectContext* context) {Reflect(context); }); RegisterCoreComponents(); TickBus::AllowFunctionQueuing(true); @@ -970,7 +970,12 @@ namespace AZ { if (ReflectionEnvironment::GetReflectionManager()) { - ReflectionEnvironment::GetReflectionManager()->Reflect(descriptor->GetUuid(), AZStd::bind(&ComponentDescriptor::Reflect, descriptor, AZStd::placeholders::_1)); + ReflectionEnvironment::GetReflectionManager()->Reflect( + descriptor->GetUuid(), + [descriptor](ReflectContext* context) + { + descriptor->Reflect(context); + }); } } diff --git a/Code/Framework/AzCore/AzCore/Compression/compression.cpp b/Code/Framework/AzCore/AzCore/Compression/compression.cpp index 60351b0f7c..8b6f270b00 100644 --- a/Code/Framework/AzCore/AzCore/Compression/compression.cpp +++ b/Code/Framework/AzCore/AzCore/Compression/compression.cpp @@ -23,8 +23,8 @@ using namespace AZ; // [3/21/2011] //========================================================================= ZLib::ZLib(IAllocator* workMemAllocator) - : m_strDeflate(NULL) - , m_strInflate(NULL) + : m_strDeflate(nullptr) + , m_strInflate(nullptr) { m_workMemoryAllocator = workMemAllocator ? workMemAllocator->GetAllocationSource() : nullptr; if (!m_workMemoryAllocator) @@ -75,7 +75,7 @@ void ZLib::FreeMem(void* userData, void* address) //========================================================================= void ZLib::StartCompressor(unsigned int compressionLevel) { - AZ_Assert(m_strDeflate == NULL, "Compressor already started!"); + AZ_Assert(m_strDeflate == nullptr, "Compressor already started!"); m_strDeflate = reinterpret_cast< z_stream* >(AllocateMem(m_workMemoryAllocator, 1, sizeof(z_stream))); m_strDeflate->zalloc = &ZLib::AllocateMem; m_strDeflate->zfree = &ZLib::FreeMem; @@ -91,10 +91,10 @@ void ZLib::StartCompressor(unsigned int compressionLevel) //========================================================================= void ZLib::StopCompressor() { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); deflateEnd(m_strDeflate); FreeMem(m_workMemoryAllocator, m_strDeflate); - m_strDeflate = NULL; + m_strDeflate = nullptr; } //========================================================================= @@ -103,7 +103,7 @@ void ZLib::StopCompressor() //========================================================================= void ZLib::ResetCompressor() { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); int r = deflateReset(m_strDeflate); (void)r; AZ_Assert(r == Z_OK, "ZLib inconsistent state - deflateReset() failed !!!\n"); @@ -115,7 +115,7 @@ void ZLib::ResetCompressor() //========================================================================= unsigned int ZLib::Compress(const void* data, unsigned int& dataSize, void* compressedData, unsigned int compressedDataSize, FlushType flushType) { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); m_strDeflate->avail_in = dataSize; m_strDeflate->next_in = (unsigned char*)data; m_strDeflate->avail_out = compressedDataSize; @@ -158,7 +158,7 @@ unsigned int ZLib::Compress(const void* data, unsigned int& dataSize, void* comp //========================================================================= unsigned int ZLib::GetMinCompressedBufferSize(unsigned int sourceDataSize) { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); return static_cast(deflateBound(m_strDeflate, sourceDataSize)); } @@ -168,7 +168,7 @@ unsigned int ZLib::GetMinCompressedBufferSize(unsigned int sourceDataSize) //========================================================================= void ZLib::StartDecompressor(Header* header) { - AZ_Assert(m_strInflate == NULL, "Decompressor already started!"); + AZ_Assert(m_strInflate == nullptr, "Decompressor already started!"); m_strInflate = reinterpret_cast< z_stream* >(AllocateMem(m_workMemoryAllocator, 1, sizeof(z_stream))); m_strInflate->zalloc = &ZLib::AllocateMem; m_strInflate->zfree = &ZLib::FreeMem; @@ -188,10 +188,10 @@ void ZLib::StartDecompressor(Header* header) //========================================================================= void ZLib::StopDecompressor() { - AZ_Assert(m_strInflate != NULL, "Decompressor not started!"); + AZ_Assert(m_strInflate != nullptr, "Decompressor not started!"); inflateEnd(m_strInflate); FreeMem(m_workMemoryAllocator, m_strInflate); - m_strInflate = NULL; + m_strInflate = nullptr; } //========================================================================= @@ -200,7 +200,7 @@ void ZLib::StopDecompressor() //========================================================================= void ZLib::ResetDecompressor(Header* header) { - AZ_Assert(m_strInflate != NULL, "Decompressor not started!"); + AZ_Assert(m_strInflate != nullptr, "Decompressor not started!"); int r = inflateReset(m_strInflate); (void)r; AZ_Assert(r == Z_OK, "ZLib inconsistent state - inflateReset() failed !!!\n"); @@ -229,7 +229,7 @@ void ZLib::SetupDecompressHeader(Header header) //========================================================================= unsigned int ZLib::Decompress(const void* compressedData, unsigned int compressedDataSize, void* data, unsigned int& dataSize, FlushType flushType) { - AZ_Assert(m_strInflate != NULL, "Decompressor not started!"); + AZ_Assert(m_strInflate != nullptr, "Decompressor not started!"); m_strInflate->avail_in = compressedDataSize; m_strInflate->next_in = (unsigned char*)compressedData; m_strInflate->avail_out = dataSize; diff --git a/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp b/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp index 049ac2e8a1..0009ec83b3 100644 --- a/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp @@ -242,7 +242,9 @@ namespace AZ::Debug ThreadData* threadData = threadStorage.m_data; // Set to nullptr so other threads doing a flush can't pick this up. - while (!threadStorage.m_data.compare_exchange_strong(threadData, nullptr)); + while (!threadStorage.m_data.compare_exchange_strong(threadData, nullptr)) + { + } uint32_t writeSize = AZ_SIZE_ALIGN_UP(sizeof(EventHeader) + size, EventBoundary); if (threadData->m_usedBytes + writeSize >= ThreadData::BufferSize) @@ -270,7 +272,9 @@ namespace AZ::Debug // swap the pending data to commit the event ThreadStorage& threadStorage = GetThreadStorage(); ThreadData* expectedData = nullptr; - while (!threadStorage.m_data.compare_exchange_strong(expectedData, threadStorage.m_pendingData)); + while (!threadStorage.m_data.compare_exchange_strong(expectedData, threadStorage.m_pendingData)) + { + } threadStorage.m_pendingData = nullptr; } diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp index 87f6def0d2..14504cc282 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp @@ -154,7 +154,7 @@ namespace AZ } bool - Trace::WaitForDebugger(float timeoutSeconds/*=-1.f*/) + Trace::WaitForDebugger([[maybe_unused]] float timeoutSeconds/*=-1.f*/) { #if defined(AZ_ENABLE_DEBUG_TOOLS) using AZStd::chrono::system_clock; @@ -218,7 +218,7 @@ namespace AZ void Debug::Trace::Crash() { - int* p = 0; + int* p = nullptr; *p = 1; } diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.h b/Code/Framework/AzCore/AzCore/Debug/Trace.h index b00a1cd921..5cb8c23821 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.h +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.h @@ -19,7 +19,7 @@ namespace AZ { void OutputToDebugger(const char* window, const char* message); } - + /// Global instance to the tracer. extern class Trace g_tracer; @@ -41,7 +41,7 @@ namespace AZ static void Destroy(); static int GetAssertVerbosityLevel(); static void SetAssertVerbosityLevel(int level); - + /** * Returns the default string used for a system window. * It can be useful for Trace message handlers to easily validate if the window they received is the fallback window used by this class, @@ -109,7 +109,7 @@ namespace AZ * Correct usage: * AZ_Assert(false, "Fail always"); */ - + namespace AZ { namespace TraceInternal @@ -121,7 +121,7 @@ namespace AZ static constexpr ExpressionValidResult value = ExpressionValidResult::Valid; }; template<> - struct ExpressionIsValid + struct ExpressionIsValid { static constexpr ExpressionValidResult value = ExpressionValidResult::Valid; }; @@ -228,7 +228,7 @@ namespace AZ { \ AZ::Debug::Trace::Instance().Printf(window, __VA_ARGS__); \ } - + //! The AZ_TrancePrintfOnce macro output the result of the format string only once for each use of the macro //! It does not take into account the result of the format string to determine whether to output the string or not @@ -278,7 +278,7 @@ namespace AZ #define AZ_Printf(window, ...) AZ::Debug::Trace::Instance().Printf(window, __VA_ARGS__); -#if !defined(RELEASE) || defined(PERFORMANCE_BUILD) +#if !defined(RELEASE) // Unconditional critical error log, enabled up to Performance config #define AZ_Fatal(window, format, ...) AZ::Debug::Trace::Instance().Printf(window, "[FATAL] " format "\n", ##__VA_ARGS__); #define AZ_Crash() AZ::Debug::Trace::Instance().Crash(); diff --git a/Code/Framework/AzCore/AzCore/Driller/Driller.cpp b/Code/Framework/AzCore/AzCore/Driller/Driller.cpp index 84f0fe3158..41abd7793e 100644 --- a/Code/Framework/AzCore/AzCore/Driller/Driller.cpp +++ b/Code/Framework/AzCore/AzCore/Driller/Driller.cpp @@ -208,7 +208,7 @@ namespace AZ { if (drillerList.empty()) { - return NULL; + return nullptr; } m_sessions.push_back(); @@ -246,21 +246,21 @@ namespace AZ AZStd::lock_guard lock(DrillerEBusMutex::GetMutex()); ///< Make sure no driller is writing to the stream for (DrillerListType::const_iterator iDriller = drillerList.begin(); iDriller != drillerList.end(); ++iDriller) { - Driller* driller = NULL; + Driller* driller = nullptr; const DrillerInfo& di = *iDriller; for (size_t iDesc = 0; iDesc < m_drillers.size(); ++iDesc) { if (m_drillers[iDesc]->GetId() == di.id) { driller = m_drillers[iDesc]; - AZ_Assert(driller->m_output == NULL, "Driller with id %08x is already have an output stream %p (currently we support only 1 at a time)", di.id, driller->m_output); + AZ_Assert(driller->m_output == nullptr, "Driller with id %08x is already have an output stream %p (currently we support only 1 at a time)", di.id, driller->m_output); driller->m_output = &output; driller->Start(di.params.data(), static_cast(di.params.size())); s.drillers.push_back(driller); break; } } - AZ_Warning("Driller", driller != NULL, "We can't start a driller with id %d!", di.id); + AZ_Warning("Driller", driller != nullptr, "We can't start a driller with id %d!", di.id); } } return &s; @@ -293,7 +293,7 @@ namespace AZ for (size_t i = 0; i < s.drillers.size(); ++i) { s.drillers[i]->Stop(); - s.drillers[i]->m_output = NULL; + s.drillers[i]->m_output = nullptr; } } s.output->EndTag(AZ_CRC("Frame", 0xb5f83ccd)); diff --git a/Code/Framework/AzCore/AzCore/Driller/Stream.cpp b/Code/Framework/AzCore/AzCore/Driller/Stream.cpp index f43e337bb8..761f964561 100644 --- a/Code/Framework/AzCore/AzCore/Driller/Stream.cpp +++ b/Code/Framework/AzCore/AzCore/Driller/Stream.cpp @@ -677,7 +677,7 @@ namespace AZ AZStd::endian_swap(crc32); } stringPtr = m_stringPool->Find(crc32); - AZ_Assert(stringPtr != NULL, "Failed to find string with id 0x%08x in the string pool, proper stream read is impossible!", crc32); + AZ_Assert(stringPtr != nullptr, "Failed to find string with id 0x%08x in the string pool, proper stream read is impossible!", crc32); stringLength = static_cast(strlen(stringPtr)); } else if (m_isPooledString) @@ -710,7 +710,7 @@ namespace AZ //========================================================================= const DrillerDOMParser::Node* DrillerDOMParser::Node::GetTag(u32 tagName) const { - const Node* tagNode = NULL; + const Node* tagNode = nullptr; for (Node::NodeListType::const_iterator i = m_tags.begin(); i != m_tags.end(); ++i) { if ((*i).m_name == tagName) @@ -728,7 +728,7 @@ namespace AZ //========================================================================= const DrillerDOMParser::Data* DrillerDOMParser::Node::GetData(u32 dataName) const { - const Data* dataNode = NULL; + const Data* dataNode = nullptr; for (Node::DataListType::const_iterator i = m_data.begin(); i != m_data.end(); ++i) { if (i->m_name == dataName) @@ -749,7 +749,7 @@ namespace AZ , m_isPersistentInputData(isPersistentInputData) { m_root.m_name = 0; - m_root.m_parent = NULL; + m_root.m_parent = nullptr; m_topNode = &m_root; } static int g_numFree = 0; @@ -850,14 +850,14 @@ namespace AZ return; } - DrillerHandlerParser* childHandler = NULL; + DrillerHandlerParser* childHandler = nullptr; DrillerHandlerParser* currentHandler = m_stack.back(); if (isOpen) { - if (currentHandler != NULL) + if (currentHandler != nullptr) { childHandler = currentHandler->OnEnterTag(name); - AZ_Warning("Driller", !currentHandler->IsWarnOnUnsupportedTags() || childHandler != NULL, "Could not find handler for tag 0x%08x", name); + AZ_Warning("Driller", !currentHandler->IsWarnOnUnsupportedTags() || childHandler != nullptr, "Could not find handler for tag 0x%08x", name); } m_stack.push_back(childHandler); } diff --git a/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp b/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp index a61cdb1133..f973c0e95a 100644 --- a/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp +++ b/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp @@ -22,10 +22,10 @@ namespace AZ // [12/13/2012] //========================================================================= CompressorZLib::CompressorZLib(unsigned int decompressionCachePerStream, unsigned int dataBufferSize) - : m_lastReadStream(NULL) + : m_lastReadStream(nullptr) , m_lastReadStreamOffset(0) , m_lastReadStreamSize(0) - , m_compressedDataBuffer(NULL) + , m_compressedDataBuffer(nullptr) , m_compressedDataBufferSize(dataBufferSize) , m_compressedDataBufferUseCount(0) , m_decompressionCachePerStream(decompressionCachePerStream) @@ -63,7 +63,7 @@ namespace AZ //========================================================================= bool CompressorZLib::ReadHeaderAndData(CompressorStream* stream, AZ::u8* data, unsigned int dataSize) { - if (stream->GetCompressorData() != NULL) // we already have compressor data + if (stream->GetCompressorData() != nullptr) // we already have compressor data { return false; } @@ -347,7 +347,7 @@ namespace AZ AZ_Assert(stream && stream->GetCompressorData(), "This stream doesn't have compression enabled! Call Stream::WriteCompressed after you create the file!"); AZ_Assert(offset == SizeType(-1) || offset == stream->GetCurPos(), "We can write compressed data only at the end of the stream!"); - m_lastReadStream = NULL; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). + m_lastReadStream = nullptr; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). CompressorZLibData* zlibData = static_cast(stream->GetCompressorData()); AZ_Assert(!zlibData->m_zlib.IsDecompressorStarted(), "You can't write while reading/decompressing a compressed stream!"); @@ -398,13 +398,13 @@ namespace AZ AZ_Assert(stream && stream->GetCompressorData(), "This stream doesn't have compression enabled! Call Stream::WriteCompressed after you create the file!"); CompressorZLibData* zlibData = static_cast(stream->GetCompressorData()); - m_lastReadStream = NULL; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). + m_lastReadStream = nullptr; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). unsigned int compressedSize; unsigned int dataToCompress = 0; do { - compressedSize = zlibData->m_zlib.Compress(NULL, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FULL_FLUSH); + compressedSize = zlibData->m_zlib.Compress(nullptr, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FULL_FLUSH); if (compressedSize) { GenericStream* baseStream = stream->GetWrappedStream(); @@ -429,7 +429,7 @@ namespace AZ //========================================================================= bool CompressorZLib::StartCompressor(CompressorStream* stream, int compressionLevel, SizeType autoSeekDataSize) { - AZ_Assert(stream && stream->GetCompressorData() == NULL, "Stream has compressor already enabled!"); + AZ_Assert(stream && stream->GetCompressorData() == nullptr, "Stream has compressor already enabled!"); AcquireDataBuffer(); @@ -470,14 +470,14 @@ namespace AZ bool result = true; if (zlibData->m_zlib.IsCompressorStarted()) { - m_lastReadStream = NULL; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). + m_lastReadStream = nullptr; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). // flush all compressed data unsigned int compressedSize; unsigned int dataToCompress = 0; do { - compressedSize = zlibData->m_zlib.Compress(NULL, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FINISH); + compressedSize = zlibData->m_zlib.Compress(nullptr, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FINISH); if (compressedSize) { baseStream->Write(compressedSize, m_compressedDataBuffer); @@ -502,7 +502,7 @@ namespace AZ { if (m_lastReadStream == stream) { - m_lastReadStream = NULL; // invalidate the data in m_dataBuffer if it was from the current stream. + m_lastReadStream = nullptr; // invalidate the data in m_dataBuffer if it was from the current stream. } } @@ -525,11 +525,11 @@ namespace AZ //========================================================================= void CompressorZLib::AcquireDataBuffer() { - if (m_compressedDataBuffer == NULL) + if (m_compressedDataBuffer == nullptr) { AZ_Assert(m_compressedDataBufferUseCount == 0, "Buffer usecount should be 0 if the buffer is NULL"); m_compressedDataBuffer = reinterpret_cast(azmalloc(m_compressedDataBufferSize, m_CompressedDataBufferAlignment, AZ::SystemAllocator, "CompressorZLib")); - m_lastReadStream = NULL; // reset the cache info in the m_dataBuffer + m_lastReadStream = nullptr; // reset the cache info in the m_dataBuffer } ++m_compressedDataBufferUseCount; } @@ -543,10 +543,10 @@ namespace AZ --m_compressedDataBufferUseCount; if (m_compressedDataBufferUseCount == 0) { - AZ_Assert(m_compressedDataBuffer != NULL, "Invalid data buffer! We should have a non null pointer!"); + AZ_Assert(m_compressedDataBuffer != nullptr, "Invalid data buffer! We should have a non null pointer!"); azfree(m_compressedDataBuffer, AZ::SystemAllocator, m_compressedDataBufferSize, m_CompressedDataBufferAlignment); - m_compressedDataBuffer = NULL; - m_lastReadStream = NULL; // reset the cache info in the m_dataBuffer + m_compressedDataBuffer = nullptr; + m_lastReadStream = nullptr; // reset the cache info in the m_dataBuffer } } } // namespace IO diff --git a/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp b/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp index 8de8b6b70f..5bff79b422 100644 --- a/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp +++ b/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp @@ -127,7 +127,7 @@ bool SystemFile::Open(const char* fileName, int mode, int platformFlags) bool SystemFile::ReOpen(int mode, int platformFlags) { AZ_Assert(!m_fileName.empty(), "Missing filename. You must call open first!"); - return Open(0, mode, platformFlags); + return Open(nullptr, mode, platformFlags); } void SystemFile::Close() diff --git a/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp b/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp index 37c88e34fc..af73ab4936 100644 --- a/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp +++ b/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp @@ -125,7 +125,7 @@ SharedMemory::Close() bool SharedMemory::Map(AccessMode mode, unsigned int size) { - AZ_Assert(m_mappedBase == NULL, "We already have data mapped"); + AZ_Assert(m_mappedBase == nullptr, "We already have data mapped"); AZ_Assert(Platform::IsMapHandleValid(), "You must call Map() first!"); bool result = Platform::Map(mode, size); @@ -232,7 +232,7 @@ bool SharedMemory::CheckMappedBaseValid() // [4/29/2011] //========================================================================= SharedMemoryRingBuffer::SharedMemoryRingBuffer() - : m_info(NULL) + : m_info(nullptr) {} //========================================================================= @@ -279,7 +279,7 @@ SharedMemoryRingBuffer::Map(AccessMode mode, unsigned int size) bool SharedMemoryRingBuffer::UnMap() { - m_info = NULL; + m_info = nullptr; return SharedMemory::UnMap(); } @@ -291,7 +291,7 @@ bool SharedMemoryRingBuffer::Write(const void* data, unsigned int dataSize) { AZ_Warning("AZSystem", !Platform::IsWaitFailed(), "You are writing the ring buffer %s while the Global lock is NOT locked! This can lead to data corruption!", m_name); - AZ_Assert(m_info != NULL, "You need to Create and Map the buffer first!"); + AZ_Assert(m_info != nullptr, "You need to Create and Map the buffer first!"); if (m_info->m_writeOffset >= m_info->m_readOffset) { unsigned int freeSpace = m_dataSize - (m_info->m_writeOffset - m_info->m_readOffset); @@ -346,7 +346,7 @@ SharedMemoryRingBuffer::Read(void* data, unsigned int maxDataSize) return 0; } - AZ_Assert(m_info != NULL, "You need to Create and Map the buffer first!"); + AZ_Assert(m_info != nullptr, "You need to Create and Map the buffer first!"); unsigned int dataRead; if (m_info->m_writeOffset > m_info->m_readOffset) { diff --git a/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp b/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp index 73fb4ecfe8..f76946a667 100644 --- a/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp +++ b/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp @@ -192,15 +192,15 @@ void JobManagerWorkStealing::SuspendJobUntilReady(Job* job) ThreadInfo* info = GetCurrentOrCreateThreadInfo(); AZ_Assert(info->m_currentJob == job, ("Can't suspend a job which isn't currently running")); - info->m_currentJob = NULL; //clear current job + info->m_currentJob = nullptr; //clear current job if (IsAsynchronous()) { - ProcessJobsAssist(info, job, NULL); + ProcessJobsAssist(info, job, nullptr); } else { - ProcessJobsSynchronous(info, job, NULL); + ProcessJobsSynchronous(info, job, nullptr); } info->m_currentJob = job; //restore current job @@ -223,11 +223,11 @@ void JobManagerWorkStealing::StartJobAndAssistUntilComplete(Job* job) //the processing functions will return when the empty job dependent count has reached 1 if (IsAsynchronous()) { - ProcessJobsAssist(info, NULL, ¬ifyFlag); + ProcessJobsAssist(info, nullptr, ¬ifyFlag); } else { - ProcessJobsSynchronous(info, NULL, ¬ifyFlag); + ProcessJobsSynchronous(info, nullptr, ¬ifyFlag); } AZ_Assert(!m_currentThreadInfo, ""); @@ -306,9 +306,9 @@ void JobManagerWorkStealing::ProcessJobsWorker(ThreadInfo* info) //setup thread-local storage m_currentThreadInfo = info; - ProcessJobsInternal(info, NULL, NULL); + ProcessJobsInternal(info, nullptr, nullptr); - m_currentThreadInfo = NULL; + m_currentThreadInfo = nullptr; } void JobManagerWorkStealing::ProcessJobsAssist(ThreadInfo* info, Job* suspendedJob, AZStd::atomic* notifyFlag) @@ -529,7 +529,7 @@ void JobManagerWorkStealing::ProcessJobsSynchronous(ThreadInfo* info, Job* suspe info->m_currentJob = job; Process(job); - info->m_currentJob = NULL; + info->m_currentJob = nullptr; //...after calling Process we cannot use the job pointer again, the job has completed and may not exist anymore #ifdef JOBMANAGER_ENABLE_STATS diff --git a/Code/Framework/AzCore/AzCore/Jobs/Job.cpp b/Code/Framework/AzCore/AzCore/Jobs/Job.cpp index d3a2a77d92..8462cf47e8 100644 --- a/Code/Framework/AzCore/AzCore/Jobs/Job.cpp +++ b/Code/Framework/AzCore/AzCore/Jobs/Job.cpp @@ -36,7 +36,7 @@ namespace AZ } countAndFlags |= (unsigned int)((priority << FLAG_PRIORITY_START_BIT) & FLAG_PRIORITY_MASK); SetDependentCountAndFlags(countAndFlags); - StoreDependent(NULL); + StoreDependent(nullptr); #ifdef AZ_DEBUG_JOB_STATE SetState(STATE_SETUP); @@ -66,7 +66,7 @@ namespace AZ SetDependentCountAndFlags(countAndFlags); if (isClearDependent) { - StoreDependent(NULL); + StoreDependent(nullptr); } else { diff --git a/Code/Framework/AzCore/AzCore/Math/IntersectSegment.cpp b/Code/Framework/AzCore/AzCore/Math/IntersectSegment.cpp index fa52599c4a..a7a0d5197e 100644 --- a/Code/Framework/AzCore/AzCore/Math/IntersectSegment.cpp +++ b/Code/Framework/AzCore/AzCore/Math/IntersectSegment.cpp @@ -628,7 +628,7 @@ int AZ::Intersect::IntersectRayCappedCylinder( int AZ::Intersect::IntersectRayCone( const Vector3& rayOrigin, const Vector3& rayDir, const Vector3& coneApex, const Vector3& coneDir, float coneHeight, - float coneBaseRaidus, float& t1, float& t2) + float coneBaseRadius, float& t1, float& t2) { // Q = rayOrgin, A = coneApex Vector3 AQ = rayOrigin - coneApex; @@ -646,7 +646,7 @@ int AZ::Intersect::IntersectRayCone( return 0; } - float r2 = coneBaseRaidus * coneBaseRaidus; + float r2 = coneBaseRadius * coneBaseRadius; float h2 = coneHeight * coneHeight; float m2 = m * m; diff --git a/Code/Framework/AzCore/AzCore/Math/IntersectSegment.h b/Code/Framework/AzCore/AzCore/Math/IntersectSegment.h index 3dffb90d7c..df3d5e10fb 100644 --- a/Code/Framework/AzCore/AzCore/Math/IntersectSegment.h +++ b/Code/Framework/AzCore/AzCore/Math/IntersectSegment.h @@ -240,7 +240,7 @@ namespace AZ //! @return The number of intersecting points. int IntersectRayCone( const Vector3& rayOrigin, const Vector3& rayDir, - const Vector3& coneApex, const Vector3& coneDir, float coneHeight, float coneBaseRaidus, + const Vector3& coneApex, const Vector3& coneDir, float coneHeight, float coneBaseRadius, float& t1, float& t2); //! Test intersection between a ray and a plane in 3D. diff --git a/Code/Framework/AzCore/AzCore/Math/Uuid.cpp b/Code/Framework/AzCore/AzCore/Math/Uuid.cpp index 6e71ffc3bd..d875e28a1e 100644 --- a/Code/Framework/AzCore/AzCore/Math/Uuid.cpp +++ b/Code/Framework/AzCore/AzCore/Math/Uuid.cpp @@ -56,7 +56,7 @@ namespace AZ Uuid Uuid::CreateStringSkipWarnings(const char* string, size_t stringLength, [[maybe_unused]] bool skipWarnings) { - if (string == NULL) + if (string == nullptr) { return Uuid::CreateNull(); } @@ -71,7 +71,7 @@ namespace AZ if (len < 32 || len > 38) { - AZ_Warning("Math", skipWarnings, "Invalid UUID format %s (must be) {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (or without dashes and braces)", string != NULL ? string : "null"); + AZ_Warning("Math", skipWarnings, "Invalid UUID format %s (must be) {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (or without dashes and braces)", string != nullptr ? string : "null"); return Uuid::CreateNull(); } diff --git a/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp b/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp index 7d644c6917..b55b2db768 100644 --- a/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp @@ -169,7 +169,7 @@ AllocationRecords::RegisterAllocation(void* address, size_t byteSize, size_t ali ai.m_timeStamp = AZStd::GetTimeNowMicroSecond(); // if we don't have a fileName,lineNum record the stack or if the user requested it. - if ((fileName == 0 && m_mode == RECORD_STACK_IF_NO_FILE_LINE) || m_mode == RECORD_FULL) + if ((fileName == nullptr && m_mode == RECORD_STACK_IF_NO_FILE_LINE) || m_mode == RECORD_FULL) { ai.m_stackFrames = m_numStackLevels ? reinterpret_cast(m_records.get_allocator().allocate(sizeof(AZ::Debug::StackFrame)*m_numStackLevels, 1)) : nullptr; if (ai.m_stackFrames) diff --git a/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp b/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp index b34a88669c..3c09b4cae6 100644 --- a/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp @@ -39,9 +39,9 @@ namespace AZ return AZStd::hash{}(key); } }; - typedef AZStd::basic_string, AZStdIAllocator> AMString; - typedef AZStd::unordered_map, AZStdIAllocator> AllocatorNameMap; - typedef AZStd::unordered_map, AZStdIAllocator> AllocatorRemappings; + using AMString = AZStd::basic_string, AZStdIAllocator>; + using AllocatorNameMap = AZStd::unordered_map, AZStdIAllocator>; + using AllocatorRemappings = AZStd::unordered_map, AZStdIAllocator>; // For allocators that are created before we have an environment, we keep some module-local data for them so that we can register them // properly once the environment is attached. @@ -403,7 +403,7 @@ AllocatorManager::AddOutOfMemoryListener(const OutOfMemoryCBType& cb) void AllocatorManager::RemoveOutOfMemoryListener() { - m_outOfMemoryListener = 0; + m_outOfMemoryListener = nullptr; } //========================================================================= @@ -660,13 +660,13 @@ void AllocatorManager::GetAllocatorStats(size_t& allocatedBytes, size_t& capacit //========================================================================= AllocatorManager::MemoryBreak::MemoryBreak() { - addressStart = NULL; - addressEnd = NULL; + addressStart = nullptr; + addressEnd = nullptr; byteSize = 0; alignment = static_cast(0xffffffff); - name = NULL; + name = nullptr; - fileName = NULL; + fileName = nullptr; lineNum = -1; } @@ -729,14 +729,14 @@ AllocatorManager::DebugBreak(void* address, const Debug::AllocationInfo& info) AZ_Assert(!(m_memoryBreak[i].alignment == info.m_alignment), "User triggered breakpoint - alignment (%d)", info.m_alignment); AZ_Assert(!(m_memoryBreak[i].byteSize == info.m_byteSize), "User triggered breakpoint - allocation size (%d)", info.m_byteSize); - AZ_Assert(!(info.m_name != NULL && m_memoryBreak[i].name != NULL && strcmp(m_memoryBreak[i].name, info.m_name) == 0), "User triggered breakpoint - name \"%s\"", info.m_name); + AZ_Assert(!(info.m_name != nullptr && m_memoryBreak[i].name != nullptr && strcmp(m_memoryBreak[i].name, info.m_name) == 0), "User triggered breakpoint - name \"%s\"", info.m_name); if (m_memoryBreak[i].lineNum != 0) { - AZ_Assert(!(info.m_fileName != NULL && m_memoryBreak[i].fileName != NULL && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0 && m_memoryBreak[i].lineNum == info.m_lineNum), "User triggered breakpoint - file/line number : %s(%d)", info.m_fileName, info.m_lineNum); + AZ_Assert(!(info.m_fileName != nullptr && m_memoryBreak[i].fileName != nullptr && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0 && m_memoryBreak[i].lineNum == info.m_lineNum), "User triggered breakpoint - file/line number : %s(%d)", info.m_fileName, info.m_lineNum); } else { - AZ_Assert(!(info.m_fileName != NULL && m_memoryBreak[i].fileName != NULL && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0), "User triggered breakpoint - file name \"%s\"", info.m_fileName); + AZ_Assert(!(info.m_fileName != nullptr && m_memoryBreak[i].fileName != nullptr && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0), "User triggered breakpoint - file name \"%s\"", info.m_fileName); } } } diff --git a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp index a9b0ec92c3..cf26c8f723 100644 --- a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp @@ -22,7 +22,7 @@ using namespace AZ; //========================================================================= BestFitExternalMapAllocator::BestFitExternalMapAllocator() : AllocatorBase(this, "BestFitExternalMapAllocator", "Best fit allocator with external tracking storage!") - , m_schema(NULL) + , m_schema(nullptr) {} //========================================================================= @@ -47,7 +47,7 @@ BestFitExternalMapAllocator::Create(const Descriptor& desc) schemaDesc.m_memoryBlockByteSize = desc.m_memoryBlockByteSize; m_schema = azcreate(BestFitExternalMapSchema, (schemaDesc), SystemAllocator); - if (m_schema == NULL) + if (m_schema == nullptr) { isReady = false; } @@ -63,7 +63,7 @@ void BestFitExternalMapAllocator::Destroy() { azdestroy(m_schema, SystemAllocator); - m_schema = NULL; + m_schema = nullptr; } AllocatorDebugConfig BestFitExternalMapAllocator::GetDebugConfig() @@ -89,7 +89,7 @@ BestFitExternalMapAllocator::Allocate(size_type byteSize, size_type alignment, i byteSize = MemorySizeAdjustedUp(byteSize); BestFitExternalMapAllocator::pointer_type address = m_schema->Allocate(byteSize, alignment, flags); - if (address == 0) + if (address == nullptr) { if (!OnOutOfMemory(byteSize, alignment, flags, name, fileName, lineNum)) { @@ -100,7 +100,7 @@ BestFitExternalMapAllocator::Allocate(size_type byteSize, size_type alignment, i } } - AZ_Assert(address != 0, "BestFitExternalMapAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); + AZ_Assert(address != nullptr, "BestFitExternalMapAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); AZ_MEMORY_PROFILE(ProfileAllocation(address, byteSize, alignment, name, fileName, lineNum, suppressStackRecord + 1)); return address; @@ -145,7 +145,7 @@ BestFitExternalMapAllocator::ReAllocate(pointer_type ptr, size_type newSize, siz (void)newSize; (void)newAlignment; AZ_Assert(false, "Not supported!"); - return NULL; + return nullptr; } //========================================================================= diff --git a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp index 1cd7f156d1..d94d1dfe35 100644 --- a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp @@ -18,15 +18,15 @@ using namespace AZ; BestFitExternalMapSchema::BestFitExternalMapSchema(const Descriptor& desc) : m_desc(desc) , m_used(0) - , m_freeChunksMap(FreeMapType::key_compare(), AZStdIAllocator(desc.m_mapAllocator != NULL ? desc.m_mapAllocator : &AllocatorInstance::Get())) - , m_allocChunksMap(AllocMapType::hasher(), AllocMapType::key_eq(), AZStdIAllocator(desc.m_mapAllocator != NULL ? desc.m_mapAllocator : &AllocatorInstance::Get())) + , m_freeChunksMap(FreeMapType::key_compare(), AZStdIAllocator(desc.m_mapAllocator != nullptr ? desc.m_mapAllocator : &AllocatorInstance::Get())) + , m_allocChunksMap(AllocMapType::hasher(), AllocMapType::key_eq(), AZStdIAllocator(desc.m_mapAllocator != nullptr ? desc.m_mapAllocator : &AllocatorInstance::Get())) { - if (m_desc.m_mapAllocator == NULL) + if (m_desc.m_mapAllocator == nullptr) { m_desc.m_mapAllocator = &AllocatorInstance::Get(); // used as our sub allocator } AZ_Assert(m_desc.m_memoryBlockByteSize > 0, "You must provide memory block size!"); - AZ_Assert(m_desc.m_memoryBlock != NULL, "You must provide memory block allocated as you with!"); + AZ_Assert(m_desc.m_memoryBlock != nullptr, "You must provide memory block allocated as you with!"); //if( m_desc.m_memoryBlock == NULL) there is no point to automate this cause we need to flag this memory special, otherwise there is no point to use this allocator at all // m_desc.m_memoryBlock = azmalloc(SystemAllocator,m_desc.m_memoryBlockByteSize,16); m_freeChunksMap.insert(AZStd::make_pair(m_desc.m_memoryBlockByteSize, reinterpret_cast(m_desc.m_memoryBlock))); @@ -40,13 +40,13 @@ BestFitExternalMapSchema::pointer_type BestFitExternalMapSchema::Allocate(size_type byteSize, size_type alignment, int flags) { (void)flags; - char* address = NULL; + char* address = nullptr; AZ_Assert(alignment > 0 && (alignment & (alignment - 1)) == 0, "Alignment must be >0 and power of 2!"); for (int i = 0; i < 2; ++i) // max 2 attempts to allocate { FreeMapType::iterator iter = m_freeChunksMap.find(byteSize); size_t blockSize = 0; - char* blockAddress = NULL; + char* blockAddress = nullptr; size_t preAllocBlockSize = 0; while (iter != m_freeChunksMap.end()) { @@ -64,7 +64,7 @@ BestFitExternalMapSchema::Allocate(size_type byteSize, size_type alignment, int } ++iter; } - if (address != NULL) + if (address != nullptr) { // split blocks if (preAllocBlockSize) // if we have a block before the alignment @@ -94,7 +94,7 @@ BestFitExternalMapSchema::Allocate(size_type byteSize, size_type alignment, int void BestFitExternalMapSchema::DeAllocate(pointer_type ptr) { - if (ptr == 0) + if (ptr == nullptr) { return; } diff --git a/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp index 1c67a95d51..50e6a47630 100644 --- a/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp @@ -107,17 +107,17 @@ namespace AZ m_used = 0; m_desc = desc; - m_subAllocator = 0; + m_subAllocator = nullptr; for (int i = 0; i < Descriptor::m_maxNumBlocks; ++i) { - m_memSpaces[i] = 0; + m_memSpaces[i] = nullptr; m_ownMemoryBlock[i] = false; } for (int i = 0; i < m_desc.m_numMemoryBlocks; ++i) { - if (m_desc.m_memoryBlocks[i] == 0) // Allocate memory block if requested! + if (m_desc.m_memoryBlocks[i] == nullptr) // Allocate memory block if requested! { AZ_Assert(AllocatorInstance::IsReady(), "You requested to allocate memory using the system allocator, but it's not created yet!"); m_subAllocator = &AllocatorInstance::Get(); @@ -152,7 +152,7 @@ namespace AZ if (m_memSpaces[i]) { AZDLMalloc::destroy_mspace(m_memSpaces[i]); - m_memSpaces[i] = 0; + m_memSpaces[i] = nullptr; if (m_ownMemoryBlock[i]) { @@ -172,7 +172,7 @@ namespace AZ AZ_UNUSED(lineNum); AZ_UNUSED(suppressStackRecord); int blockId = flags; - AZ_Assert(m_memSpaces[blockId]!=0, "Invalid block id!"); + AZ_Assert(m_memSpaces[blockId]!=nullptr, "Invalid block id!"); HeapSchema::pointer_type address = AZDLMalloc::mspace_memalign(m_memSpaces[blockId], alignment, byteSize); if (address) { @@ -186,7 +186,7 @@ namespace AZ { AZ_UNUSED(byteSize); AZ_UNUSED(alignment); - if (ptr==0) + if (ptr==nullptr) { return; } @@ -194,7 +194,7 @@ namespace AZ // if we use m_spaces just count the chunk sizes. m_used -= ChunckSize(ptr); #ifdef FOOTERS - AZDLMalloc::mspace_free(0, ptr); ///< We use footers so we know which memspace the pointer belongs to. + AZDLMalloc::mspace_free(nullptr, ptr); ///< We use footers so we know which memspace the pointer belongs to. #else int i = 0; for (; i < m_desc.m_numMemoryBlocks; ++i) @@ -248,7 +248,7 @@ namespace AZ HeapSchema::ChunckSize(pointer_type ptr) { // based on azmalloc_usable_size + the overhead - if (ptr != 0) + if (ptr != nullptr) { mchunkptr p = mem2chunk(ptr); //if (is_inuse(p)) // we can even skip this check since we track for double free and so on anyway diff --git a/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp index 5b7ca194cf..f5df0dfe96 100644 --- a/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp @@ -784,17 +784,17 @@ namespace AZ { // size == 0 acts as free void* realloc(void* ptr, size_t size) { - if (ptr == NULL) + if (ptr == nullptr) { return alloc(size); } if (size == 0) { free(ptr); - return NULL; + return nullptr; } debug_check(ptr); - void* newPtr = NULL; + void* newPtr = nullptr; if (ptr_in_bucket(ptr)) { if (is_small_allocation(size)) // no point to check m_isPoolAllocations as if it's false pointer can't be in a bucket. @@ -853,21 +853,21 @@ namespace AZ { { return realloc(ptr, size); } - if (ptr == NULL) + if (ptr == nullptr) { return alloc(size, alignment); } if (size == 0) { free(ptr); - return NULL; + return nullptr; } if ((size_t)ptr & (alignment - 1)) { void* newPtr = alloc(size, alignment); if (!newPtr) { - return NULL; + return nullptr; } size_t count = this->size(ptr); if (count > size) @@ -879,7 +879,7 @@ namespace AZ { return newPtr; } debug_check(ptr); - void* newPtr = NULL; + void* newPtr = nullptr; if (ptr_in_bucket(ptr)) { if (is_small_allocation(size) && alignment <= MAX_SMALL_ALLOCATION) // no point to check m_isPoolAllocations as if it was false, pointer can't be in a bucket @@ -931,7 +931,7 @@ namespace AZ { // returns the size of the resulting memory block inline size_t resize(void* ptr, size_t size) { - if (ptr == NULL) + if (ptr == nullptr) { return 0; } @@ -957,7 +957,7 @@ namespace AZ { // query the size of the memory block inline size_t size(void* ptr) const { - if (ptr == NULL) + if (ptr == nullptr) { return 0; } @@ -993,7 +993,7 @@ namespace AZ { // free the memory block inline void free(void* ptr) { - if (ptr == NULL) + if (ptr == nullptr) { return; } @@ -1009,7 +1009,7 @@ namespace AZ { // free the memory block supplying the original size with DEFAULT_ALIGNMENT inline void free(void* ptr, size_t origSize) { - if (ptr == NULL) + if (ptr == nullptr) { return; } @@ -1027,7 +1027,7 @@ namespace AZ { // free the memory block supplying the original size and alignment inline void free(void* ptr, size_t origSize, size_t oldAlignment) { - if (ptr == NULL) + if (ptr == nullptr) { return; } @@ -1134,10 +1134,10 @@ namespace AZ { // If m_systemChunkSize is specified, use that size for allocating tree blocks from the OS // m_treePageAlignment should be OS_VIRTUAL_PAGE_SIZE in all cases with this trait as we work // with virtual memory addresses when the tree grows and we cannot specify an alignment in all cases - : m_treePageSize(desc.m_fixedMemoryBlock != NULL ? desc.m_pageSize : + : m_treePageSize(desc.m_fixedMemoryBlock != nullptr ? desc.m_pageSize : desc.m_systemChunkSize != 0 ? desc.m_systemChunkSize : OS_VIRTUAL_PAGE_SIZE) , m_treePageAlignment(desc.m_pageSize) - , m_poolPageSize(desc.m_fixedMemoryBlock != NULL ? desc.m_poolPageSize : OS_VIRTUAL_PAGE_SIZE) + , m_poolPageSize(desc.m_fixedMemoryBlock != nullptr ? desc.m_poolPageSize : OS_VIRTUAL_PAGE_SIZE) , m_subAllocator(desc.m_subAllocator) { #ifdef DEBUG_ALLOCATOR @@ -1246,7 +1246,7 @@ namespace AZ { return p; } } - return NULL; + return nullptr; } const HpAllocator::page* HpAllocator::bucket::get_free_page() const @@ -1259,7 +1259,7 @@ namespace AZ { return p; } } - return NULL; + return nullptr; } void* HpAllocator::bucket::alloc(page* p) @@ -1359,7 +1359,7 @@ namespace AZ { p = bucket_grow(bsize, mBuckets[bi].marker()); if (!p) { - return NULL; + return nullptr; } mBuckets[bi].add_free_page(p); } @@ -1385,7 +1385,7 @@ namespace AZ { p = bucket_grow(bsize, mBuckets[bi].marker()); if (!p) { - return NULL; + return nullptr; } mBuckets[bi].add_free_page(p); } @@ -1406,7 +1406,7 @@ namespace AZ { void* newPtr = bucket_alloc(size); if (!newPtr) { - return NULL; + return nullptr; } memcpy(newPtr, ptr, AZStd::GetMin(elemSize - MEMORY_GUARD_SIZE, size - MEMORY_GUARD_SIZE)); bucket_free(ptr); @@ -1426,7 +1426,7 @@ namespace AZ { void* newPtr = bucket_alloc_direct(bucket_spacing_function(AZ::SizeAlignUp(size, alignment))); if (!newPtr) { - return NULL; + return nullptr; } memcpy(newPtr, ptr, AZStd::GetMin(elemSize - MEMORY_GUARD_SIZE, size - MEMORY_GUARD_SIZE)); bucket_free(ptr); @@ -1638,7 +1638,7 @@ namespace AZ { // create a dummy block to avoid prev() NULL checks and allow easy block shifts // potentially this dummy block might grow (due to shift_block) but not more than sizeof(free_node) block_header* front = (block_header*)mem; - front->prev(0); + front->prev(nullptr); front->size(0); front->set_used(); block_header* back = (block_header*)front->mem(); @@ -1777,7 +1777,7 @@ namespace AZ { newBl = tree_grow(size); if (!newBl) { - return NULL; + return nullptr; } } HPPA_ASSERT(!newBl->used()); @@ -1956,7 +1956,7 @@ namespace AZ { tree_free(ptr); return newPtr; } - return NULL; + return nullptr; } void* HpAllocator::tree_realloc_aligned(void* ptr, size_t size, size_t alignment) @@ -2044,7 +2044,7 @@ namespace AZ { tree_free(ptr); return newPtr; } - return NULL; + return nullptr; } size_t HpAllocator::tree_resize(void* ptr, size_t size) @@ -2121,7 +2121,7 @@ namespace AZ { HPPA_ASSERT(!bl->used()); HPPA_ASSERT(bl->prev() && bl->prev()->used()); HPPA_ASSERT(bl->next() && bl->next()->used()); - if (bl->prev()->prev() == NULL && bl->next()->size() == 0) + if (bl->prev()->prev() == nullptr && bl->next()->size() == 0) { tree_detach(bl); char* memStart = (char*)bl->prev(); @@ -2539,11 +2539,11 @@ namespace AZ { if (m_desc.m_fixedMemoryBlockByteSize > 0) { AZ_Assert((m_desc.m_fixedMemoryBlockByteSize & (m_desc.m_pageSize - 1)) == 0, "Memory block size %d MUST be multiples of the of the page size %d!", m_desc.m_fixedMemoryBlockByteSize, m_desc.m_pageSize); - if (m_desc.m_fixedMemoryBlock == NULL) + if (m_desc.m_fixedMemoryBlock == nullptr) { - AZ_Assert(m_desc.m_subAllocator != NULL, "Sub allocator must point to a valid allocator if m_fixedMemoryBlock is NOT allocated (NULL)!"); + AZ_Assert(m_desc.m_subAllocator != nullptr, "Sub allocator must point to a valid allocator if m_fixedMemoryBlock is NOT allocated (NULL)!"); m_desc.m_fixedMemoryBlock = m_desc.m_subAllocator->Allocate(m_desc.m_fixedMemoryBlockByteSize, m_desc.m_fixedMemoryBlockAlignment, 0, "HphaSchema", __FILE__, __LINE__, 1); - AZ_Assert(m_desc.m_fixedMemoryBlock != NULL, "Failed to allocate %d bytes!", m_desc.m_fixedMemoryBlockByteSize); + AZ_Assert(m_desc.m_fixedMemoryBlock != nullptr, "Failed to allocate %d bytes!", m_desc.m_fixedMemoryBlockByteSize); m_ownMemoryBlock = true; } AZ_Assert((reinterpret_cast(m_desc.m_fixedMemoryBlock) & static_cast(desc.m_fixedMemoryBlockAlignment - 1)) == 0, "Memory block must be page size (%d bytes) aligned!", desc.m_fixedMemoryBlockAlignment); @@ -2570,7 +2570,7 @@ namespace AZ { if (m_ownMemoryBlock) { m_desc.m_subAllocator->DeAllocate(m_desc.m_fixedMemoryBlock, m_desc.m_fixedMemoryBlockByteSize, m_desc.m_fixedMemoryBlockAlignment); - m_desc.m_fixedMemoryBlock = NULL; + m_desc.m_fixedMemoryBlock = nullptr; } } @@ -2587,7 +2587,7 @@ namespace AZ { (void)lineNum; (void)suppressStackRecord; pointer_type address = m_allocator->alloc(byteSize, alignment); - if (address == NULL) + if (address == nullptr) { GarbageCollect(); address = m_allocator->alloc(byteSize, alignment); @@ -2603,7 +2603,7 @@ namespace AZ { HphaSchema::ReAllocate(pointer_type ptr, size_type newSize, size_type newAlignment) { pointer_type address = m_allocator->realloc(ptr, newSize, newAlignment); - if (address == NULL && newSize > 0) + if (address == nullptr && newSize > 0) { GarbageCollect(); address = m_allocator->realloc(ptr, newSize, newAlignment); @@ -2618,7 +2618,7 @@ namespace AZ { void HphaSchema::DeAllocate(pointer_type ptr, size_type size, size_type alignment) { - if (ptr == 0) + if (ptr == nullptr) { return; } diff --git a/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp b/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp index 934efeef1b..2ea25c3397 100644 --- a/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp @@ -106,7 +106,7 @@ namespace AZ m_allAllocatorRecords.push_back(allocator->GetRecords()); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -154,7 +154,7 @@ namespace AZ delete allocatorRecords; allocator->SetRecords(nullptr); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -173,7 +173,7 @@ namespace AZ if (records) { const AllocationInfo* info = records->RegisterAllocation(address, byteSize, alignment, name, fileName, lineNum, stackSuppressCount + 1); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -226,7 +226,7 @@ namespace AZ { records->UnregisterAllocation(address, byteSize, alignment, info); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -261,7 +261,7 @@ namespace AZ { records->ResizeAllocation(address, newSize); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } diff --git a/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp index 5637fcc646..317df214d6 100644 --- a/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp @@ -75,7 +75,7 @@ namespace AZ address = AZ_OS_MALLOC(byteSize, alignment); } - if (address == 0 && byteSize > 0) + if (address == nullptr && byteSize > 0) { AZ_Printf("Memory", "======================================================\n"); AZ_Printf("Memory", "OSAllocator run out of system memory!\nWe can't track the debug allocator, since it's used for tracking and pipes trought the OS... here are the other allocator status:\n"); diff --git a/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp index e59e304c54..35ad19dd9e 100644 --- a/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp @@ -216,9 +216,9 @@ namespace AZ class OverrunDetectionSchemaImpl { public: - typedef void* pointer_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; + using pointer_type = void *; + using size_type = size_t; + using difference_type = ptrdiff_t; OverrunDetectionSchemaImpl(const OverrunDetectionSchema::Descriptor& desc); ~OverrunDetectionSchemaImpl(); @@ -241,8 +241,8 @@ namespace AZ Internal::AllocationRecord* CreateAllocationRecord(void* p, size_t size) const; private: - typedef AZStd::mutex mutex_type; - typedef AZStd::lock_guard lock_type; + using mutex_type = AZStd::mutex; + using lock_type = AZStd::lock_guard; AZStd::unique_ptr m_platformAllocator; mutex_type m_mutex; diff --git a/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp index b251774d77..3e71f530a0 100644 --- a/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp @@ -278,7 +278,7 @@ namespace AZ Page* page = reinterpret_cast(memBlock); if (!page->m_magic.Validate()) { - return NULL; + return nullptr; } return page; } @@ -403,7 +403,7 @@ PoolAllocation::Allocate(size_t byteSize, size_t alignment) u32 bucketIndex = static_cast((byteSize >> m_minAllocationShift)-1); BucketType& bucket = m_buckets[bucketIndex]; - PageType* page = 0; + PageType* page = nullptr; if (!bucket.m_pages.empty()) { page = &bucket.m_pages.front(); @@ -411,7 +411,7 @@ PoolAllocation::Allocate(size_t byteSize, size_t alignment) // check if we have free slot in the page if (page->m_freeList.empty()) { - page = 0; + page = nullptr; } else if (page->m_freeList.size()==1) { @@ -464,7 +464,7 @@ AZ_INLINE void PoolAllocation::DeAllocate(void* ptr) { PageType* page = m_allocator->PageFromAddress(ptr); - if (page==NULL) + if (page==nullptr) { AZ_Error("Memory", false, "Address 0x%08x is not in the ThreadPool!", ptr); return; @@ -503,7 +503,7 @@ PoolAllocation::DeAllocate(void* ptr) m_allocator->PushFreePage(page); } } - else if (frontPage->m_next != 0) + else if (frontPage->m_next != nullptr) { // if the next page has free slots free the current page if (frontPage->m_next->m_freeList.size() < maxElementsPerBucket) @@ -584,7 +584,7 @@ PoolAllocation::GarbageCollect(bool isForceFreeAllPages) // [9/15/2009] //========================================================================= PoolSchema::PoolSchema(const Descriptor& desc) - : m_impl(NULL) + : m_impl(nullptr) { (void)desc; // ignored here, applied in Create() } @@ -595,7 +595,7 @@ PoolSchema::PoolSchema(const Descriptor& desc) //========================================================================= PoolSchema::~PoolSchema() { - AZ_Assert(m_impl==NULL, "You did not destroy the pool schema!"); + AZ_Assert(m_impl==nullptr, "You did not destroy the pool schema!"); delete m_impl; } @@ -605,12 +605,12 @@ PoolSchema::~PoolSchema() //========================================================================= bool PoolSchema::Create(const Descriptor& desc) { - AZ_Assert(m_impl==NULL, "PoolSchema already created!"); - if (m_impl == NULL) + AZ_Assert(m_impl==nullptr, "PoolSchema already created!"); + if (m_impl == nullptr) { m_impl = aznew PoolSchemaImpl(desc); } - return (m_impl!=NULL); + return (m_impl!=nullptr); } //========================================================================= @@ -620,7 +620,7 @@ bool PoolSchema::Create(const Descriptor& desc) bool PoolSchema::Destroy() { delete m_impl; - m_impl = NULL; + m_impl = nullptr; return true; } @@ -751,7 +751,7 @@ PoolSchema::GetSubAllocator() PoolSchemaImpl::PoolSchemaImpl(const PoolSchema::Descriptor& desc) : m_pageAllocator(desc.m_pageAllocator ? desc.m_pageAllocator : &AllocatorInstance::Get()) , m_allocator(this, desc.m_pageSize, desc.m_minAllocationSize, desc.m_maxAllocationSize) - , m_staticDataBlock(0) + , m_staticDataBlock(nullptr) , m_numStaticPages(desc.m_numStaticPages) , m_isDynamic(desc.m_isDynamic) , m_pageSize(desc.m_pageSize) @@ -851,7 +851,7 @@ PoolSchemaImpl::AllocationSize(PoolSchema::pointer_type ptr) AZ_FORCE_INLINE PoolSchemaImpl::Page* PoolSchemaImpl::PopFreePage() { - Page* page = 0; + Page* page = nullptr; if (!m_freePages.empty()) { page = &m_freePages.front(); @@ -938,7 +938,7 @@ PoolSchemaImpl::Page::SetupFreeList(size_t elementSize, size_t pageDataBlockSize // [9/15/2009] //========================================================================= ThreadPoolSchema::ThreadPoolSchema(GetThreadPoolData getThreadPoolData, SetThreadPoolData setThreadPoolData) - : m_impl(NULL) + : m_impl(nullptr) , m_threadPoolGetter(getThreadPoolData) , m_threadPoolSetter(setThreadPoolData) { @@ -950,7 +950,7 @@ ThreadPoolSchema::ThreadPoolSchema(GetThreadPoolData getThreadPoolData, SetThrea //========================================================================= ThreadPoolSchema::~ThreadPoolSchema() { - AZ_Assert(m_impl==NULL, "You did not destroy the thread pool schema!"); + AZ_Assert(m_impl==nullptr, "You did not destroy the thread pool schema!"); delete m_impl; } @@ -960,12 +960,12 @@ ThreadPoolSchema::~ThreadPoolSchema() //========================================================================= bool ThreadPoolSchema::Create(const Descriptor& desc) { - AZ_Assert(m_impl==NULL, "PoolSchema already created!"); - if (m_impl == NULL) + AZ_Assert(m_impl==nullptr, "PoolSchema already created!"); + if (m_impl == nullptr) { m_impl = aznew ThreadPoolSchemaImpl(desc, m_threadPoolGetter, m_threadPoolSetter); } - return (m_impl!=NULL); + return (m_impl!=nullptr); } //========================================================================= @@ -975,7 +975,7 @@ bool ThreadPoolSchema::Create(const Descriptor& desc) bool ThreadPoolSchema::Destroy() { delete m_impl; - m_impl = NULL; + m_impl = nullptr; return true; } //========================================================================= @@ -1099,7 +1099,7 @@ ThreadPoolSchemaImpl::ThreadPoolSchemaImpl(const ThreadPoolSchema::Descriptor& d : m_threadPoolGetter(threadPoolGetter) , m_threadPoolSetter(threadPoolSetter) , m_pageAllocator(desc.m_pageAllocator) - , m_staticDataBlock(0) + , m_staticDataBlock(nullptr) , m_numStaticPages(desc.m_numStaticPages) , m_pageSize(desc.m_pageSize) , m_minAllocationSize(desc.m_minAllocationSize) @@ -1112,7 +1112,7 @@ ThreadPoolSchemaImpl::ThreadPoolSchemaImpl(const ThreadPoolSchema::Descriptor& d SetCriticalSectionSpinCount(m_mutex.native_handle(), 4000); # endif - if (m_pageAllocator == 0) + if (m_pageAllocator == nullptr) { m_pageAllocator = &AllocatorInstance::Get(); // use the SystemAllocator if no page allocator is provided } @@ -1211,7 +1211,7 @@ ThreadPoolSchemaImpl::Allocate(ThreadPoolSchema::size_type byteSize, ThreadPoolS { // deallocate elements if they were freed from other threads Page::FakeNodeLF* fakeLFNode; - while ((fakeLFNode = threadData->m_freedElements.pop())!=0) + while ((fakeLFNode = threadData->m_freedElements.pop())!=nullptr) { threadData->m_allocator.DeAllocate(fakeLFNode); } @@ -1228,12 +1228,12 @@ void ThreadPoolSchemaImpl::DeAllocate(ThreadPoolSchema::pointer_type ptr) { Page* page = PageFromAddress(ptr); - if (page==NULL) + if (page==nullptr) { AZ_Error("Memory", false, "Address 0x%08x is not in the ThreadPool!", ptr); return; } - AZ_Assert(page->m_threadData!=0, ("We must have valid page thread data for the page!")); + AZ_Assert(page->m_threadData!=nullptr, ("We must have valid page thread data for the page!")); ThreadPoolData* threadData = m_threadPoolGetter(); if (threadData == page->m_threadData) { @@ -1262,11 +1262,11 @@ ThreadPoolSchema::size_type ThreadPoolSchemaImpl::AllocationSize(ThreadPoolSchema::pointer_type ptr) { Page* page = PageFromAddress(ptr); - if (page==NULL) + if (page==nullptr) { return 0; } - AZ_Assert(page->m_threadData!=0, ("We must have valid page thread data for the page!")); + AZ_Assert(page->m_threadData!=nullptr, ("We must have valid page thread data for the page!")); return page->m_threadData->m_allocator.AllocationSize(ptr); } @@ -1282,7 +1282,7 @@ ThreadPoolSchemaImpl::PopFreePage() AZStd::lock_guard lock(m_mutex); if (m_freePages.empty()) { - page = NULL; + page = nullptr; } else { @@ -1387,7 +1387,7 @@ ThreadPoolData::~ThreadPoolData() { // deallocate elements if they were freed from other threads ThreadPoolSchemaImpl::Page::FakeNodeLF* fakeLFNode; - while ((fakeLFNode = m_freedElements.pop())!=0) + while ((fakeLFNode = m_freedElements.pop())!=nullptr) { m_allocator.DeAllocate(fakeLFNode); } diff --git a/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp index 0fb64915dc..8c84338fd0 100644 --- a/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp @@ -153,7 +153,7 @@ SystemAllocator::Create(const Descriptor& desc) #elif AZCORE_SYSTEM_ALLOCATOR == AZCORE_SYSTEM_ALLOCATOR_HEAP m_allocator = azcreate(HeapSchema, (heapDesc), SystemAllocator); #endif - if (m_allocator == NULL) + if (m_allocator == nullptr) { isReady = false; } @@ -237,7 +237,7 @@ SystemAllocator::Allocate(size_type byteSize, size_type alignment, int flags, co byteSize = MemorySizeAdjustedUp(byteSize); SystemAllocator::pointer_type address = m_allocator->Allocate(byteSize, alignment, flags, name, fileName, lineNum, suppressStackRecord + 1); - if (address == 0) + if (address == nullptr) { // Free all memory we can and try again! AllocatorManager::Instance().GarbageCollect(); @@ -245,7 +245,7 @@ SystemAllocator::Allocate(size_type byteSize, size_type alignment, int flags, co address = m_allocator->Allocate(byteSize, alignment, flags, name, fileName, lineNum, suppressStackRecord + 1); } - if (address == 0) + if (address == nullptr) { byteSize = MemorySizeAdjustedDown(byteSize); // restore original size @@ -258,7 +258,7 @@ SystemAllocator::Allocate(size_type byteSize, size_type alignment, int flags, co } } - AZ_Assert(address != 0, "SystemAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); + AZ_Assert(address != nullptr, "SystemAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); AZ_PROFILE_MEMORY_ALLOC_EX(MemoryReserved, fileName, lineNum, address, byteSize, name); AZ_MEMORY_PROFILE(ProfileAllocation(address, byteSize, alignment, name, fileName, lineNum, suppressStackRecord + 1)); diff --git a/Code/Framework/AzCore/AzCore/Module/Environment.cpp b/Code/Framework/AzCore/AzCore/Module/Environment.cpp index bec530e2d1..c07b7444d4 100644 --- a/Code/Framework/AzCore/AzCore/Module/Environment.cpp +++ b/Code/Framework/AzCore/AzCore/Module/Environment.cpp @@ -148,7 +148,7 @@ namespace AZ AZ_Assert(m_numAttached == 0, "We should not delete an environment while there are %d modules attached! Unload all DLLs first!", m_numAttached); #endif - for (auto variableIt : m_variableMap) + for (const auto &variableIt : m_variableMap) { EnvironmentVariableHolderBase* holder = reinterpret_cast(variableIt.second); if (holder) diff --git a/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp b/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp index 7e1adb93b9..a75e1803eb 100644 --- a/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp +++ b/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp @@ -41,11 +41,17 @@ namespace AZ::NativeUI AZStd::string result = DisplayBlockingDialog("Assert Failed!", message, options); if (result.compare(buttonNames[0]) == 0) + { return AssertAction::IGNORE_ASSERT; + } else if (result.compare(buttonNames[1]) == 0) + { return AssertAction::IGNORE_ALL_ASSERTS; + } else if (result.compare(buttonNames[2]) == 0) + { return AssertAction::BREAK; + } return AssertAction::NONE; } diff --git a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp index e621ab412e..a44aa61aca 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp +++ b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp @@ -121,12 +121,12 @@ namespace AZ { delete attrIt.second; } - + if (m_overload) { delete m_overload; } - + m_attributes.clear(); } @@ -180,7 +180,7 @@ namespace AZ if (GetNumArguments() == overload->GetNumArguments()) { bool anyDifference = false; - + for (size_t i(0), sentinel(GetNumArguments()); !anyDifference && i < sentinel; ++i) { const BehaviorParameter* thisArg = GetArgument(i); @@ -273,7 +273,7 @@ namespace AZ auto attributes = AZStd::move(m_attributes); // Actually delete everything - for (auto propertyIt : events) + for (const auto &propertyIt : events) { delete propertyIt.second.m_broadcast; delete propertyIt.second.m_event; @@ -519,20 +519,20 @@ namespace AZ AZStd::vector BehaviorClass::GetOverloads(const AZStd::string& name) const { AZStd::vector overloads; - + auto methodIter = m_methods.find(name); if (methodIter != m_methods.end()) { overloads = GetOverloadsIncludeMethod(methodIter->second); - } - + } + return overloads; } AZStd::vector BehaviorClass::GetOverloadsIncludeMethod(BehaviorMethod* method) const { AZStd::vector overloads; - + auto iter = method; while (iter) { @@ -546,7 +546,7 @@ namespace AZ AZStd::vector BehaviorClass::GetOverloadsExcludeMethod(BehaviorMethod* method) const { AZStd::vector overloads; - + auto iter = method->m_overload; while (iter) { @@ -972,5 +972,5 @@ namespace AZ return enumRttiHelper.GetTypeId(); } } - + } // namespace AZ diff --git a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h index f02c37492b..b436f5adab 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h +++ b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h @@ -36,7 +36,7 @@ namespace AZ constexpr const char* k_PropertyNameGetterSuffix = "::Getter"; constexpr const char* k_PropertyNameSetterSuffix = "::Setter"; - + /// Typedef for class unwrapping callback (i.e. used for things like smart_ptr to unwrap for T) using BehaviorClassUnwrapperFunction = void(*)(void* /*classPtr*/, void*& /*unwrappedClass*/, AZ::Uuid& /*unwrappedClassTypeId*/, void* /*userData*/); @@ -53,7 +53,7 @@ namespace AZ IfPresent, }; - struct BehaviorObject // same as DynamicSerializableField, make sure we merge them... so we can store the object easily + struct BehaviorObject // same as DynamicSerializableField, make sure we merge them... so we can store the object easily { AZ_TYPE_INFO(BehaviorObject, "{2813cdfb-0a4a-411c-9216-72a7b644d1dd}"); @@ -165,7 +165,7 @@ namespace AZ /// Convert to BehaviorObject implicitly for passing generic parameters (usually not known at compile time) operator BehaviorObject() const; - /// Converts internally the value to a specific type known at compile time. \returns true if conversion was successful. + /// Converts internally the value to a specific type known at compile time. \returns true if conversion was successful. template bool ConvertTo(); @@ -452,7 +452,7 @@ namespace AZ namespace Internal { const AZ::TypeId& GetUnderlyingTypeId(const IRttiHelper& enumRttiHelper); - + // Converts sourceAddress to targetType inline bool ConvertValueTo(void* sourceAddress, const IRttiHelper* sourceRtti, const AZ::Uuid& targetType, void*& targetAddress, BehaviorParameter::TempValueParameterAllocator& tempAllocator) { @@ -520,7 +520,7 @@ namespace AZ static const int s_startNamedArgumentIndex = s_startArgumentIndex; // +1 for result type BehaviorMethodImpl(FunctionPointer functionPointer, BehaviorContext* context, const AZStd::string& name = AZStd::string()); - + bool Call(BehaviorValueParameter* arguments, unsigned int numArguments, BehaviorValueParameter* result) const override; bool HasResult() const override; @@ -548,7 +548,7 @@ namespace AZ BehaviorParameter m_parameters[sizeof...(Args)+s_startNamedArgumentIndex]; AZStd::array m_metadataParameters; ///< Stores the per parameter metadata which is used to add names, tooltips, trait, default values, etc... to the parameters }; - + #if __cpp_noexcept_function_type // C++17 makes exception specifications as part of the type in paper P0012R1 // Therefore noexcept overloads must be distinguished from non-noexcept overloads @@ -732,7 +732,7 @@ namespace AZ BehaviorEBusEvent(FunctionPointer functionPointer, BehaviorContext* context); BehaviorEBusEvent(FunctionPointerConst functionPointer, BehaviorContext* context); - + template inline AZStd::enable_if_t SetBusIdType(); @@ -813,7 +813,7 @@ namespace AZ : SetFunctionParameters {}; #endif - + template struct BehaviorOnDemandReflectHelper; template @@ -997,14 +997,14 @@ namespace AZ } // namespace Internal /** - * Behavior representation of reflected class. + * Behavior representation of reflected class. */ class BehaviorClass { public: AZ_CLASS_ALLOCATOR(BehaviorClass, SystemAllocator, 0); - BehaviorClass(); + BehaviorClass(); ~BehaviorClass(); /// Hooks to override default memory allocation for the class (AZ_CLASS_ALLOCATOR is used by default) @@ -1065,7 +1065,7 @@ namespace AZ void* m_userData; AZStd::string m_name; - AZStd::vector m_baseClasses; + AZStd::vector m_baseClasses; AZStd::unordered_map m_methods; AZStd::unordered_map m_properties; AttributeArray m_attributes; @@ -1081,7 +1081,7 @@ namespace AZ AZ::Uuid m_wrappedTypeId; // Store all owned instances for unload verification? }; - + // Helper macros to generate getter and setter function from a pointer to value or member value // Syntax BehaviorValueGetter(&globalValue) BehaviorValueGetter(&Class::MemberValue) # define BehaviorValueGetter(valueAddress) &AZ::Internal::BehaviorValuePropertyHelper::Get @@ -1095,7 +1095,7 @@ namespace AZ * Property representation, a property has getter and setter. A read only property will have a "nullptr" for a setter. * You can use lambdas, global of member function. If you want to just expose a variable (not write the function and handle changes) * you can use \ref BehaviorValueProperty macros (or BehaviorValueGetter/Setter to control read/write functionality) - * Member constants are a property too, use \ref BehaviorConstant for it. Everything is either a property or a method, the main reason + * Member constants are a property too, use \ref BehaviorConstant for it. Everything is either a property or a method, the main reason * why we "push" people to use functions is that in most cases when we manipulate an object, you will need to do more than just set a value * to a new value. */ @@ -1163,7 +1163,7 @@ namespace AZ }; /** - * RAII class which keeps track of functions reflected to the BehaviorContext + * RAII class which keeps track of functions reflected to the BehaviorContext * when it is supplied as an OnDemandReflectionOwner */ class ScopedBehaviorOnDemandReflector @@ -1182,7 +1182,7 @@ namespace AZ AZ_CLASS_ALLOCATOR(BehaviorEBus, SystemAllocator, 0); typedef void(*QueueFunctionType)(void* /*userData1*/, void* /*userData2*/); - + struct VirtualProperty { VirtualProperty(BehaviorEBusEventSender* getter, BehaviorEBusEventSender* setter) @@ -1290,22 +1290,22 @@ namespace AZ const EventArray& GetEvents() const; -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) // m_scriptPath is only available in non-Release mode +#if !defined(_RELEASE) // m_scriptPath is only available in non-Release mode AZStd::string m_scriptPath; #endif - AZStd::string GetScriptPath() const + AZStd::string GetScriptPath() const { -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) // m_scriptPath is only available in non-Release mode +#if !defined(_RELEASE) // m_scriptPath is only available in non-Release mode return m_scriptPath; #else return{}; #endif } - void SetScriptPath(const char* scriptPath) - { -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) // m_scriptPath is only available in non-Release mode + void SetScriptPath(const char* scriptPath) + { +#if !defined(_RELEASE) // m_scriptPath is only available in non-Release mode m_scriptPath = scriptPath; #else AZ_UNUSED(scriptPath); @@ -1346,7 +1346,7 @@ namespace AZ virtual void OnAddGlobalProperty(const char* propertyName, BehaviorProperty* prop) { (void)propertyName; (void)prop; } virtual void OnRemoveGlobalProperty(const char* propertyName, BehaviorProperty* prop) { (void)propertyName; (void)prop; } - /// Called when a class is added or removed + /// Called when a class is added or removed virtual void OnAddClass(const char* className, BehaviorClass* behaviorClass) { (void)className; (void)behaviorClass; } virtual void OnRemoveClass(const char* className, BehaviorClass* behaviorClass) { (void)className; (void)behaviorClass; } @@ -1358,10 +1358,10 @@ namespace AZ using BehaviorContextBus = AZ::EBus; /** - * BehaviorContext is used to reflect classes, methods and EBuses for runtime interaction. A typical consumer of this context and different + * BehaviorContext is used to reflect classes, methods and EBuses for runtime interaction. A typical consumer of this context and different * scripting systems (i.e. Lua, Visual Script, etc.). Even though (as designed) there are overlaps between some context they have very different * purpose and set of rules. For example SerializeContext, doesn't reflect any methods, it just reflects data fields that will be stored for initial object - * setup, it handles version conversion and so thing, this related to storing the object to a persistent storage. Behavior context, doesn't need to deal with versions as + * setup, it handles version conversion and so thing, this related to storing the object to a persistent storage. Behavior context, doesn't need to deal with versions as * no data is stored, just methods for manipulating the object state. */ class BehaviorContext : public ReflectContext @@ -1379,7 +1379,7 @@ namespace AZ } template - static void QueueFunction(BehaviorEBus::QueueFunctionType f, void* userData1, void* userData2) + static void QueueFunction(BehaviorEBus::QueueFunctionType f, void* userData1, void* userData2) { Bus::QueueFunction(f, userData1, userData2); } @@ -1484,8 +1484,8 @@ namespace AZ } template - static void SetClassDefaultAllocator(BehaviorClass* behaviorClass, const AZStd::false_type& /*HasAZClassAllocator*/) - { + static void SetClassDefaultAllocator(BehaviorClass* behaviorClass, const AZStd::false_type& /*HasAZClassAllocator*/) + { behaviorClass->m_allocate = &DefaultSystemAllocator::Allocate; behaviorClass->m_deallocate = &DefaultSystemAllocator::DeAllocate; } @@ -1522,20 +1522,20 @@ namespace AZ } template - static void SetClassDefaultConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_constructible*/) + static void SetClassDefaultConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_constructible*/) { behaviorClass->m_defaultConstructor = &DefaultConstruct; } template - static void SetClassDefaultDestructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_destructible*/) + static void SetClassDefaultDestructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_destructible*/) { behaviorClass->m_destructor = &DefaultDestruct; } template - static void SetClassDefaultCopyConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_copy_constructible*/) - { + static void SetClassDefaultCopyConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_copy_constructible*/) + { behaviorClass->m_cloner = &DefaultCopyConstruct; } @@ -1585,7 +1585,7 @@ namespace AZ const char* m_name; BehaviorMethod* m_method; }; - + struct GlobalPropertyBuilder : public AZ::Internal::GenericAttributes { typedef AZ::Internal::GenericAttributes Base; @@ -1608,7 +1608,7 @@ namespace AZ ClassBuilder(BehaviorContext* context, BehaviorClass* behaviorClass); ~ClassBuilder(); ClassBuilder* operator->(); - + /** * Sets custom allocator for a class, this function will error if this not inside a class. * This is only for very specific cases when you want to override AZ_CLASS_ALLOCATOR or you are dealing with 3rd party classes, otherwise @@ -1659,9 +1659,9 @@ namespace AZ ClassBuilder* Constant(const char* name, Getter getter); /** - * You can describe buses that this class uses to communicate. Those buses will be used by tools when + * You can describe buses that this class uses to communicate. Those buses will be used by tools when * you need to give developers hints as to what buses this class interacts with. - * You don't need to reflect all buses that your class uses, just the ones related to + * You don't need to reflect all buses that your class uses, just the ones related to * class behavior. Please refer to component documentation for more information on * the pattern of Request and Notification buses. * {@ @@ -1717,10 +1717,10 @@ namespace AZ /** * With request buses (please refer to component communication patterns documentation) we ofter have EBus events - * that represent a getter and a setter for a value. To allow our tools to take advantage of it, you can reflect + * that represent a getter and a setter for a value. To allow our tools to take advantage of it, you can reflect * VirtualProperty to indicate which event is the getter and which is the setter. * This function validates that getter event has no argument and a result and setter function has no results and only - * one argument which is the same type as the result of the getter. + * one argument which is the same type as the result of the getter. * \note Make sure you call this function after you have reflected the getter and setter events as it will report an error * if we can't find the function */ @@ -1731,7 +1731,7 @@ namespace AZ BehaviorContext(); ~BehaviorContext(); - + ///< \deprecated Use "Method(const char*, Function, const AZStd::array::num_args>&, const char*)" instead ///< This method does not support passing in argument names and tooltips nor does it support overriding specific parameter Behavior traits template @@ -1741,7 +1741,7 @@ namespace AZ ///< This method does not support passing in argument names and tooltips nor does it support overriding specific parameter Behavior traits template GlobalMethodBuilder Method(const char* name, Function f, const char* deprecatedName, BehaviorValues* defaultValues = nullptr, const char* dbgDesc = nullptr); - + template GlobalMethodBuilder Method(const char* name, Function f, const AZStd::array::num_args>& args, const char* dbgDesc = nullptr); @@ -1836,13 +1836,13 @@ namespace AZ /** * Helper MACRO to help you write the EBus handler that you want to reflect to behavior. This is not required, but generally we recommend reflecting all useful - * buses as this enable people to "script" complex behaviors. + * buses as this enable people to "script" complex behaviors. * You don't have to use this macro to write a Handler, but some people find it useful * Here is an example how to use it: * class MyEBusBehaviorHandler : public MyEBus::Handler, public AZ::BehaviorEBusHandler * { * public: - * AZ_EBUS_BEHAVIOR_BINDER(MyEBusBehaviorHandler, "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}",Allocator, OnEvent1, OnEvent2 and so on); + * AZ_EBUS_BEHAVIOR_BINDER(MyEBusBehaviorHandler, "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}",Allocator, OnEvent1, OnEvent2 and so on); * // now you need implementations for those event * * @@ -1854,7 +1854,7 @@ namespace AZ * // The AZ_EBUS_BEHAVIOR_BINDER defines FN_EventName for each index. You can also cache it yourself (but it's slower), static int cacheIndex = GetFunctionIndex("OnEvent1"); and use that . * CallResult(result, FN_OnEvent1, data); // forward to the binding (there can be none, this is why we need to always have properly set result, when there is one) * return result; // return the result like you will in any normal EBus even with result - * } * + * } * * // handle the other events here * }; * @@ -1922,7 +1922,7 @@ namespace AZ /** * Provides the same functionality of the AZ_EBUS_BEHAVIOR_BINDER macro above with the additional ability to specify the names and a tooltips of handler methods * after listing the handler method in the macro. - * An example Usage is + * An example Usage is * class MyEBusBehaviorHandler : public MyEBus::Handler, public AZ::BehaviorEBusHandler * { * public: @@ -1930,7 +1930,7 @@ namespace AZ * OnEvent2, ({#OnEvent2 first parameter name(float), #OnEvent2 first parameter tooltip(float)}, {#OnEvent2 second parameter name(bool), {#OnEvent2 second parameter tooltip(bool)}), * OnEvent3, ()); * // The reason for needing parenthesis around the parameter name and tooltip object(AZ::BehaviorParameterOverrides) is to prevent the macro from parsing the comma in the intializer as seperate parameters - * // When using this macro, the BehaviorParameterOverrides objects must be placed after every listing a function as a handler. Furthermore the number of BehaviorParameterOverrides objects for each function must match the number of parameters + * // When using this macro, the BehaviorParameterOverrides objects must be placed after every listing a function as a handler. Furthermore the number of BehaviorParameterOverrides objects for each function must match the number of parameters * // to that function * // Ex. for a function called HugeEvent with a signature of void HugeEvent(int, float, double, char, short), two arguments must be supplied to the macro. * // 1. HugeEvent @@ -2181,7 +2181,7 @@ namespace AZ // Template implementations ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// - + ////////////////////////////////////////////////////////////////////////// inline BehaviorObject::BehaviorObject() : m_address(nullptr) @@ -2569,7 +2569,7 @@ namespace AZ m_getter = nullptr; return false; } - + // assure that TR_THIS_PTR is set on the first parameter m_getter->OverrideParameterTraits(0, AZ::BehaviorParameter::TR_THIS_PTR, 0); } @@ -2847,7 +2847,7 @@ namespace AZ } ////////////////////////////////////////////////////////////////////////// - + template void BehaviorEBusHandler::CallResult(R& result, int index, Args&&... args) const { @@ -2904,7 +2904,7 @@ namespace AZ { return ClassBuilder(this, static_cast(nullptr)); } - + auto classTypeIt = m_typeToClassMap.find(typeUuid); if (IsRemovingReflection()) { @@ -2933,7 +2933,7 @@ namespace AZ // class already reflected, display name and uuid char uuidName[AZ::Uuid::MaxStringBuffer]; classTypeIt->first.ToString(uuidName, AZ::Uuid::MaxStringBuffer); - + AZ_Error("Reflection", false, "Class '%s' is already registered using Uuid: %s!", name, uuidName); return ClassBuilder(this, static_cast(nullptr)); } @@ -3002,7 +3002,7 @@ namespace AZ if (m_class && (!Base::m_context->IsRemovingReflection())) { - for (auto method : m_class->m_methods) + for (const auto &method : m_class->m_methods) { m_class->PostProcessMethod(Base::m_context, *method.second); if (MethodReturnsAzEventByReferenceOrPointer(*method.second)) @@ -3485,7 +3485,7 @@ namespace AZ return this; } - + ////////////////////////////////////////////////////////////////////////// template BehaviorContext::EBusBuilder BehaviorContext::EBus(const char* name, const char* deprecatedName /*=nullptr*/, const char* toolTip /*=nullptr*/) @@ -3748,9 +3748,9 @@ namespace AZ return this; } } - + m_ebus->m_virtualProperties.insert(AZStd::make_pair(name, BehaviorEBus::VirtualProperty(getter, setter))); - } + } return this; } @@ -3868,7 +3868,7 @@ namespace AZ SetParameters(m_parameters, this); SetParameters(&m_parameters[s_startNamedArgumentIndex], this); } - + ////////////////////////////////////////////////////////////////////////// template bool BehaviorMethodImpl::Call(BehaviorValueParameter* arguments, unsigned int numArguments, BehaviorValueParameter* result) const @@ -3876,7 +3876,7 @@ namespace AZ size_t totalArguments = GetNumArguments(); if (numArguments < totalArguments) { - // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array + // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array // that can always handle all parameters. So far the don't use default values that ofter, so we will optimize for the common case first. BehaviorValueParameter* newArguments = reinterpret_cast(alloca(sizeof(BehaviorValueParameter)* totalArguments)); // clone the input parameters (we don't need to clone temp buffers, etc. as they will be still on the stack) @@ -4072,7 +4072,7 @@ namespace AZ { m_isConst = true; } - + ////////////////////////////////////////////////////////////////////////// template bool BehaviorMethodImpl::Call(BehaviorValueParameter* arguments, unsigned int numArguments, BehaviorValueParameter* result) const @@ -4080,7 +4080,7 @@ namespace AZ size_t totalArguments = GetNumArguments(); if (numArguments < totalArguments) { - // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array + // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array // that can always handle all parameters. So far the don't use default values that ofter, so we will optimize for the common case first. BehaviorValueParameter* newArguments = reinterpret_cast(alloca(sizeof(BehaviorValueParameter)* totalArguments)); // clone the input parameters (we don't need to clone temp buffers, etc. as they will be still on the stack) @@ -4284,7 +4284,7 @@ namespace AZ { m_isConst = true; } - + ////////////////////////////////////////////////////////////////////////// template template @@ -4307,7 +4307,7 @@ namespace AZ size_t totalArguments = GetNumArguments(); if (numArguments < totalArguments) { - // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array + // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array // that can always handle all parameters. So far the don't use default values that ofter, so we will optimize for the common case first. BehaviorValueParameter* newArguments = reinterpret_cast(alloca(sizeof(BehaviorValueParameter)* totalArguments)); // clone the input parameters (we don't need to clone temp buffers, etc. as they will be still on the stack) @@ -4497,7 +4497,7 @@ namespace AZ template void SetFunctionParameters::Set(AZStd::vector& params) { - // result, userdata, arguments + // result, userdata, arguments params.resize(sizeof...(Args) + eBehaviorBusForwarderEventIndices::ParameterFirst); SetParameters(¶ms[eBehaviorBusForwarderEventIndices::Result], nullptr); SetParameters(¶ms[eBehaviorBusForwarderEventIndices::UserData], nullptr); diff --git a/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp b/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp index 531c91bcf4..e4e3141c11 100644 --- a/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp +++ b/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp @@ -1463,9 +1463,9 @@ static void* LuaMemoryHook(void* userData, void* ptr, size_t osize, size_t nsize { allocator->DeAllocate(ptr); } - return NULL; + return nullptr; } - else if (ptr == NULL) + else if (ptr == nullptr) { return allocator->Allocate(nsize, LUA_DEFAULT_ALIGNMENT, 0, "Script", __FILE__, __LINE__, 1); } @@ -1708,7 +1708,7 @@ LUA_API const Node* lua_getDummyNode() "Invalid stack!"); lua_pop(m_nativeContext, (currentTop - m_startVariableIndex) + 1); - m_nativeContext = NULL; + m_nativeContext = nullptr; m_startVariableIndex = 0; m_numArguments = 0; m_numResults = 0; @@ -2038,7 +2038,7 @@ LUA_API const Node* lua_getDummyNode() LSV_BEGIN_VARIABLE(m_nativeContext); valueIndex = 0; - name = NULL; + name = nullptr; index = -1; if (m_mode == MD_INSPECT) { @@ -3727,7 +3727,7 @@ LUA_API const Node* lua_getDummyNode() if (m_handler) { -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) +#if !defined(_RELEASE) const AZStd::string_view luaString("Lua"); lua_Debug info; for (int level = 0; lua_getstack(m_lua, level, &info); ++level) @@ -3739,7 +3739,7 @@ LUA_API const Node* lua_getDummyNode() break; } } -#endif//defined(PERFORMANCE_BUILD) || !defined(_RELEASE) +#endif BindEvents(scriptTable); diff --git a/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp b/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp index 63f44a2469..e28a289c9e 100644 --- a/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp +++ b/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp @@ -43,7 +43,7 @@ public: , m_numErrors(0) { using namespace AZStd::placeholders; - m_context->SetErrorHook(AZStd::bind(&ScriptErrorCatcher::ErrorCB, this, _1, _2, _3)); + m_context->SetErrorHook([this](ScriptContext* a, ScriptContext::ErrorType b, const char* c) { ErrorCB(a,b,c); }); } ~ScriptErrorCatcher() { @@ -66,7 +66,7 @@ public: // [6/29/2012] //========================================================================= ScriptContextDebug::ScriptContextDebug(ScriptContext& scriptContext, bool isEnableStackRecord) - : m_luaDebug(NULL) + : m_luaDebug(nullptr) , m_currentStackLevel(-1) , m_stepStackLevel(-1) , m_isRecordCallstack(isEnableStackRecord) @@ -104,7 +104,7 @@ void ScriptContextDebug::ConnectHook() //========================================================================= void ScriptContextDebug::DisconnectHook() { - lua_sethook(m_context.NativeContext(), 0, 0, 0); + lua_sethook(m_context.NativeContext(), nullptr, 0, 0); } //========================================================================= @@ -149,7 +149,7 @@ ScriptContextDebug::EnumRegisteredClasses(EnumClass enumClass, EnumMethod enumMe lua_rawgeti(l, -2, AZ_LUA_CLASS_METATABLE_NAME_INDEX); // load class name AZ_Assert(lua_isstring(l, -1), "Internal scipt error: class without a classname at index %d", AZ_LUA_CLASS_METATABLE_NAME_INDEX); - + if (!enumClass(lua_tostring(l, -1), behaviorClass->m_typeId, userData)) { lua_pop(l, 5); @@ -199,7 +199,7 @@ ScriptContextDebug::EnumRegisteredClasses(EnumClass enumClass, EnumMethod enumMe // for any non-built in methods if (strncmp(name, "__", 2) != 0) { - const char* dbgParamInfo = NULL; + const char* dbgParamInfo = nullptr; // attempt to get the name bool popDebugName = lua_getupvalue(l, -1, 2) != nullptr; @@ -278,7 +278,7 @@ ScriptContextDebug::EnumRegisteredGlobals(EnumMethod enumMethod, EnumProperty en { if (strncmp(name, "__", 2) != 0) { - const char* dbgParamInfo = NULL; + const char* dbgParamInfo = nullptr; lua_getupvalue(l, -1, 2); if (lua_isstring(l, -1)) { @@ -606,7 +606,7 @@ void AZ::LuaHook(lua_State* l, lua_Debug* ar) lua_pop(l, 1); // bool doBreak = false; - ScriptContextDebug::Breakpoint* bp = NULL; + ScriptContextDebug::Breakpoint* bp = nullptr; ScriptContextDebug::Breakpoint localBreakPoint; lua_getinfo(l, "Sunl", ar); @@ -735,7 +735,7 @@ void AZ::LuaHook(lua_State* l, lua_Debug* ar) { context->m_luaDebug = ar; context->m_breakCallback(context, bp); - context->m_luaDebug = NULL; + context->m_luaDebug = nullptr; } } @@ -752,7 +752,7 @@ ScriptContextDebug::EnumLocals(EnumLocalCallback& cb) int local = 1; const char* name; ScriptDataContext dc; - while ((name = lua_getlocal(l, m_luaDebug, local)) != NULL) + while ((name = lua_getlocal(l, m_luaDebug, local)) != nullptr) { if (name[0] != '(') // skip temporary variables { @@ -846,7 +846,7 @@ ScriptContextDebug::EnableBreakpoints(BreakpointCallback& cb) void ScriptContextDebug::DisableBreakpoints() { - m_breakCallback = NULL; + m_breakCallback = nullptr; } //========================================================================= @@ -1079,7 +1079,7 @@ ScriptContextDebug::WriteValue(const DebugValue& value, const char* valueName, i int valueTableIndex = -1; if (valueName[0] == '[') { - valueTableIndex = static_cast(strtol(valueName + 1, NULL, 10)); + valueTableIndex = static_cast(strtol(valueName + 1, nullptr, 10)); } if (strcmp(valueName, "__metatable__") == 0) // metatable are read only { @@ -1114,7 +1114,7 @@ ScriptContextDebug::WriteValue(const DebugValue& value, const char* valueName, i } break; case LUA_TNUMBER: { - lua_pushnumber(l, static_cast(strtod(value.m_value.c_str(), NULL))); + lua_pushnumber(l, static_cast(strtod(value.m_value.c_str(), nullptr))); if (localIndex != -1) { lua_setlocal(l, m_luaDebug, localIndex); @@ -1256,7 +1256,7 @@ ScriptContextDebug::WriteValue(const DebugValue& value, const char* valueName, i else { lua_pushvalue(l, -5); // copy the user data (this pointer) - lua_pushnumber(l, static_cast(strtod(subElement.m_value.c_str(), NULL))); + lua_pushnumber(l, static_cast(strtod(subElement.m_value.c_str(), nullptr))); lua_call(l, 2, 0); // call the setter } break; @@ -1375,7 +1375,7 @@ ScriptContextDebug::GetValue(DebugValue& value) { int iLocal = 1; const char* localName; - while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != NULL) + while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != nullptr) { if (localName[0] != '(' && strcmp(name, localName) == 0) { @@ -1460,7 +1460,7 @@ ScriptContextDebug::SetValue(const DebugValue& sourceValue) // create hierarchy from tokens const DebugValue* value = &sourceValue; DebugValue untokenizedValue; - + if (tokens.size() > 1) { untokenizedValue.m_name = tokens[0]; @@ -1519,7 +1519,7 @@ ScriptContextDebug::SetValue(const DebugValue& sourceValue) { int iLocal = 1; const char* localName; - while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != NULL) + while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != nullptr) { lua_pop(l, 1); if (localName[0] != '(' && strcmp(name, localName) == 0) diff --git a/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp b/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp index c8e6c28679..37eacd940e 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp @@ -42,7 +42,7 @@ namespace AZ AZ_Assert(targetPointer, "You must provide a target pointer"); bool foundSuccess = false; - typedef AZStd::function CreationCallback; + using CreationCallback = AZStd::function; auto handler = [&targetPointer, objectClassData, &foundSuccess](void** instance, const SerializeContext::ClassData** classData, const Uuid& classId, SerializeContext* context) { void* convertibleInstance{}; diff --git a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp index cea4b795d7..f326b021e7 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp @@ -91,7 +91,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown char, short, int version!"); (void)textVersion; - long value = strtol(text, NULL, 10); + long value = strtol(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -124,7 +124,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - unsigned long value = strtoul(text, NULL, 10); + unsigned long value = strtoul(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -158,7 +158,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - long value = strtol(text, NULL, 10); + long value = strtol(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -192,7 +192,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - unsigned long value = strtoul(text, NULL, 10); + unsigned long value = strtoul(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -225,7 +225,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - AZ::s64 value = strtoll(text, NULL, 10); + AZ::s64 value = strtoll(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(AZ::s64), reinterpret_cast(&value))); } @@ -258,7 +258,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - unsigned long long value = strtoull(text, NULL, 10); + unsigned long long value = strtoull(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(AZ::u64), reinterpret_cast(&value))); } @@ -292,7 +292,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown float/double version!"); (void)textVersion; - double value = strtod(text, NULL); + double value = strtod(text, nullptr); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); T data = static_cast(value); @@ -815,7 +815,7 @@ namespace AZ const ClassData* fromClass = FindClassData(fromClassId); if (!fromClass) { - return NULL; + return nullptr; } for (size_t i = 0; i < fromClass->m_elements.size(); ++i) @@ -831,7 +831,7 @@ namespace AZ if (!fromClass->m_azRtti) { - return NULL; // Reflection info failed to cast and we can't find rtti info + return nullptr; // Reflection info failed to cast and we can't find rtti info } fromClassHelper = fromClass->m_azRtti; } @@ -841,7 +841,7 @@ namespace AZ const ClassData* toClass = FindClassData(toClassId); if (!toClass || !toClass->m_azRtti) { - return NULL; // We can't cast without class data or rtti helper + return nullptr; // We can't cast without class data or rtti helper } toClassHelper = toClass->m_azRtti; } @@ -855,7 +855,7 @@ namespace AZ // [5/22/2012] //========================================================================= SerializeContext::DataElement::DataElement() - : m_name(0) + : m_name(nullptr) , m_nameCrc(0) , m_dataSize(0) , m_byteStream(&m_buffer) @@ -1045,7 +1045,7 @@ namespace AZ //========================================================================= bool SerializeContext::DataElementNode::Convert(SerializeContext& sc, const char* name, const Uuid& id) { - AZ_Assert(name != NULL && strlen(name) > 0, "Empty name is an INVALID element name!"); + AZ_Assert(name != nullptr && strlen(name) > 0, "Empty name is an INVALID element name!"); u32 nameCrc = Crc32(name); #if defined(AZ_ENABLE_TRACING) @@ -1165,7 +1165,7 @@ namespace AZ int SerializeContext::DataElementNode::AddElement(SerializeContext& sc, const char* name, const ClassData& classData) { (void)sc; - AZ_Assert(name != NULL && strlen(name) > 0, "Empty name is an INVALID element name!"); + AZ_Assert(name != nullptr && strlen(name) > 0, "Empty name is an INVALID element name!"); u32 nameCrc = Crc32(name); #if defined(AZ_ENABLE_TRACING) @@ -1703,7 +1703,7 @@ namespace AZ m_classData->second.m_serializer = AZStd::move(serializer); return this; - + } //========================================================================= @@ -1801,7 +1801,7 @@ namespace AZ void* objectPtr = ptr; const AZ::Uuid* classIdPtr = &classId; const SerializeContext::ClassData* dataClassInfo = classData; - + if (classElement) { // if we are a pointer, then we may be pointing to a derived type. @@ -1854,14 +1854,14 @@ namespace AZ DbgStackEntry de; de.m_dataPtr = objectPtr; de.m_uuidPtr = classIdPtr; - de.m_elementName = classElement ? classElement->m_name : NULL; + de.m_elementName = classElement ? classElement->m_name : nullptr; de.m_classData = dataClassInfo; de.m_classElement = classElement; callContext->m_errorHandler->Push(de); } #endif // AZ_ENABLE_SERIALIZER_DEBUG - if (dataClassInfo == NULL) + if (dataClassInfo == nullptr) { #if defined (AZ_ENABLE_SERIALIZER_DEBUG) AZStd::string error; @@ -2182,9 +2182,9 @@ namespace AZ AZ::SerializeContext::DataPatchUpgradeHandler::~DataPatchUpgradeHandler() { - for (auto fieldUpgrades : m_upgrades) + for (const auto& fieldUpgrades : m_upgrades) { - for (auto versionUpgrades : fieldUpgrades.second) + for (const auto& versionUpgrades : fieldUpgrades.second) { for (auto* upgrade : versionUpgrades.second) { @@ -2192,8 +2192,8 @@ namespace AZ } } } - } - + } + void AZ::SerializeContext::DataPatchUpgradeHandler::AddFieldUpgrade(DataPatchUpgrade* upgrade) { // Find the field @@ -2448,7 +2448,7 @@ namespace AZ classData->m_eventHandler->OnWriteEnd(dataPtr); classData->m_eventHandler->OnObjectCloned(dataPtr); } - + if (classData->m_serializer) { classData->m_serializer->PostClone(dataPtr); @@ -2489,7 +2489,7 @@ namespace AZ { if (cd.m_azRtti->IsTypeOf(typeId)) { - if (!callback(&cd, 0)) + if (!callback(&cd, nullptr)) { return; } @@ -2507,7 +2507,7 @@ namespace AZ // if both classes have azRtti they will be enumerated already by the code above (azrtti) if (cd.m_azRtti == nullptr || cd.m_elements[i].m_azRtti == nullptr) { - if (!callback(&cd, 0)) + if (!callback(&cd, nullptr)) { return; } @@ -2539,7 +2539,7 @@ namespace AZ if (baseClassData) { callbackData.m_reportedTypes.push_back(baseClassData->m_typeId); - if (!callback(baseClassData, 0)) + if (!callback(baseClassData, nullptr)) { return; } @@ -2586,8 +2586,8 @@ namespace AZ void SerializeContext::RegisterDataContainer(AZStd::unique_ptr dataContainer) { m_dataContainers.push_back(AZStd::move(dataContainer)); - } - + } + //========================================================================= // EnumerateBaseRTTIEnumCallback // [11/13/2012] @@ -2731,10 +2731,10 @@ namespace AZ //========================================================================= void SerializeContext::IDataContainer::DeletePointerData(SerializeContext* context, const ClassElement* classElement, const void* element) { - AZ_Assert(context != NULL && classElement != NULL && element != NULL, "Invalid input"); + AZ_Assert(context != nullptr && classElement != nullptr && element != nullptr, "Invalid input"); const AZ::Uuid* elemUuid = &classElement->m_typeId; // find the class data for the specific element - const SerializeContext::ClassData* classData = classElement->m_genericClassInfo ? classElement->m_genericClassInfo->GetClassData() : context->FindClassData(*elemUuid, NULL, 0); + const SerializeContext::ClassData* classData = classElement->m_genericClassInfo ? classElement->m_genericClassInfo->GetClassData() : context->FindClassData(*elemUuid, nullptr, 0); if (classElement->m_flags & SerializeContext::ClassElement::FLG_POINTER) { const void* dataPtr = *reinterpret_cast(element); @@ -2745,7 +2745,7 @@ namespace AZ if (*actualClassId != *elemUuid) { // we are pointing to derived type, adjust class data, uuid and pointer. - classData = context->FindClassData(*actualClassId, NULL, 0); + classData = context->FindClassData(*actualClassId, nullptr, 0); elemUuid = actualClassId; if (classData) { @@ -2754,7 +2754,7 @@ namespace AZ } } } - if (classData == NULL) + if (classData == nullptr) { if ((classElement->m_flags & ClassElement::FLG_POINTER) != 0) { @@ -3250,7 +3250,7 @@ namespace AZ return m_moduleOSAllocator; } - // Take advantage of static variables being unique per dll module to clean up module specific registered classes when the module unloads + // Take advantage of static variables being unique per dll module to clean up module specific registered classes when the module unloads SerializeContext::PerModuleGenericClassInfo& GetCurrentSerializeContextModule() { static SerializeContext::PerModuleGenericClassInfo s_ModuleCleanupInstance; diff --git a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h index d48e9df665..3d7f3c00f8 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h +++ b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h @@ -602,7 +602,7 @@ namespace AZ ///< @param resultPtr output parameter that is populated with the memory address that can be used to store an element of the convertible type ///< @param convertibleTypeId type to check to determine if it can converted to an element of class represent by this Class Data ///< @param classPtr memory address of the class represented by the ClassData - ///< @return true if a non-null memory address has been returned that can store the convertible type + ///< @return true if a non-null memory address has been returned that can store the convertible type bool ConvertFromType(void*& convertibleTypePtr, const TypeId& convertibleTypeId, void* classPtr, AZ::SerializeContext& serializeContext) const; /// Find the persistence id (check base classes) \todo this is a TEMP fix, analyze and cache that information in the class @@ -797,8 +797,8 @@ namespace AZ virtual void* ReserveElement(void* instance, const ClassElement* classElement) = 0; /// Free an element that was reserved using ReserveElement, but was not stored by calling StoreElement. virtual void FreeReservedElement(void* instance, void* element, SerializeContext* deletePointerDataContext) - { - RemoveElement(instance, element, deletePointerDataContext); + { + RemoveElement(instance, element, deletePointerDataContext); } /// Get an element's address by its index (called before the element is loaded). virtual void* GetElementByIndex(void* instance, const ClassElement* classElement, size_t index) = 0; @@ -858,7 +858,7 @@ namespace AZ /** * Data Converter interface which can be used to provide a conversion operation from to unrelated C++ types - * derived class to base class casting is taken care of through the RTTI system so those relations should not be + * derived class to base class casting is taken care of through the RTTI system so those relations should not be * check within this class */ class IDataConverter @@ -879,7 +879,7 @@ namespace AZ ///< @param convertibleTypeId type to check to determine if it can converted to an element of class represent by this Class Data ///< @param classPtr memory address of the class represented by the @classData type ///< @param classData reference to the metadata representing the type stored in classPtr - ///< @return true if a non-null memory address has been returned that can store the convertible type + ///< @return true if a non-null memory address has been returned that can store the convertible type virtual bool ConvertFromType(void*& convertibleTypePtr, const TypeId& convertibleTypeId, void* classPtr, const SerializeContext::ClassData& classData, SerializeContext& /*serializeContext*/) { if (classData.m_typeId == convertibleTypeId) @@ -1054,7 +1054,7 @@ namespace AZ AZStd::vector FindClassId(const AZ::Crc32& classNameCrc) const; /// Find GenericClassData data based on the supplied class ID - GenericClassInfo* FindGenericClassInfo(const Uuid& classId) const; + GenericClassInfo* FindGenericClassInfo(const Uuid& classId) const; /// Creates an AZStd::any based on the provided class Uuid, or returns an empty AZStd::any if no class data is found or the class is virtual AZStd::any CreateAny(const Uuid& classId); @@ -1161,7 +1161,7 @@ namespace AZ /* Declare a name change of a serialized field * These are used by the serializer to repair old data patches - * + * */ ClassBuilder* NameChange(unsigned int fromVersion, unsigned int toVersion, AZStd::string_view oldFieldName, AZStd::string_view newFieldName); @@ -1403,7 +1403,7 @@ namespace AZ template struct SerializeGenericTypeInfo { - // Provides a specific type alias that can be used to create GenericClassInfo of the + // Provides a specific type alias that can be used to create GenericClassInfo of the // specified type. By default this is GenericClassInfo class which is abstract using ClassInfoType = GenericClassInfo; @@ -1938,7 +1938,7 @@ namespace AZ if (m_context->IsRemovingReflection()) { // Delete any attributes allocated for this call. - for (auto attributePair : attributes) + for (auto& attributePair : attributes) { delete attributePair.second; } @@ -1955,7 +1955,7 @@ namespace AZ m_classData->second.m_name, AzTypeInfo::Name()); - // SerializeGenericTypeInfo::GetClassTypeId() is needed solely because + // SerializeGenericTypeInfo::GetClassTypeId() is needed solely because // the SerializeGenericTypeInfo specialization for AZ::Data::Asset returns the GetAssetClassId() value // and not the AzTypeInfo>::Uuid() // Therefore in order to remain backwards compatible the SerializeGenericTypeInfo::GetClassTypeId specialization diff --git a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp index 0ca354ac95..cb666a7c02 100644 --- a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp +++ b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp @@ -1004,7 +1004,7 @@ namespace AZ::SettingsRegistryMergeUtils } AZ::SettingsRegistryInterface::VisitResponse Traverse( AZStd::string_view path, AZStd::string_view valueName, AZ::SettingsRegistryInterface::VisitAction action, - AZ::SettingsRegistryInterface::Type type) + AZ::SettingsRegistryInterface::Type type) override { // Pass the pointer path to the inclusion filter if available if (m_dumperSettings.m_includeFilter && !m_dumperSettings.m_includeFilter(path)) @@ -1058,7 +1058,7 @@ namespace AZ::SettingsRegistryMergeUtils AZ::SettingsRegistryInterface::VisitResponse::Done; } - void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, bool value) + void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, bool value) override { m_result = m_result && WriteName(valueName) && m_writer.Bool(value); } @@ -1073,12 +1073,12 @@ namespace AZ::SettingsRegistryMergeUtils m_result = m_result && WriteName(valueName) && m_writer.Uint64(value); } - void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, double value) + void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, double value) override { m_result = m_result && WriteName(valueName) && m_writer.Double(value); } - void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value) + void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value) override { m_result = m_result && WriteName(valueName) && m_writer.String(value.data(), aznumeric_caster(value.size())); } diff --git a/Code/Framework/AzCore/AzCore/State/HSM.cpp b/Code/Framework/AzCore/AzCore/State/HSM.cpp index e9e069cf9a..56a7e9a27a 100644 --- a/Code/Framework/AzCore/AzCore/State/HSM.cpp +++ b/Code/Framework/AzCore/AzCore/State/HSM.cpp @@ -187,7 +187,7 @@ void HSM::ClearStateHandler(StateId id) { m_states[id].handler.clear(); - m_states[id].name = NULL; + m_states[id].name = nullptr; m_states[id].superId = InvalidStateId; } diff --git a/Code/Framework/AzCore/AzCore/State/HSM.h b/Code/Framework/AzCore/AzCore/State/HSM.h index 042843cb7d..4004ca4341 100644 --- a/Code/Framework/AzCore/AzCore/State/HSM.h +++ b/Code/Framework/AzCore/AzCore/State/HSM.h @@ -103,13 +103,10 @@ namespace AZ struct State { - State() - : superId(InvalidStateId) - , name(NULL) {} StateHandler handler; - StateId superId; ///< State id of the super state, InvalidStateId if this is a top state InvalidStateId. - StateId subId; ///< If != InvalidStateId it will enter the sub ID after the state Enter event is called. - const char* name; + StateId superId = InvalidStateId; ///< State id of the super state, InvalidStateId if this is a top state InvalidStateId. + StateId subId = InvalidStateId; ///< If != InvalidStateId it will enter the sub ID after the state Enter event is called. + const char* name = nullptr; }; AZStd::array m_states; }; diff --git a/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp b/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp index 6c92803ac4..d56fc9a5d6 100644 --- a/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp +++ b/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp @@ -81,8 +81,12 @@ namespace AZ if (settingsFile.IsOpen()) { IO::SystemFileStream settingsFileStream(&settingsFile, false); - ObjectStream::ClassReadyCB readyCB(AZStd::bind(&UserSettingsProvider::OnSettingLoaded, this, AZStd::placeholders::_1, AZStd::placeholders::_2, AZStd::placeholders::_3)); - + ObjectStream::ClassReadyCB readyCB( + [this](void* classPtr, const Uuid& classId, const SerializeContext* sc) + { + OnSettingLoaded(classPtr, classId, sc); + }); + // do not try to load assets during User Settings Provider bootup - we are still initializing the application! // in addition, the file may contain settings we don't understand, from other applications - don't error on those. settingsLoaded = ObjectStream::LoadBlocking(&settingsFileStream, *sc, readyCB, ObjectStream::FilterDescriptor(&AZ::Data::AssetFilterNoAssetLoading, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); @@ -104,7 +108,7 @@ namespace AZ { AZStd::vector saveBuffer; AZ::IO::ByteContainerStream> byteStream(&saveBuffer); - + ObjectStream* objStream = ObjectStream::Create(&byteStream, *sc, ObjectStream::ST_XML); bool writtenOk = objStream->WriteClass(&m_settings); bool streamOk = objStream->Finalize(); diff --git a/Code/Framework/AzCore/AzCore/std/function/function_base.h b/Code/Framework/AzCore/AzCore/std/function/function_base.h index 8ceba11239..6aa8a8ebc5 100644 --- a/Code/Framework/AzCore/AzCore/std/function/function_base.h +++ b/Code/Framework/AzCore/AzCore/std/function/function_base.h @@ -23,7 +23,7 @@ #include #define AZSTD_FUNCTION_TARGET_FIX(x) -#define AZSTD_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, Type) AZStd::enable_if_t, Type> +#define AZSTD_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, Type) AZStd::enable_if_t && !std::is_null_pointer_v, Type> diff --git a/Code/Framework/AzCore/AzCore/std/function/function_template.h b/Code/Framework/AzCore/AzCore/std/function/function_template.h index 8e389cb53d..a9c24ca75f 100644 --- a/Code/Framework/AzCore/AzCore/std/function/function_template.h +++ b/Code/Framework/AzCore/AzCore/std/function/function_template.h @@ -531,7 +531,7 @@ namespace AZStd //! A static vtable is used to avoid the need to dynamically allocate a vtable //! whose purpose is to contain a function ptr that can the manage the function buffer //! i.e performs the copy, move and destruction operations for the function buffer - //! as well as to validate if a the stored function can be type_cast to the type supplied in + //! as well as to validate if a the stored function can be type_cast to the type supplied in //! std::function::target //! The vtable other purpose is to store a function ptr that is used to wrap the invocation of the underlying function static vtable_type stored_vtable = get_invoker::template create_vtable>(); @@ -556,7 +556,7 @@ namespace AZStd //! A static vtable is used to avoid the need to dynamically allocate a vtable //! whose purpose is to contain a function ptr that can the manage the function buffer //! i.e performs the copy, move and destruction operations for the function buffer - //! as well as to validate if a the stored function can be type_cast to the type supplied in + //! as well as to validate if a the stored function can be type_cast to the type supplied in //! std::function::target //! The vtable other purpose is to store a function ptr that is used to wrap the invocation of the underlying function static vtable_type stored_vtable = get_invoker::template create_vtable>(); @@ -633,7 +633,7 @@ namespace AZStd {} function(nullptr_t) - : base_type() {} + : base_type(nullptr) {} function(const self_type& f) : base_type(static_cast(f)){} function(const base_type& f) @@ -678,7 +678,7 @@ namespace AZStd return *this; } - R operator()(Args... args) const + R operator()(Args... args) const { return base_type::operator()(AZStd::forward(args)...); } diff --git a/Code/Framework/AzCore/AzCore/std/string/regex.cpp b/Code/Framework/AzCore/AzCore/std/string/regex.cpp index 65f6bc732e..a8604130fe 100644 --- a/Code/Framework/AzCore/AzCore/std/string/regex.cpp +++ b/Code/Framework/AzCore/AzCore/std/string/regex.cpp @@ -31,7 +31,7 @@ namespace AZStd AZ_REGEX_CHAR_CLASS_NAME("upper", RegexTraits::Ch_upper), AZ_REGEX_CHAR_CLASS_NAME("w", RegexTraits::Ch_invalid), AZ_REGEX_CHAR_CLASS_NAME("xdigit", RegexTraits::Ch_xdigit), - {0, 0, 0}, + {nullptr, 0, 0}, }; template<> @@ -52,7 +52,7 @@ namespace AZStd AZ_REGEX_CHAR_CLASS_NAME(L"upper", RegexTraits::Ch_upper), AZ_REGEX_CHAR_CLASS_NAME(L"w", RegexTraits::Ch_invalid), AZ_REGEX_CHAR_CLASS_NAME(L"xdigit", RegexTraits::Ch_xdigit), - {0, 0, 0}, + {nullptr, 0, 0}, }; #undef AZ_REGEX_CHAR_CLASS_NAME } // namespace AZStd diff --git a/Code/Framework/AzCore/CMakeLists.txt b/Code/Framework/AzCore/CMakeLists.txt index eec5b37e03..60c5f50594 100644 --- a/Code/Framework/AzCore/CMakeLists.txt +++ b/Code/Framework/AzCore/CMakeLists.txt @@ -12,10 +12,12 @@ ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME}) ly_get_list_relative_pal_filename(common_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/Common) -if(PAL_TRAIT_PROF_PIX_SUPPORTED AND LY_PIX_ENABLED) - set(LY_PIX_PATH "${LY_3RDPARTY_PATH}/winpixeventruntime" CACHE PATH "Path to the Windows Pix Event Runtime.") - set(AZ_CORE_PIX_BUILD_DEPENDENCIES 3rdParty::pix) - set(AZ_CORE_PIX_BUILD_DEFINES "USE_PIX") +if(PAL_TRAIT_PROF_PIX_SUPPORTED) + set(LY_PIX_ENABLED OFF CACHE BOOL "Enables PIX profiler integration.") + if(LY_PIX_ENABLED) + message(STATUS "PIX found, enabling as profiler") + set(AZ_CORE_PIX_BUILD_DEPENDENCIES 3rdParty::pix) + endif() endif() ly_add_target( @@ -41,9 +43,6 @@ ly_add_target( 3rdParty::zstd 3rdParty::cityhash ${AZ_CORE_PIX_BUILD_DEPENDENCIES} - COMPILE_DEFINITIONS - PUBLIC - ${AZ_CORE_PIX_BUILD_DEFINES} ) ly_add_source_properties( SOURCES diff --git a/Code/Framework/AzCore/Platform/Android/AzCore/Debug/Trace_Android.cpp b/Code/Framework/AzCore/Platform/Android/AzCore/Debug/Trace_Android.cpp index 07a132d2b9..5bd68b3ed6 100644 --- a/Code/Framework/AzCore/Platform/Android/AzCore/Debug/Trace_Android.cpp +++ b/Code/Framework/AzCore/Platform/Android/AzCore/Debug/Trace_Android.cpp @@ -18,7 +18,7 @@ namespace AZ { void OutputToDebugger([[maybe_unused]] const char* window, [[maybe_unused]] const char* message) { - __android_log_print(ANDROID_LOG_INFO, window, message); + __android_log_print(ANDROID_LOG_INFO, window, "%s", message); } } } diff --git a/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp b/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp index bfc69a05a3..5cf854d49f 100644 --- a/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp +++ b/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp @@ -139,7 +139,7 @@ namespace AZ if (m_handle) { result = dlclose(m_handle) == 0 ? true : false; - m_handle = 0; + m_handle = nullptr; } return result; } diff --git a/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp b/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp index 8f34c7f31f..6b82c642d5 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp @@ -41,12 +41,12 @@ namespace UnitTest AZ_TEST_ASSERT(strcmp(myalloc.get_name(), newName) == 0); AZStd::allocator::pointer_type data = myalloc.allocate(100, 1); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); myalloc.deallocate(data, 100, 1); data = myalloc.allocate(50, 128); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); myalloc.deallocate(data, 50, 128); @@ -153,7 +153,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); buffer_alloc_type::pointer_type data = myalloc.allocate(100, 1); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == bufferSize - 100); AZ_TEST_ASSERT(myalloc.get_allocated_size() == 100); @@ -172,7 +172,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); data = myalloc.allocate(50, 64); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(((AZStd::size_t)data & 63) == 0); AZ_TEST_ASSERT(myalloc.get_max_size() <= bufferSize - 50); AZ_TEST_ASSERT(myalloc.get_allocated_size() >= 50); @@ -198,7 +198,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); int* data = reinterpret_cast(myalloc.allocate(sizeof(int), 1)); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == (numNodes - 1) * sizeof(int)); AZ_TEST_ASSERT(myalloc.get_allocated_size() == sizeof(int)); @@ -209,7 +209,7 @@ namespace UnitTest for (int i = 0; i < numNodes; ++i) { data = reinterpret_cast(myalloc.allocate(sizeof(int), 1)); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == (numNodes - (i + 1)) * sizeof(int)); AZ_TEST_ASSERT(myalloc.get_allocated_size() == (i + 1) * sizeof(int)); } @@ -231,7 +231,7 @@ namespace UnitTest aligned_int_node_pool_type myaligned_pool; aligned_int_type* aligned_data = reinterpret_cast(myaligned_pool.allocate(sizeof(aligned_int_type), dataAlignment)); - AZ_TEST_ASSERT(aligned_data != 0); + AZ_TEST_ASSERT(aligned_data != nullptr); AZ_TEST_ASSERT(((AZStd::size_t)aligned_data & (dataAlignment - 1)) == 0); AZ_TEST_ASSERT(myaligned_pool.get_max_size() == (numNodes - 1) * sizeof(aligned_int_type)); AZ_TEST_ASSERT(myaligned_pool.get_allocated_size() == sizeof(aligned_int_type)); @@ -267,14 +267,14 @@ namespace UnitTest AZ_TEST_ASSERT(ref_allocator2.get_allocator() == ref_allocator1.get_allocator()); ref_allocator_type::pointer_type data1 = ref_allocator1.allocate(10, 1); - AZ_TEST_ASSERT(data1 != 0); + AZ_TEST_ASSERT(data1 != nullptr); AZ_TEST_ASSERT(ref_allocator1.get_max_size() == bufferSize - 10); AZ_TEST_ASSERT(ref_allocator1.get_allocated_size() == 10); AZ_TEST_ASSERT(shared_allocator.get_max_size() == bufferSize - 10); AZ_TEST_ASSERT(shared_allocator.get_allocated_size() == 10); ref_allocator_type::pointer_type data2 = ref_allocator2.allocate(10, 1); - AZ_TEST_ASSERT(data2 != 0); + AZ_TEST_ASSERT(data2 != nullptr); AZ_TEST_ASSERT(ref_allocator2.get_max_size() <= bufferSize - 20); AZ_TEST_ASSERT(ref_allocator2.get_allocated_size() >= 20); AZ_TEST_ASSERT(shared_allocator.get_max_size() <= bufferSize - 20); @@ -283,14 +283,14 @@ namespace UnitTest shared_allocator.reset(); data1 = ref_allocator1.allocate(10, 32); - AZ_TEST_ASSERT(data1 != 0); + AZ_TEST_ASSERT(data1 != nullptr); AZ_TEST_ASSERT(ref_allocator1.get_max_size() <= bufferSize - 10); AZ_TEST_ASSERT(ref_allocator1.get_allocated_size() >= 10); AZ_TEST_ASSERT(shared_allocator.get_max_size() <= bufferSize - 10); AZ_TEST_ASSERT(shared_allocator.get_allocated_size() >= 10); data2 = ref_allocator2.allocate(10, 32); - AZ_TEST_ASSERT(data2 != 0); + AZ_TEST_ASSERT(data2 != nullptr); AZ_TEST_ASSERT(ref_allocator1.get_max_size() <= bufferSize - 20); AZ_TEST_ASSERT(ref_allocator1.get_allocated_size() >= 20); AZ_TEST_ASSERT(shared_allocator.get_max_size() <= bufferSize - 20); @@ -316,7 +316,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); stack_allocator::pointer_type data = myalloc.allocate(100, 1); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == bufferSize - 100); AZ_TEST_ASSERT(myalloc.get_allocated_size() == 100); @@ -329,7 +329,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); data = myalloc.allocate(50, 64); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(((AZStd::size_t)data & 63) == 0); AZ_TEST_ASSERT(myalloc.get_max_size() <= bufferSize - 50); AZ_TEST_ASSERT(myalloc.get_allocated_size() >= 50); diff --git a/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp b/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp index 57975ad09b..a5da293057 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp @@ -975,13 +975,13 @@ namespace UnitTest A obj(T(0)); bool b0 = obj.is_lock_free(); ((void)b0); // mark as unused - EXPECT_TRUE(obj == T(0)); + EXPECT_TRUE(obj == T(nullptr)); AZStd::atomic_init(&obj, T(1)); EXPECT_TRUE(obj == T(1)); AZStd::atomic_init(&obj, T(2)); EXPECT_TRUE(obj == T(2)); obj.store(T(0)); - EXPECT_TRUE(obj == T(0)); + EXPECT_TRUE(obj == T(nullptr)); obj.store(T(1), AZStd::memory_order_release); EXPECT_TRUE(obj == T(1)); EXPECT_TRUE(obj.load() == T(1)); @@ -1001,11 +1001,11 @@ namespace UnitTest EXPECT_TRUE(obj.compare_exchange_strong(x, T(1)) == true); EXPECT_TRUE(obj == T(1)); EXPECT_TRUE(x == T(2)); - EXPECT_TRUE(obj.compare_exchange_strong(x, T(0)) == false); + EXPECT_TRUE(obj.compare_exchange_strong(x, T(nullptr)) == false); EXPECT_TRUE(obj == T(1)); EXPECT_TRUE(x == T(1)); - EXPECT_TRUE((obj = T(0)) == T(0)); - EXPECT_TRUE(obj == T(0)); + EXPECT_TRUE((obj = T(nullptr)) == T(nullptr)); + EXPECT_TRUE(obj == T(nullptr)); obj = T(2 * sizeof(X)); EXPECT_TRUE((obj += AZStd::ptrdiff_t(3)) == T(5 * sizeof(X))); EXPECT_TRUE(obj == T(5 * sizeof(X))); @@ -1015,7 +1015,7 @@ namespace UnitTest { alignas(A) char storage[sizeof(A)] = { 23 }; A& zero = *new (storage) A(); - EXPECT_TRUE(zero == T(0)); + EXPECT_TRUE(zero == T(nullptr)); zero.~A(); } } diff --git a/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp b/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp index ed1d59906b..7279e4015a 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp @@ -127,7 +127,7 @@ namespace UnitTest AZStd::bitset<32> m_bitset1; AZStd::bitset<32> m_bitset2; }; - + TEST_P(BitsetUnsignedLongPairTests, BitwiseANDOperator_MatchesUnsignedLongAND) { EXPECT_EQ((m_bitset1 & m_bitset2).to_ulong(), m_unsignedLong1 & m_unsignedLong2); @@ -316,7 +316,7 @@ namespace UnitTest { for (unsigned long value2 : testCases) { - testCasePairs.push_back(AZStd::pair(value1, value2)); + testCasePairs.emplace_back(value1, value2); } } return testCasePairs; diff --git a/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp b/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp index 6bfda10ddc..2a4c598218 100644 --- a/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp @@ -219,7 +219,7 @@ class OtherClass double rubbish; // to ensure this class has non-zero size. public: virtual ~OtherClass() {} - virtual void UnusedVirtualFunction(void) { (void)rubbish; } + virtual void UnusedVirtualFunction() { (void)rubbish; } virtual void TrickyVirtualFunction(int num, char* str) = 0; }; @@ -268,7 +268,7 @@ namespace UnitTest // Assignment to an empty function v1 = five; - AZ_TEST_ASSERT(v1 != 0); + AZ_TEST_ASSERT(v1 != nullptr); // Invocation of a function global_int = 0; @@ -277,7 +277,7 @@ namespace UnitTest // clear() method v1.clear(); - AZ_TEST_ASSERT(v1 == 0); + AZ_TEST_ASSERT(v1 == nullptr); // Assignment to an empty function v1 = three; @@ -303,12 +303,12 @@ namespace UnitTest AZ_TEST_ASSERT(global_int == 5); // clear - v1 = 0; - AZ_TEST_ASSERT(0 == v1); + v1 = nullptr; + AZ_TEST_ASSERT(nullptr == v1); // Assignment to an empty function from a free function v1 = AZSTD_FUNCTION_TARGET_FIX(&) write_five; - AZ_TEST_ASSERT(0 != v1); + AZ_TEST_ASSERT(nullptr != v1); // Invocation global_int = 0; @@ -697,9 +697,9 @@ namespace UnitTest AZ_TEST_ASSERT(global_int == 2); // Test construction from 0 and comparison to 0 - func_void_type v9(0); - AZ_TEST_ASSERT(v9 == 0); - AZ_TEST_ASSERT(0 == v9); + func_void_type v9(nullptr); + AZ_TEST_ASSERT(v9 == nullptr); + AZ_TEST_ASSERT(nullptr == v9); // Test return values typedef function func_int_type; @@ -941,7 +941,7 @@ namespace UnitTest TEST_F(Function, FunctionWithNonAZStdAllocatorDestructsSuccessfully) { - // 64 Byte buffer is used to prevent AZStd::function for storing the + // 64 Byte buffer is used to prevent AZStd::function for storing the // lambda internal storage using the small buffer optimization // Therefore causing the supplied allocator to be used [[maybe_unused]] AZStd::aligned_storage_t<64, 1> bufferToAvoidSmallBufferOptimization; @@ -994,7 +994,7 @@ namespace UnitTest return static_cast(lhs) + rhs; } - // Make sure the functor have a specific size so + // Make sure the functor have a specific size so // that it can be used to test both the AZStd::function small_object_optimization path // and the heap allocated function object path AZStd::aligned_storage_t m_functorPadding; @@ -1044,7 +1044,7 @@ namespace UnitTest TestFunctor testFunctor; AZStd::function testFunction2(AZStd::move(testFunctor)); EXPECT_GT(s_functorMoveConstructorCount, 0); - + double testFunc2Result = testFunction2(16, 4.0); EXPECT_DOUBLE_EQ(20, testFunc2Result); @@ -1068,7 +1068,7 @@ namespace UnitTest AZStd::function testFunction2; testFunction2 = AZStd::move(testFunctor); EXPECT_GT(s_functorMoveConstructorCount + s_functorMoveAssignmentCount, 0); - + double testFunc2Result = testFunction2(16, 4.0); EXPECT_DOUBLE_EQ(20, testFunc2Result); @@ -1643,7 +1643,7 @@ namespace UnitTest AZStd::reference_wrapper refTimeStamp(timeStamp); double result = nestedFunc(32, refTimeStamp, 64.0); EXPECT_EQ(512, timeStamp); - + constexpr double expectedResult = static_cast(32 + 16 + 128.0 + 512); EXPECT_DOUBLE_EQ(expectedResult, result); } diff --git a/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp b/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp index 2743d5e323..f3d4f58250 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp @@ -195,7 +195,7 @@ namespace UnitTest void test_thread_id_for_running_thread_is_not_default_constructed_id() { - const thread_desc* desc = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::do_nothing, this), desc); AZ_TEST_ASSERT(t.get_id() != AZStd::thread::id()); t.join(); @@ -203,8 +203,8 @@ namespace UnitTest void test_different_threads_have_different_ids() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; - const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; + const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::do_nothing, this), desc1); AZStd::thread t2(AZStd::bind(&Parallel_Thread::do_nothing, this), desc2); AZ_TEST_ASSERT(t.get_id() != t2.get_id()); @@ -214,9 +214,9 @@ namespace UnitTest void test_thread_ids_have_a_total_order() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; - const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : 0; - const thread_desc* desc3 = m_numThreadDesc ? &m_desc[2] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; + const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : nullptr; + const thread_desc* desc3 = m_numThreadDesc ? &m_desc[2] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::do_nothing, this), desc1); AZStd::thread t2(AZStd::bind(&Parallel_Thread::do_nothing, this), desc2); @@ -313,7 +313,7 @@ namespace UnitTest void test_thread_id_of_running_thread_returned_by_this_thread_get_id() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread::id id; AZStd::thread t(AZStd::bind(&Parallel_Thread::get_thread_id, this, &id), desc1); @@ -366,7 +366,7 @@ namespace UnitTest void test_move_on_construction() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread::id the_id; AZStd::thread x; x = AZStd::thread(AZStd::bind(&Parallel_Thread::do_nothing_id, this, &the_id), desc1); @@ -377,7 +377,7 @@ namespace UnitTest AZStd::thread make_thread(AZStd::thread::id* the_id) { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; return AZStd::thread(AZStd::bind(&Parallel_Thread::do_nothing_id, this, the_id), desc1); } @@ -430,7 +430,7 @@ namespace UnitTest void do_test_creation() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; m_data = 0; AZStd::thread t(AZStd::bind(&Parallel_Thread::simple_thread, this), desc1); t.join(); @@ -445,7 +445,7 @@ namespace UnitTest void do_test_id_comparison() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread::id self = this_thread::get_id(); AZStd::thread thrd(AZStd::bind(&Parallel_Thread::comparison_thread, this, self), desc1); thrd.join(); @@ -476,7 +476,7 @@ namespace UnitTest void do_test_creation_through_reference_wrapper() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; non_copyable_functor f; AZStd::thread thrd(AZStd::ref(f), desc1); @@ -491,8 +491,8 @@ namespace UnitTest void test_swap() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; - const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; + const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::simple_thread, this), desc1); AZStd::thread t2(AZStd::bind(&Parallel_Thread::simple_thread, this), desc2); AZStd::thread::id id1 = t.get_id(); @@ -512,7 +512,7 @@ namespace UnitTest void run() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; // We need to have at least one processor AZ_TEST_ASSERT(AZStd::thread::hardware_concurrency() >= 1); diff --git a/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp b/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp index f50da28b1f..b6a5a62c05 100644 --- a/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp @@ -137,7 +137,7 @@ namespace UnitTest static void deleter(int* p) { - EXPECT_TRUE(p == 0); + EXPECT_TRUE(p == nullptr); } struct deleter2 @@ -158,7 +158,7 @@ namespace UnitTest { void operator()(incomplete* p) { - EXPECT_TRUE(p == 0); + EXPECT_TRUE(p == nullptr); } }; @@ -331,7 +331,7 @@ namespace UnitTest AZStd::shared_ptr pv; EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_EQ(0, pv.get()); + EXPECT_EQ(nullptr, pv.get()); EXPECT_EQ(0, pv.use_count()); } @@ -355,35 +355,35 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrCtorIntPtr) { - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorConstIntPtr) { - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorX) { - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorXConvert) { - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorIntValue) @@ -518,15 +518,15 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrCtorNullDeleter) { { - AZStd::shared_ptr pi(static_cast(0), &SharedPtr::test::deleter); + AZStd::shared_ptr pi(static_cast(nullptr), &SharedPtr::test::deleter); m_sharedPtr->TestPtr(pi, nullptr); } { - AZStd::shared_ptr pv(static_cast(0), &SharedPtr::test::deleter); + AZStd::shared_ptr pv(static_cast(nullptr), &SharedPtr::test::deleter); m_sharedPtr->TestPtr(pv, nullptr); } { - AZStd::shared_ptr pv(static_cast(0), &SharedPtr::test::deleter); + AZStd::shared_ptr pv(static_cast(nullptr), &SharedPtr::test::deleter); m_sharedPtr->TestPtr(pv, nullptr); } } @@ -589,21 +589,21 @@ namespace UnitTest EXPECT_EQ(pi2, pi); EXPECT_FALSE(pi2); EXPECT_TRUE(!pi2); - EXPECT_EQ(0, pi2.get()); + EXPECT_EQ(nullptr, pi2.get()); EXPECT_EQ(pi2.use_count(), pi.use_count()); AZStd::shared_ptr pi3(pi); EXPECT_EQ(pi3, pi); EXPECT_FALSE(pi3); EXPECT_TRUE(!pi3); - EXPECT_EQ(0, pi3.get()); + EXPECT_EQ(nullptr, pi3.get()); EXPECT_EQ(pi3.use_count(), pi.use_count()); AZStd::shared_ptr pi4(pi3); EXPECT_EQ(pi4, pi3); EXPECT_FALSE(pi4); EXPECT_TRUE(!pi4); - EXPECT_EQ(0, pi4.get()); + EXPECT_EQ(nullptr, pi4.get()); EXPECT_EQ(pi4.use_count(), pi3.use_count()); } @@ -615,7 +615,7 @@ namespace UnitTest EXPECT_EQ(pv2, pv); EXPECT_FALSE(pv2); EXPECT_TRUE(!pv2); - EXPECT_EQ(0, pv2.get()); + EXPECT_EQ(nullptr, pv2.get()); EXPECT_EQ(pv2.use_count(), pv.use_count()); } @@ -628,26 +628,26 @@ namespace UnitTest EXPECT_EQ(px, px2); EXPECT_FALSE(px2); EXPECT_TRUE(!px2); - EXPECT_EQ(0, px2.get()); + EXPECT_EQ(nullptr, px2.get()); EXPECT_EQ(px.use_count(), px2.use_count()); AZStd::shared_ptr px3(px); EXPECT_EQ(px, px3); EXPECT_FALSE(px3); EXPECT_TRUE(!px3); - EXPECT_EQ(0, px3.get()); + EXPECT_EQ(nullptr, px3.get()); EXPECT_EQ(px.use_count(), px3.use_count()); } TEST_F(SmartPtr, SharedPtrCopyCtorIntVoidSharedOwnershipTest) { - AZStd::shared_ptr pi(static_cast(0)); + AZStd::shared_ptr pi(static_cast(nullptr)); AZStd::shared_ptr pi2(pi); EXPECT_EQ(pi, pi2); EXPECT_FALSE(pi2); EXPECT_TRUE(!pi2); - EXPECT_EQ(0, pi2.get()); + EXPECT_EQ(nullptr, pi2.get()); EXPECT_EQ(2, pi2.use_count()); EXPECT_FALSE(pi2.unique()); EXPECT_EQ(pi.use_count(), pi2.use_count()); @@ -657,7 +657,7 @@ namespace UnitTest EXPECT_EQ(pi, pi3); EXPECT_FALSE(pi3); EXPECT_TRUE(!pi3); - EXPECT_EQ(0, pi3.get()); + EXPECT_EQ(nullptr, pi3.get()); EXPECT_EQ(3, pi3.use_count()); EXPECT_FALSE(pi3.unique()); EXPECT_EQ(pi.use_count(), pi3.use_count()); @@ -667,7 +667,7 @@ namespace UnitTest EXPECT_EQ(pi2, pi4); EXPECT_FALSE(pi4); EXPECT_TRUE(!pi4); - EXPECT_EQ(0, pi4.get()); + EXPECT_EQ(nullptr, pi4.get()); EXPECT_EQ(4, pi4.use_count()); EXPECT_FALSE(pi4.unique()); EXPECT_EQ(pi2.use_count(), pi4.use_count()); @@ -680,13 +680,13 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrCopyCtorClassSharedOwnershipTest) { using X = SharedPtr::test::X; - AZStd::shared_ptr px(static_cast(0)); + AZStd::shared_ptr px(static_cast(nullptr)); AZStd::shared_ptr px2(px); EXPECT_EQ(px, px2); EXPECT_FALSE(px2); EXPECT_TRUE(!px2); - EXPECT_EQ(0, px2.get()); + EXPECT_EQ(nullptr, px2.get()); EXPECT_EQ(2, px2.use_count()); EXPECT_FALSE(px2.unique()); EXPECT_EQ(px.use_count(), px2.use_count()); @@ -696,7 +696,7 @@ namespace UnitTest EXPECT_EQ(px, px3); EXPECT_FALSE(px3); EXPECT_TRUE(!px3); - EXPECT_EQ(0, px3.get()); + EXPECT_EQ(nullptr, px3.get()); EXPECT_EQ(3, px3.use_count()); EXPECT_FALSE(px3.unique()); EXPECT_EQ(px.use_count(), px3.use_count()); @@ -706,7 +706,7 @@ namespace UnitTest EXPECT_EQ(px2, px4); EXPECT_FALSE(px4); EXPECT_TRUE(!px4); - EXPECT_EQ(0, px4.get()); + EXPECT_EQ(nullptr, px4.get()); EXPECT_EQ(4, px4.use_count()); EXPECT_FALSE(px4.unique()); EXPECT_EQ(px2.use_count(), px4.use_count()); @@ -871,11 +871,11 @@ namespace UnitTest { AZStd::shared_ptr p2(wp); EXPECT_EQ(wp.use_count(), p2.use_count()); - EXPECT_EQ(0, p2.get()); + EXPECT_EQ(nullptr, p2.get()); AZStd::shared_ptr p3(wp); EXPECT_EQ(wp.use_count(), p3.use_count()); - EXPECT_EQ(0, p3.get()); + EXPECT_EQ(nullptr, p3.get()); } } @@ -927,7 +927,7 @@ namespace UnitTest EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p2; @@ -936,7 +936,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p3(p1); @@ -945,7 +945,7 @@ namespace UnitTest EXPECT_EQ(p3, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); } TEST_F(SmartPtr, SharedPtrCopyAssignVoid) @@ -959,7 +959,7 @@ namespace UnitTest EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p2; @@ -968,7 +968,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p3(p1); @@ -977,7 +977,7 @@ namespace UnitTest EXPECT_EQ(p3, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p4(new int); EXPECT_EQ(1, p4.use_count()); @@ -1007,7 +1007,7 @@ namespace UnitTest EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p2; @@ -1016,7 +1016,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p3(p1); @@ -1025,7 +1025,7 @@ namespace UnitTest EXPECT_EQ(p3, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1065,7 +1065,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p4(new int); EXPECT_EQ(1, p4.use_count()); @@ -1098,7 +1098,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); EXPECT_EQ(0, m_sharedPtr->m_test.m_yInstances); @@ -1144,17 +1144,17 @@ namespace UnitTest pi.reset(); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 0); } TEST_F(SmartPtr, SharedPtrResetNullInt) { - AZStd::shared_ptr pi(static_cast(0)); + AZStd::shared_ptr pi(static_cast(nullptr)); pi.reset(); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 0); } @@ -1164,7 +1164,7 @@ namespace UnitTest pi.reset(); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 0); } @@ -1175,7 +1175,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); } @@ -1187,7 +1187,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); } @@ -1198,7 +1198,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); } @@ -1211,7 +1211,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); } @@ -1222,7 +1222,7 @@ namespace UnitTest pv.reset(); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 0); } @@ -1235,7 +1235,7 @@ namespace UnitTest pv.reset(); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 0); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); } @@ -1244,10 +1244,10 @@ namespace UnitTest { AZStd::shared_ptr pi; - pi.reset(static_cast(0)); + pi.reset(static_cast(nullptr)); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); @@ -1259,10 +1259,10 @@ namespace UnitTest EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); - pi.reset(static_cast(0)); + pi.reset(static_cast(nullptr)); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); } @@ -1273,10 +1273,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr px; - px.reset(static_cast(0)); + px.reset(static_cast(nullptr)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1290,10 +1290,10 @@ namespace UnitTest EXPECT_TRUE(px.unique()); EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); - px.reset(static_cast(0)); + px.reset(static_cast(nullptr)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1309,10 +1309,10 @@ namespace UnitTest EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); EXPECT_EQ(1, m_sharedPtr->m_test.m_yInstances); - px.reset(static_cast(0)); + px.reset(static_cast(nullptr)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1325,10 +1325,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr pv; - pv.reset(static_cast(0)); + pv.reset(static_cast(nullptr)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1342,10 +1342,10 @@ namespace UnitTest EXPECT_TRUE(pv.unique()); EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); - pv.reset(static_cast(0)); + pv.reset(static_cast(nullptr)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1361,10 +1361,10 @@ namespace UnitTest EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); EXPECT_EQ(1, m_sharedPtr->m_test.m_yInstances); - pv.reset(static_cast(0)); + pv.reset(static_cast(nullptr)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1375,10 +1375,10 @@ namespace UnitTest { AZStd::shared_ptr pi; - pi.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pi.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); @@ -1386,23 +1386,23 @@ namespace UnitTest int m = 0; pi.reset(&m, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(pi ? true : false); EXPECT_TRUE(!!pi); EXPECT_TRUE(pi.get() == &m); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); - pi.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pi.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &m); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); pi.reset(); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrResetClassWithDeleter) @@ -1411,10 +1411,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr px; - px.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + px.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); @@ -1422,40 +1422,40 @@ namespace UnitTest X x(m_sharedPtr->m_test); px.reset(&x, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(px ? true : false); EXPECT_TRUE(!!px); EXPECT_TRUE(px.get() == &x); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); - px.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + px.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &x); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); Y y(m_sharedPtr->m_test); px.reset(&y, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(px ? true : false); EXPECT_TRUE(!!px); EXPECT_TRUE(px.get() == &y); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); - px.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + px.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &y); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); px.reset(); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrResetVoidClassWithDeleter) @@ -1464,10 +1464,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr pv; - pv.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pv.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); @@ -1475,40 +1475,40 @@ namespace UnitTest X x(m_sharedPtr->m_test); pv.reset(&x, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(pv ? true : false); EXPECT_TRUE(!!pv); EXPECT_TRUE(pv.get() == &x); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); - pv.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pv.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &x); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); Y y(m_sharedPtr->m_test); pv.reset(&y, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(pv ? true : false); EXPECT_TRUE(!!pv); EXPECT_TRUE(pv.get() == &y); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); - pv.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pv.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &y); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); pv.reset(); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrResetIncompleteNullWithDeleter) @@ -1521,20 +1521,20 @@ namespace UnitTest px.reset(p0, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); m_sharedPtr->m_test.deleted = &px; px.reset(p0, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrGetPointerEmpty) { struct X {}; AZStd::shared_ptr px; - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_FALSE(px); EXPECT_TRUE(!px); @@ -1544,8 +1544,8 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrGetPointerNull) { struct X {}; - AZStd::shared_ptr px(static_cast(0)); - EXPECT_TRUE(px.get() == 0); + AZStd::shared_ptr px(static_cast(nullptr)); + EXPECT_TRUE(px.get() == nullptr); EXPECT_FALSE(px); EXPECT_TRUE(!px); @@ -1555,8 +1555,8 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrGetPointerCheckedDeleterNull) { struct X {}; - AZStd::shared_ptr px(static_cast(0), AZStd::checked_deleter()); - EXPECT_TRUE(px.get() == 0); + AZStd::shared_ptr px(static_cast(nullptr), AZStd::checked_deleter()); + EXPECT_TRUE(px.get() == nullptr); EXPECT_FALSE(px); EXPECT_TRUE(!px); @@ -1594,7 +1594,7 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrUseCountNullClass) { struct X {}; - AZStd::shared_ptr px(static_cast(0)); + AZStd::shared_ptr px(static_cast(nullptr)); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); @@ -1641,14 +1641,14 @@ namespace UnitTest px.swap(px2); - EXPECT_TRUE(px.get() == 0); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px.get() == nullptr); + EXPECT_TRUE(px2.get() == nullptr); using std::swap; swap(px, px2); - EXPECT_TRUE(px.get() == 0); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px.get() == nullptr); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrSwapNewClass) @@ -1663,14 +1663,14 @@ namespace UnitTest EXPECT_TRUE(px.get() == p); EXPECT_TRUE(px.use_count() == 2); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); EXPECT_TRUE(px3.get() == p); EXPECT_TRUE(px3.use_count() == 2); using std::swap; swap(px, px2); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px2.get() == p); EXPECT_TRUE(px2.use_count() == 2); EXPECT_TRUE(px3.get() == p); @@ -1876,10 +1876,10 @@ namespace UnitTest AZStd::shared_ptr pv; AZStd::shared_ptr pi = AZStd::static_pointer_cast(pv); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); AZStd::shared_ptr px = AZStd::static_pointer_cast(pv); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); } TEST_F(SmartPtr, SharedPtrStaticPointerCastNewIntToVoid) @@ -1946,7 +1946,7 @@ namespace UnitTest AZStd::shared_ptr px; AZStd::shared_ptr px2 = AZStd::const_pointer_cast(px); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrIntConstPointerCastInt) @@ -1954,7 +1954,7 @@ namespace UnitTest AZStd::shared_ptr px; AZStd::shared_ptr px2 = AZStd::const_pointer_cast(px); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrClassConstPointerCastClass) @@ -1963,7 +1963,7 @@ namespace UnitTest AZStd::shared_ptr px; AZStd::shared_ptr px2 = AZStd::const_pointer_cast(px); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrVoidVolatileConstPointerCastVoid) diff --git a/Code/Framework/AzCore/Tests/AZStd/String.cpp b/Code/Framework/AzCore/Tests/AZStd/String.cpp index 4c6687b00d..91d2237ca2 100644 --- a/Code/Framework/AzCore/Tests/AZStd/String.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/String.cpp @@ -444,7 +444,7 @@ namespace UnitTest str2.back() = 'p'; AZ_TEST_ASSERT(str2.back() == 'p'); - AZ_TEST_ASSERT(str2.c_str() != 0); + AZ_TEST_ASSERT(str2.c_str() != nullptr); AZ_TEST_ASSERT(::strlen(str2.c_str()) == str2.length()); str2.resize(30, 'm'); @@ -793,7 +793,7 @@ namespace UnitTest AZ_TEST_ASSERT(alphanum_comp(strdup("Alpha 2 B"), strA) > 0); // show usage of the comparison functor with a set - typedef set > StringSetType; + using StringSetType = set>; StringSetType s; s.insert("Xiph Xlater 58"); s.insert("Xiph Xlater 5000"); @@ -879,7 +879,7 @@ namespace UnitTest AZ_TEST_ASSERT(*setIt++ == "Xiph Xlater 10000"); // show usage of comparison functor with a map - typedef map > StringIntMapType; + using StringIntMapType = map>; StringIntMapType m; m["z1.doc"] = 1; m["z10.doc"] = 2; @@ -1441,7 +1441,7 @@ namespace UnitTest TEST_F(String, String_FormatOnlyAllowsValidArgs) { - constexpr bool v1 = 0; + constexpr bool v1 = false; constexpr char v2 = 0; constexpr unsigned char v3 = 0; constexpr signed char v4 = 0; diff --git a/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp b/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp index 933db73c3f..47c3630091 100644 --- a/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp @@ -824,7 +824,7 @@ namespace UnitTest {1, 2, 3, 4} }; AZ_TEST_ASSERT(myArr.empty() == false); - AZ_TEST_ASSERT(myArr.data() != 0); + AZ_TEST_ASSERT(myArr.data() != nullptr); AZ_TEST_ASSERT(myArr.size() == 10); AZ_TEST_ASSERT(myArr.front() == 1); AZ_TEST_ASSERT(myArr.back() == 0); diff --git a/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp b/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp index e25c3dbcf7..8ce3747620 100644 --- a/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp +++ b/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp @@ -52,7 +52,7 @@ namespace UnitTest AssetLoadBus::Handler::BusConnect(m_assetId); } } - ~OnAssetReadyListener() + ~OnAssetReadyListener() override { m_assetId.SetInvalid(); m_latest = {}; @@ -109,7 +109,7 @@ namespace UnitTest { BusConnect(assetId); } - ~ContainerReadyListener() + ~ContainerReadyListener() override { BusDisconnect(); } @@ -2658,7 +2658,7 @@ namespace UnitTest m_canceled = true; } - ~CancelListener() + ~CancelListener() override { BusDisconnect(); } diff --git a/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp b/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp index 46ff4ff3e7..a683f9630e 100644 --- a/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp +++ b/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp @@ -420,7 +420,7 @@ namespace UnitTest AZ::Data::AssetHandler::LoadResult LoadAssetData( [[maybe_unused]] const AZ::Data::Asset& asset, [[maybe_unused]] AZStd::shared_ptr stream, - [[maybe_unused]] const AZ::Data::AssetFilterCB& assetLoadFilterCB) + [[maybe_unused]] const AZ::Data::AssetFilterCB& assetLoadFilterCB) override { return AZ::Data::AssetHandler::LoadResult::LoadComplete; } diff --git a/Code/Framework/AzCore/Tests/EventTests.cpp b/Code/Framework/AzCore/Tests/EventTests.cpp index aaa70344e7..cb86ef0c17 100644 --- a/Code/Framework/AzCore/Tests/EventTests.cpp +++ b/Code/Framework/AzCore/Tests/EventTests.cpp @@ -398,7 +398,7 @@ namespace Benchmark { public: EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplEmpty() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void OnSignal(int32_t) override {} }; @@ -418,7 +418,7 @@ namespace Benchmark { public: EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplIncrement() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void SetIncrementCounter(int32_t* incrementCounter) { m_incrementCounter = incrementCounter; } void OnSignal(int32_t) override { ++(*m_incrementCounter); } int32_t* m_incrementCounter; diff --git a/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp b/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp index 41e0ac3f09..2fca03bc59 100644 --- a/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp +++ b/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp @@ -870,11 +870,11 @@ namespace Benchmark , public ::UnitTest::AllocatorsBase { public: - void SetUp([[maybe_unused]] const ::benchmark::State& state) + void SetUp([[maybe_unused]] const ::benchmark::State& state) override { ::UnitTest::AllocatorsBase::SetupAllocator(); } - void TearDown([[maybe_unused]] const ::benchmark::State& state) + void TearDown([[maybe_unused]] const ::benchmark::State& state) override { ::UnitTest::AllocatorsBase::TeardownAllocator(); } diff --git a/Code/Framework/AzCore/Tests/Jobs.cpp b/Code/Framework/AzCore/Tests/Jobs.cpp index b88e1f5b32..b63e139dd0 100644 --- a/Code/Framework/AzCore/Tests/Jobs.cpp +++ b/Code/Framework/AzCore/Tests/Jobs.cpp @@ -184,7 +184,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(Vector3SumJob, ThreadPoolAllocator, 0) - Vector3SumJob(const Vector3* array, unsigned int size, Vector3* result, JobContext* context = NULL) + Vector3SumJob(const Vector3* array, unsigned int size, Vector3* result, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_size(size) @@ -284,7 +284,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(FibonacciJobJoin, ThreadPoolAllocator, 0) - FibonacciJobJoin(int* result, JobContext* context = NULL) + FibonacciJobJoin(int* result, JobContext* context = nullptr) : Job(true, context) , m_result(result) { @@ -304,7 +304,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(FibonacciJobFork, ThreadPoolAllocator, 0) - FibonacciJobFork(int n, int* result, JobContext* context = NULL) + FibonacciJobFork(int n, int* result, JobContext* context = nullptr) : Job(true, context) , m_n(n) , m_result(result) @@ -374,7 +374,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(FibonacciJob2, ThreadPoolAllocator, 0) - FibonacciJob2(int n, int* result, JobContext* context = NULL) + FibonacciJob2(int n, int* result, JobContext* context = nullptr) : Job(true, context) , m_n(n) , m_result(result) @@ -441,7 +441,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(MergeSortJobJoin, ThreadPoolAllocator, 0) - MergeSortJobJoin(int* array, int* tempArray, int size1, int size2, JobContext* context = NULL) + MergeSortJobJoin(int* array, int* tempArray, int size1, int size2, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_tempArray(tempArray) @@ -496,7 +496,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(MergeSortJobFork, ThreadPoolAllocator, 0) - MergeSortJobFork(int* array, int* tempArray, int size, JobContext* context = NULL) + MergeSortJobFork(int* array, int* tempArray, int size, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_tempArray(tempArray) @@ -585,7 +585,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(QuickSortJob, ThreadPoolAllocator, 0) - QuickSortJob(int* array, int left, int right, JobContext* context = NULL) + QuickSortJob(int* array, int left, int right, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_left(left) diff --git a/Code/Framework/AzCore/Tests/Math/IntersectionTests.cpp b/Code/Framework/AzCore/Tests/Math/IntersectionTests.cpp index 5bebe5e4f2..e8a52f8fba 100644 --- a/Code/Framework/AzCore/Tests/Math/IntersectionTests.cpp +++ b/Code/Framework/AzCore/Tests/Math/IntersectionTests.cpp @@ -609,6 +609,21 @@ namespace UnitTest EXPECT_EQ(hits, 0); } + // replicates a scenario in the Editor using a cone and a pick ray which should have failed but passed + // note: To replicate this, select an entity so the default translation manipulator appears, move very close to the + // entity, hover the mouse over one of the manipulator linear manipulator arrows (cone part) and move the mouse away + // notice the manipulator will remain highlighted as a successful intersection is still reported + TEST(MATH_IntersectRayConeTestEditor, DISABLED_RayConeEditorScenarioTest) + { + auto rayOrigin = Vector3(0.0f, -0.808944702f, 0.0f); + auto rayDir = Vector3(0.301363617f, 0.939044654f, 0.165454566f); + float t1 = 0.0f; + float t2 = 0.0f; + int hits = Intersect::IntersectRayCone( + rayOrigin, rayDir, AZ::Vector3(0.0f, 0.0f, 0.161788940f), AZ::Vector3(0.0f, 0.0f, -1.0f), 0.0453009047, 0.0113252262, t1, t2); + EXPECT_EQ(hits, 0); + } + class MATH_IntersectRayQuadTest : public AllocatorsFixture { diff --git a/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp b/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp index e4314f9cfb..9aed29005d 100644 --- a/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp +++ b/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp @@ -22,7 +22,7 @@ namespace Benchmark : public benchmark::Fixture { public: - void SetUp([[maybe_unused]] const::benchmark::State& state) + void SetUp([[maybe_unused]] const::benchmark::State& state) override { m_testDataArray.resize(1000); diff --git a/Code/Framework/AzCore/Tests/Memory.cpp b/Code/Framework/AzCore/Tests/Memory.cpp index ea6495755e..611af827d2 100644 --- a/Code/Framework/AzCore/Tests/Memory.cpp +++ b/Code/Framework/AzCore/Tests/Memory.cpp @@ -90,7 +90,7 @@ namespace UnitTest #else static const int numAllocations = 10000; #endif - void* addresses[numAllocations] = {0}; + void* addresses[numAllocations] = {nullptr}; IAllocatorAllocate& sysAlloc = AllocatorInstance::Get(); @@ -242,7 +242,7 @@ namespace UnitTest ////////////////////////////////////////////////////////////////////////// // realloc test - address[0] = NULL; + address[0] = nullptr; static const unsigned int checkValue = 0x0badbabe; // create tree (non pool) allocation (we usually pool < 256 bytes) address[0] = sysAlloc.Allocate(2048, 16); @@ -372,7 +372,7 @@ namespace UnitTest poolAllocator.GetRecords()->unlock(); } - for (i = 0; address[i] != 0; ++i) + for (i = 0; address[i] != nullptr; ++i) { poolAlloc.DeAllocate(address[i]); } @@ -544,7 +544,7 @@ namespace UnitTest #else static const int numAllocations = 10000; #endif - void* addresses[numAllocations] = {0}; + void* addresses[numAllocations] = {nullptr}; IAllocatorAllocate& poolAlloc = AllocatorInstance::Get(); @@ -665,7 +665,7 @@ namespace UnitTest poolAllocator.GetRecords()->unlock(); } - for (int i = 0; address[i] != 0; ++i) + for (int i = 0; address[i] != nullptr; ++i) { poolAlloc.DeAllocate(address[i]); } @@ -820,7 +820,7 @@ namespace UnitTest AllocatorInstance::Create(sysDesc); BestFitExternalMapAllocator::Descriptor desc; - desc.m_mapAllocator = NULL; // use the system allocator + desc.m_mapAllocator = nullptr; // use the system allocator desc.m_memoryBlockByteSize = 4 * 1024 * 1024; desc.m_memoryBlock = azmalloc(desc.m_memoryBlockByteSize, desc.m_memoryBlockAlignment); diff --git a/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp b/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp index cb2b32e212..aaf4ce1811 100644 --- a/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp +++ b/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp @@ -121,13 +121,13 @@ namespace Benchmark : public ::benchmark::Fixture { public: - void SetUp(const ::benchmark::State& state) + void SetUp(const ::benchmark::State& state) override { AZ_UNUSED(state); AZ::AllocatorInstance::Create(); } - void TearDown(const ::benchmark::State& state) + void TearDown(const ::benchmark::State& state) override { AZ_UNUSED(state); AZ::AllocatorInstance::Destroy(); diff --git a/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp b/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp index 2bca8b5970..7801059535 100644 --- a/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp @@ -28,12 +28,12 @@ namespace JsonSerializationTests AZ::NameDictionary::Destroy(); } - void Reflect(AZStd::unique_ptr& context) + void Reflect(AZStd::unique_ptr& context) override { AZ::Name::Reflect(context.get()); } - void Reflect(AZStd::unique_ptr& context) + void Reflect(AZStd::unique_ptr& context) override { AZ::Name::Reflect(context.get()); } diff --git a/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp b/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp index 7cada35d19..25b2007bea 100644 --- a/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp +++ b/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp @@ -74,7 +74,7 @@ namespace Benchmark { public: EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplEmpty() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void OnSignal(int32_t) override {} }; @@ -94,7 +94,7 @@ namespace Benchmark { public: EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplIncrement() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void SetIncrementCounter(int32_t* incrementCounter) { m_incrementCounter = incrementCounter; } void OnSignal(int32_t) override { ++(*m_incrementCounter); } int32_t* m_incrementCounter; diff --git a/Code/Framework/AzCore/Tests/Script.cpp b/Code/Framework/AzCore/Tests/Script.cpp index e0301f8974..336e4e5dd0 100644 --- a/Code/Framework/AzCore/Tests/Script.cpp +++ b/Code/Framework/AzCore/Tests/Script.cpp @@ -1382,7 +1382,7 @@ namespace UnitTest static int s_errorCount = 0; IncompleteType* s_globalIncompletePtr = static_cast(AZ_INVALID_POINTER); - IncompleteType* s_globalIncompletePtr1 = 0; + IncompleteType* s_globalIncompletePtr1 = nullptr; void GlobalVarSet(int v) { @@ -2234,7 +2234,7 @@ namespace UnitTest // incomplete types passed by a light-user data (pointer reference) AZ_TEST_ASSERT(s_globalIncompletePtr == reinterpret_cast(AZ_INVALID_POINTER)); - AZ_TEST_ASSERT(s_globalIncompletePtr1 == 0); + AZ_TEST_ASSERT(s_globalIncompletePtr1 == nullptr); script.Execute("globalIncomplete1 = globalIncomplete"); AZ_TEST_ASSERT(s_globalIncompletePtr1 == s_globalIncompletePtr); @@ -3157,7 +3157,7 @@ namespace UnitTest char stackOutput[2048]; debugContext->StackTrace(stackOutput, AZ_ARRAY_SIZE(stackOutput)); AZ_Printf("Script", "%s", stackOutput); - AZ_TEST_ASSERT(strstr(stackOutput, "GlobalFunction") != 0); + AZ_TEST_ASSERT(strstr(stackOutput, "GlobalFunction") != nullptr); AZ_TEST_ASSERT(breakpoint->m_lineNumber == 20); } else if (m_numBreakpointHits == 2) @@ -3193,7 +3193,7 @@ namespace UnitTest char stackOutput[2048]; debugContext->StackTrace(stackOutput, AZ_ARRAY_SIZE(stackOutput)); AZ_Printf("Script", "%s", stackOutput); - AZ_TEST_ASSERT(strstr(stackOutput, "GlobalMult") != 0); + AZ_TEST_ASSERT(strstr(stackOutput, "GlobalMult") != nullptr); AZ_TEST_ASSERT(breakpoint->m_lineNumber == 23); } diff --git a/Code/Framework/AzCore/Tests/Serialization.cpp b/Code/Framework/AzCore/Tests/Serialization.cpp index 9ff2925472..e554945b55 100644 --- a/Code/Framework/AzCore/Tests/Serialization.cpp +++ b/Code/Framework/AzCore/Tests/Serialization.cpp @@ -2231,7 +2231,7 @@ TEST_F(SerializeBasicTest, BasicTypeTest_Succeed) (void)classId; DeprecationTestClass* obj = reinterpret_cast(classPtr); EXPECT_EQ( 0, obj->m_deprecated.m_data ); - EXPECT_EQ( NULL, obj->m_deprecatedPtr ); + EXPECT_EQ( nullptr, obj->m_deprecatedPtr ); EXPECT_EQ( 0, obj->m_oldClassData ); EXPECT_EQ( 0.f, obj->m_newClassData ); EXPECT_EQ( 0, obj->m_missingMember ); @@ -4057,7 +4057,7 @@ namespace UnitTest if (strcmp(classData->m_name, "MyEditStruct") == 0) { - EXPECT_TRUE(classData->m_editData != NULL); + EXPECT_TRUE(classData->m_editData != nullptr); EXPECT_EQ( 0, strcmp(classData->m_editData->m_name, "MyEditStruct") ); EXPECT_EQ( 0, strcmp(classData->m_editData->m_description, "My edit struct class used for ...") ); EXPECT_EQ( 2, classData->m_editData->m_elements.size() ); @@ -4071,12 +4071,12 @@ namespace UnitTest // Number of options attribute EXPECT_EQ(classElement->m_editData->m_attributes[0].first, AZ_CRC("NumOptions", 0x90274abc)); Edit::AttributeData* intData = azrtti_cast*>(classElement->m_editData->m_attributes[0].second); - EXPECT_TRUE(intData != NULL); + EXPECT_TRUE(intData != nullptr); EXPECT_EQ( 3, intData->Get(instance) ); // Get options attribute EXPECT_EQ( classElement->m_editData->m_attributes[1].first, AZ_CRC("Options", 0xd035fa87)); Edit::AttributeFunction* funcData = azrtti_cast*>(classElement->m_editData->m_attributes[1].second); - EXPECT_TRUE(funcData != NULL); + EXPECT_TRUE(funcData != nullptr); EXPECT_EQ( 20, funcData->Invoke(instance, 10) ); } return true; diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp index 4dc74779f2..e410ba9ca4 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp @@ -58,7 +58,7 @@ namespace JsonSerializationTests return array; } - AZStd::shared_ptr CreatePartialDefaultInstance() + AZStd::shared_ptr CreatePartialDefaultInstance() override { auto array = AZStd::make_shared(); (*array)[0] = 10; @@ -128,7 +128,7 @@ namespace JsonSerializationTests return array; } - AZStd::shared_ptr CreatePartialDefaultInstance() + AZStd::shared_ptr CreatePartialDefaultInstance() override { auto partialInstance = aznew MultipleInheritence(); partialInstance->m_var1 = 142; diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp index 41b17f9ade..4979df04be 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp @@ -169,7 +169,7 @@ namespace JsonSerializationTests return AZStd::shared_ptr(new Map{}, &Delete); } - AZStd::shared_ptr CreatePartialDefaultInstance() + AZStd::shared_ptr CreatePartialDefaultInstance() override { auto instance = AZStd::shared_ptr(new Map{}, &Delete); instance->emplace(AZStd::make_pair(aznew SimpleClass(), aznew SimpleClass(188, 188.0))); diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp index a2a3d42ebb..af6dedb51b 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp @@ -33,7 +33,7 @@ namespace JsonSerializationTests return AZStd::make_shared("Hello"); } - AZStd::string_view GetJsonForFullySetInstance() + AZStd::string_view GetJsonForFullySetInstance() override { return R"("Hello")"; } @@ -48,7 +48,7 @@ namespace JsonSerializationTests features.m_supportsInjection = false; } - bool AreEqual(const String& lhs, const String& rhs) + bool AreEqual(const String& lhs, const String& rhs) override { return lhs.compare(rhs) == 0; } diff --git a/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp b/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp index 5b18faa3d1..6bcd57f849 100644 --- a/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp +++ b/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp @@ -147,7 +147,7 @@ namespace SettingsRegistryConsoleUtilsTests struct SettingsRegistryDumpCommandHandler : public AZ::Debug::TraceMessageBus::Handler { - bool OnOutput(const char* window, const char* message) + bool OnOutput(const char* window, const char* message) override { if (window == AZStd::string_view("SettingsRegistry")) { @@ -218,7 +218,7 @@ namespace SettingsRegistryConsoleUtilsTests , m_expectedValue2{ expectedValue2 } { } - bool OnOutput(const char* window, const char* message) + bool OnOutput(const char* window, const char* message) override { if (window == AZStd::string_view("SettingsRegistry")) { diff --git a/Code/Framework/AzCore/Tests/Statistics.cpp b/Code/Framework/AzCore/Tests/Statistics.cpp index 941c2eff0b..4577618d5a 100644 --- a/Code/Framework/AzCore/Tests/Statistics.cpp +++ b/Code/Framework/AzCore/Tests/Statistics.cpp @@ -40,7 +40,7 @@ namespace UnitTest } } - ~StatisticsTest() + ~StatisticsTest() override { } diff --git a/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp b/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp index f770af57be..3a107da61d 100644 --- a/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp +++ b/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp @@ -184,7 +184,7 @@ namespace AZ::IO size = size >> 2; for (u64 i = 0; i < size; ++i) { - // Using assert here because in case of a problem EXPECT would + // Using assert here because in case of a problem EXPECT would // cause a large amount of log noise. ASSERT_EQ(buffer[i], offset + (i << 2)); } @@ -203,7 +203,9 @@ namespace AZ::IO { do { - while (m_context->FinalizeCompletedRequests()); + while (m_context->FinalizeCompletedRequests()) + { + } } while (m_cache->ExecuteRequests()); } @@ -269,7 +271,7 @@ namespace AZ::IO RedirectReadCalls(); EXPECT_CALL(*this, ReadFile(_, _, 0, m_fakeFileLength)); - + ProcessRead(m_buffer, m_path, 0, m_fakeFileLength, IStreamerTypes::RequestStatus::Completed); VerifyReadBuffer(0, m_fakeFileLength); } @@ -519,8 +521,8 @@ namespace AZ::IO using ::testing::_; using ::testing::Return; - CreateTestEnvironment(); - + CreateTestEnvironment(); + EXPECT_CALL(*m_mock, ExecuteRequests()) .WillOnce(Return(true)) .WillRepeatedly(Return(false)); @@ -553,7 +555,7 @@ namespace AZ::IO RunProcessLoop(); EXPECT_TRUE(allRequestsCompleted); - + VerifyReadBuffer(256, m_fakeFileLength - 512); VerifyReadBuffer(buffer1, m_fakeFileLength - 768, secondReadSize); } @@ -622,7 +624,7 @@ namespace AZ::IO m_fakeFileFound = false; m_fakeFileLength = 0; - + ProcessRead(m_buffer, m_path, 0, m_blockSize, IStreamerTypes::RequestStatus::Failed); } @@ -650,18 +652,18 @@ namespace AZ::IO status.m_isIdle = false; })); EXPECT_CALL(*this, ReadFile(_, _, _, _)).Times(count); - + constexpr size_t scratchBufferSize = 128_kib; using ScratchBuffer = char[scratchBufferSize]; ScratchBuffer buffers[count]; - + bool allRequestsCompleted = true; auto completed = [&allRequestsCompleted](const FileRequest& request) { // Capture result before request is recycled. allRequestsCompleted = allRequestsCompleted && request.GetStatus() == IStreamerTypes::RequestStatus::Completed; }; - + for (size_t i = 0; i < count; ++i) { StreamStackEntry::Status status; @@ -738,7 +740,7 @@ namespace AZ::IO RedirectReadCalls(); EXPECT_CALL(*this, ReadFile(_, _, 256, m_fakeFileLength - 256)); - + ProcessRead(m_buffer, m_path, 256, m_fakeFileLength - 256, IStreamerTypes::RequestStatus::Completed); VerifyReadBuffer(256, m_fakeFileLength - 256); } @@ -1062,7 +1064,7 @@ namespace AZ::IO .WillRepeatedly(Return(false)); EXPECT_CALL(*m_mock, QueueRequest(_)) .WillRepeatedly(Invoke(this, &BlockCacheTest::QueueReadRequest)); - + size_t firstReadSize = m_fakeFileLength - (2 * m_blockSize) - 512; FileRequest* request0 = m_context->GetNewInternalRequest(); request0->CreateRead(nullptr, m_buffer, m_bufferSize, m_path, 256, firstReadSize); @@ -1097,7 +1099,7 @@ namespace AZ::IO VerifyReadBuffer(buffer1.get(), secondReadOffset, secondReadSize); } - + @@ -1146,7 +1148,7 @@ namespace AZ::IO FileRequest* request = m_context->GetNewInternalRequest(); request->CreateFlush(m_path); RunAndCompleteRequest(request, IStreamerTypes::RequestStatus::Completed); - + // The partial read would normally be serviced from the cache, but now triggers another read. EXPECT_CALL(*this, ReadFile(_, _, _, _)).Times(1); ProcessRead(m_buffer, m_path, 512, m_blockSize - 1024, IStreamerTypes::RequestStatus::Completed); @@ -1170,7 +1172,7 @@ namespace AZ::IO FileRequest* request = m_context->GetNewInternalRequest(); request->CreateFlushAll(); RunAndCompleteRequest(request, IStreamerTypes::RequestStatus::Completed); - + // The partial read would normally be serviced from the cache, but now triggers another read. EXPECT_CALL(*this, ReadFile(_, _, _, _)).Times(1); ProcessRead(m_buffer, m_path, 512, m_blockSize - 1024, IStreamerTypes::RequestStatus::Completed); diff --git a/Code/Framework/AzCore/Tests/StringFunc.cpp b/Code/Framework/AzCore/Tests/StringFunc.cpp index 2b6f19736a..68821ba3f9 100644 --- a/Code/Framework/AzCore/Tests/StringFunc.cpp +++ b/Code/Framework/AzCore/Tests/StringFunc.cpp @@ -966,7 +966,7 @@ namespace AZ { public: StringPathFuncTest() = default; - virtual ~StringPathFuncTest() = default; + ~StringPathFuncTest() override = default; }; diff --git a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp index 8688f6b878..ce0cc23a4e 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp +++ b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp @@ -374,8 +374,8 @@ namespace AZ::IO { public: AZ_CLASS_ALLOCATOR(CResourceList, AZ::SystemAllocator, 0); - CResourceList() { m_iter = m_set.end(); }; - ~CResourceList() {}; + CResourceList() { m_iter = m_set.end(); } + ~CResourceList() override {} void Add(AZStd::string_view sResourceFile) override { @@ -2571,7 +2571,7 @@ namespace AZ::IO return aznumeric_cast(pFileEntry->nFileDataOffset); } - EStreamSourceMediaType Archive::GetFileMediaType(AZStd::string_view szName) const + EStreamSourceMediaType Archive::GetFileMediaType(AZStd::string_view szName) const { auto szFullPath = AZ::IO::FileIOBase::GetDirectInstance()->ResolvePath(szName); if (!szFullPath) diff --git a/Code/Framework/AzFramework/AzFramework/Asset/AssetCatalog.cpp b/Code/Framework/AzFramework/AzFramework/Asset/AssetCatalog.cpp index 3411c06f28..9b1946701c 100644 --- a/Code/Framework/AzFramework/AzFramework/Asset/AssetCatalog.cpp +++ b/Code/Framework/AzFramework/AzFramework/Asset/AssetCatalog.cpp @@ -987,7 +987,7 @@ namespace AzFramework void AssetCatalog::AddCatalogEntry(AZStd::shared_ptr deltaCatalog) { AZStd::lock_guard lock(m_deltaCatalogMutex); -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) +#if !defined(_RELEASE) for (const auto& thisElement : m_deltaCatalogList) { if (thisElement == deltaCatalog) @@ -1010,7 +1010,7 @@ namespace AzFramework AZ_Warning("AssetCatalog", false, "Catalog name %p can't be inserted at slot %u", deltaCatalog.get(), catalogIndex); return; } -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) +#if !defined(_RELEASE) for (const auto& thisElement : m_deltaCatalogList) { if (thisElement == deltaCatalog) diff --git a/Code/Framework/AzFramework/AzFramework/Entity/EntityDebugDisplayBus.h b/Code/Framework/AzFramework/AzFramework/Entity/EntityDebugDisplayBus.h index fddaddf303..68af9dbb26 100644 --- a/Code/Framework/AzFramework/AzFramework/Entity/EntityDebugDisplayBus.h +++ b/Code/Framework/AzFramework/AzFramework/Entity/EntityDebugDisplayBus.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -100,6 +101,8 @@ namespace AzFramework virtual AZ::u32 SetState(AZ::u32 state) { (void)state; return 0; } virtual void PushMatrix(const AZ::Transform& tm) { (void)tm; } virtual void PopMatrix() {} + virtual void PushPremultipliedMatrix(const AZ::Matrix3x4& matrix) { (void)matrix; } + virtual AZ::Matrix3x4 PopPremultipliedMatrix() { return AZ::Matrix3x4::CreateIdentity(); } protected: ~DebugDisplayRequests() = default; diff --git a/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp b/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp index db36a91448..9703e4a993 100644 --- a/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp +++ b/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp @@ -114,7 +114,7 @@ namespace AZ AZ_Warning("AZ::IO::SmartMove", false, "Unable to move/copy the source file (%s)", sourceFilePath); if (destFileMoved) { - // if we were unable to move/copy the source file to the dest file, + // if we were unable to move/copy the source file to the dest file, // we will try to revert back the destination file from the temp file. if (!fileIO->Rename(tmpDestFile.c_str(), destinationFilePath)) { @@ -124,7 +124,7 @@ namespace AZ return ResultCode::Error; } - // removing the source file if copy succeeds + // removing the source file if copy succeeds if (!fileIO->Remove(sourceFilePath)) { AZ_Warning("AZ::IO::SmartMove", false, "Unable to delete the source file (%s)", sourceFilePath); @@ -140,7 +140,7 @@ namespace AZ return ResultCode::Error; } } - + return ResultCode::Success; } @@ -158,7 +158,7 @@ namespace AZ const int s_MaxCreateTempFileTries = 16; AZStd::string fullPath, fileName; tempFile.clear(); - + if (!AzFramework::StringFunc::Path::GetFullPath(file, fullPath)) { AZ_Warning("AZ::IO::CreateTempFileName", false, " Filepath needs to be an absolute path: '%s'", file); @@ -170,7 +170,7 @@ namespace AZ AZ_Warning("AZ::IO::CreateTempFileName", false, " Filepath needs to be an absolute path: '%s'", file); return false; } - + for (int idx = 0; idx < s_MaxCreateTempFileTries; idx++) { AzFramework::StringFunc::Path::ConstructFull(fullPath.c_str(), AZStd::string::format("$tmp%d_%s", rand(), fileName.c_str()).c_str(), tempFile, true); @@ -235,7 +235,7 @@ namespace AZ fileIO->Read(fileHandle, buffer, bufferSize - 1, false, &bytesRead); if (!bytesRead) { - return 0; + return nullptr; } char* currentPosition = buffer; diff --git a/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp b/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp index f1b4e02b2d..2f44f80eba 100644 --- a/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp +++ b/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp @@ -39,7 +39,7 @@ namespace AzFramework } //////////////////////////////////////////////////////////////////////////////////////////// - void OnInputDeviceDisconnectedEvent(const InputDevice& inputDevice) + void OnInputDeviceDisconnectedEvent(const InputDevice& inputDevice) override { Call(FN_OnInputDeviceDisconnectedEvent, &inputDevice); } diff --git a/Code/Framework/AzFramework/AzFramework/Logging/LogFile.cpp b/Code/Framework/AzFramework/AzFramework/Logging/LogFile.cpp index 506d4a8861..bd9b52fa86 100644 --- a/Code/Framework/AzFramework/AzFramework/Logging/LogFile.cpp +++ b/Code/Framework/AzFramework/AzFramework/Logging/LogFile.cpp @@ -311,7 +311,6 @@ namespace AzFramework // On some platforms, threadid is just a number but on other platforms it is a pointer of some kind // uintptr_t will ensure that the data will always fit uintptr_t threadID = threadId ? threadId : (uintptr_t)(AZStd::this_thread::get_id().m_id); - const char* printFormatter = m_machineReadable ? "~~%p~~%s~~" : "{%p}[%14s]"; // while it may be tempting to check the fileio Pointer here, any emit of any warning or error would be fatal // since we're already logging, and we don't want to log while you log. @@ -331,7 +330,14 @@ namespace AzFramework azsnprintf(buffer, 80, "~~%llu~~%i", rawTime, severity); m_fileIO->Write(m_fileHandle, buffer, strlen(buffer)); - azsnprintf(buffer, 80, printFormatter, threadID, categoryActual); + if (m_machineReadable) // Branching instead of using a ternary on the format string to avoid warning 4774 (format literal expected) + { + azsnprintf(buffer, 80, "~~%p~~%s~~", reinterpret_cast(threadID), categoryActual); + } + else + { + azsnprintf(buffer, 80, "{%p}[%14s]", reinterpret_cast(threadID), categoryActual); + } m_fileIO->Write(m_fileHandle, buffer, strlen(buffer)); m_fileIO->Write(m_fileHandle, dataSource, dataLength); @@ -349,8 +355,14 @@ namespace AzFramework { return; } - - azsnprintf(categorybuffer, 64, printFormatter, threadID, categoryActual); + if (m_machineReadable) // Branching instead of using a ternary on the format string to avoid warning 4774 (format literal expected) + { + azsnprintf(categorybuffer, 64, "~~%p~~%s~~", reinterpret_cast(threadID), categoryActual); + } + else + { + azsnprintf(categorybuffer, 64, "{%p}[%14s]", reinterpret_cast(threadID), categoryActual); + } if ((category) && (categoryLen)) { diff --git a/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp b/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp index aa1344fa4f..d5ba65425c 100644 --- a/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp +++ b/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp @@ -101,7 +101,7 @@ namespace AzFramework if (m_logFile) { delete m_logFile; - m_logFile = NULL; + m_logFile = nullptr; } } diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp index 994d93d99e..4ac97cf041 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp @@ -28,7 +28,7 @@ namespace Physics class MaterialLibraryAssetEventHandler : public AZ::SerializeContext::IEventHandler { - void OnReadBegin(void* classPtr) + void OnReadBegin(void* classPtr) override { auto matAsset = static_cast(classPtr); matAsset->GenerateMissingIds(); @@ -38,7 +38,7 @@ namespace Physics class MaterialSelectionEventHandler : public AZ::SerializeContext::IEventHandler { - void OnReadEnd(void* classPtr) + void OnReadEnd(void* classPtr) override { auto materialSelection = static_cast(classPtr); if (materialSelection->GetMaterialIdsAssignedToSlots().empty()) @@ -362,8 +362,8 @@ namespace Physics MaterialId MaterialId::Create() { - MaterialId id; - id.m_id = AZ::Uuid::Create(); + MaterialId id; + id.m_id = AZ::Uuid::Create(); return id; } @@ -425,7 +425,7 @@ namespace Physics } else { - // If there is more than one material slot + // If there is more than one material slot // the caller must use SetMaterialSlots function return ""; } diff --git a/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp b/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp index 06fd8acd79..011d967631 100644 --- a/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp +++ b/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp @@ -174,25 +174,25 @@ namespace AzFramework ScriptDebugAgent() = default; ////////////////////////////////////////////////////////////////////////// // Component base - virtual void Init(); - virtual void Activate(); - virtual void Deactivate(); + void Init() override; + void Activate() override; + void Deactivate() override; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // AZ::SystemTickBus - virtual void OnSystemTick(); + void OnSystemTick() override; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // ScriptDebugAgentBus - virtual void RegisterContext(AZ::ScriptContext* sc, const char* name); - virtual void UnregisterContext(AZ::ScriptContext* sc); + void RegisterContext(AZ::ScriptContext* sc, const char* name) override; + void UnregisterContext(AZ::ScriptContext* sc) override; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // TmMsgBus - virtual void OnReceivedMsg(TmMsgPtr msg); + void OnReceivedMsg(TmMsgPtr msg) override; ////////////////////////////////////////////////////////////////////////// protected: @@ -241,10 +241,10 @@ namespace AzFramework void ScriptDebugAgent::Activate() { m_executionState = SDA_STATE_DETACHED; - m_curContext = NULL; + m_curContext = nullptr; // register default app script context if there is one - AZ::ScriptContext* defaultScriptContext = NULL; + AZ::ScriptContext* defaultScriptContext = nullptr; EBUS_EVENT_RESULT(defaultScriptContext, AZ::ScriptSystemRequestBus, GetContext, AZ::ScriptContextIds::DefaultScriptContextId); if (defaultScriptContext) { @@ -379,7 +379,7 @@ namespace AzFramework AZ_TracePrintf("LUA", "Remote debugger %s has detached from context 0x%p.\n", m_debugger.GetDisplayName(), m_curContext); m_debugger = TargetInfo(); - m_curContext = NULL; + m_curContext = nullptr; m_executionState = SDA_STATE_DETACHED; } //------------------------------------------------------------------------- @@ -435,7 +435,7 @@ namespace AzFramework void ScriptDebugAgent::Process() { // Process messages - AZ::ScriptContextDebug* dbgContext = m_curContext ? m_curContext->GetDebugContext() : NULL; + AZ::ScriptContextDebug* dbgContext = m_curContext ? m_curContext->GetDebugContext() : nullptr; while (!m_msgQueue.empty()) { m_msgMutex.lock(); diff --git a/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp b/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp index c1ce31613c..1c26cbc744 100644 --- a/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp +++ b/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp @@ -562,7 +562,7 @@ namespace AzFramework void TargetManagementComponent::SetMyPersistentName(const char* name) { - AZ_Assert(m_networkImpl->m_session == NULL, "We cannot change our neighborhood while connected!"); + AZ_Assert(m_networkImpl->m_session == nullptr, "We cannot change our neighborhood while connected!"); m_settings->m_persistentName = name; } @@ -585,7 +585,7 @@ namespace AzFramework void TargetManagementComponent::SetNeighborhood(const char* name) { - AZ_Assert(m_networkImpl->m_session == NULL, "We cannot change our neighborhood while connected!"); + AZ_Assert(m_networkImpl->m_session == nullptr, "We cannot change our neighborhood while connected!"); m_settings->m_neighborhoodName = name; } @@ -714,7 +714,7 @@ namespace AzFramework { GridMate::GridMember* member = m_networkImpl->m_session->GetMemberByIndex(i); GridMate::MemberIDCompact memberId = member->GetId().Compact(); - const TargetInfo* target = NULL; + const TargetInfo* target = nullptr; AZ::u32 targetId = 0; for (TargetContainer::const_iterator targetIt = m_availableTargets.begin(); targetIt != m_availableTargets.end(); ++targetIt) { @@ -742,7 +742,7 @@ namespace AzFramework AZ::IO::MemoryStream msgBuffer(m_tmpInboundBuffer.data(), result.m_numBytes, result.m_numBytes); TmMsg* msg = nullptr; AZ::ObjectStream::ClassReadyCB readyCB(AZStd::bind(&TargetManagementComponent::OnMsgParsed, this, &msg, AZStd::placeholders::_1, AZStd::placeholders::_2, AZStd::placeholders::_3)); - AZ::ObjectStream::LoadBlocking(&msgBuffer, *m_serializeContext, readyCB, AZ::ObjectStream::FilterDescriptor(0, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); + AZ::ObjectStream::LoadBlocking(&msgBuffer, *m_serializeContext, readyCB, AZ::ObjectStream::FilterDescriptor(nullptr, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); if (msg) { if (msg->GetCustomBlobSize() > 0) diff --git a/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp b/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp index 89338a355f..18667ac153 100644 --- a/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp +++ b/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp @@ -588,6 +588,12 @@ namespace AzFramework // pass through the camera's position and look vector for use in the lookAt function if (const auto lookAt = lookAtFn(targetCamera.Translation(), targetCamera.Rotation().GetBasisY())) { + // default to internal look at behavior if the look at point matches the camera translation + if (targetCamera.m_lookAt.IsClose(*lookAt)) + { + return false; + } + auto transform = AZ::Transform::CreateLookAt(targetCamera.m_lookAt, *lookAt); nextCamera.m_lookDist = -lookAt->GetDistance(targetCamera.m_lookAt); UpdateCameraFromTransform(nextCamera, transform); diff --git a/Code/Framework/AzFramework/AzFramework/Visibility/BoundsBus.h b/Code/Framework/AzFramework/AzFramework/Visibility/BoundsBus.h index ebd9484c55..7a60d5fdc5 100644 --- a/Code/Framework/AzFramework/AzFramework/Visibility/BoundsBus.h +++ b/Code/Framework/AzFramework/AzFramework/Visibility/BoundsBus.h @@ -45,6 +45,7 @@ namespace AzFramework protected: ~BoundsRequests() = default; }; + using BoundsRequestBus = AZ::EBus; //! Returns a union of all local Aabbs provided by components implementing the BoundsRequestBus. diff --git a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp index eb4165453e..407e256052 100644 --- a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp +++ b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp @@ -24,7 +24,7 @@ namespace AzFramework LinuxXcbConnectionManagerBus::Handler::BusConnect(); } - ~LinuxXcbConnectionManagerImpl() + ~LinuxXcbConnectionManagerImpl() override { LinuxXcbConnectionManagerBus::Handler::BusDisconnect(); xcb_disconnect(m_xcbConnection); diff --git a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp index 0249a42976..f8cc26b19b 100644 --- a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp +++ b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp @@ -78,7 +78,7 @@ namespace AzFramework FD_ZERO(&set); FD_SET(handle->GetHandle(), &set); - [[maybe_unused]] int numReady = select(handle->GetHandle() + 1, &set, NULL, NULL, NULL); + [[maybe_unused]] int numReady = select(handle->GetHandle() + 1, &set, nullptr, nullptr, nullptr); // if numReady == -1 and errno == EINTR then the child process died unexpectedly and // the handle was closed. Not something to assert about in regards to trying to read diff --git a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp index eb60b8e6ae..2d29fac73d 100644 --- a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp +++ b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp @@ -277,7 +277,7 @@ namespace AzFramework environmentVariables[i][0] = '\0'; azstrcat(environmentVariables[i], envVarString.size(), envVarString.c_str()); } - environmentVariables[numEnvironmentVars] = NULL; + environmentVariables[numEnvironmentVars] = nullptr; } pid_t child_pid = fork(); @@ -373,7 +373,7 @@ namespace AzFramework } bool isProcessDone = false; - time_t startTime = time(0); + time_t startTime = time(nullptr); time_t currentTime = startTime; AZ_Assert(currentTime != -1, "time(0) returned an invalid time"); while (((currentTime - startTime) < waitTimeInSeconds) && !isProcessDone) @@ -385,7 +385,7 @@ namespace AzFramework m_pWatcherData->m_childProcessIsDone = true; break; } - currentTime = time(0); + currentTime = time(nullptr); } //returns false if process is still running after time return isProcessDone; diff --git a/Code/Framework/AzFramework/Tests/ArchiveTests.cpp b/Code/Framework/AzFramework/Tests/ArchiveTests.cpp index 2caaf6ee71..6a359e714c 100644 --- a/Code/Framework/AzFramework/Tests/ArchiveTests.cpp +++ b/Code/Framework/AzFramework/Tests/ArchiveTests.cpp @@ -570,7 +570,7 @@ namespace UnitTest EXPECT_TRUE(found_mylevel_folder); numFound = 0; - found_mylevel_folder = 0; + found_mylevel_folder = false; // now make sure no red herrings appear // for example, if a file is mounted at "@assets@\\uniquename\\mylevel2\\mylevel3\\mylevel4" diff --git a/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp b/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp index f42a0faeee..3c860a88dd 100644 --- a/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp +++ b/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp @@ -29,7 +29,7 @@ public: void Activate() override {} void Deactivate() override {} - bool ReadInConfig(const AZ::ComponentConfig* baseConfig) + bool ReadInConfig(const AZ::ComponentConfig* baseConfig) override { if (auto config = azrtti_cast(baseConfig)) { @@ -39,7 +39,7 @@ public: return false; } - bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const + bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const override { if (auto outConfig = azrtti_cast(outBaseConfig)) { diff --git a/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp b/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp index b4d4ff63b0..a1ebdfd945 100644 --- a/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp +++ b/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp @@ -46,7 +46,7 @@ namespace UnitTest AllocatorsFixture::TearDown(); } - virtual ~Base64Test() + ~Base64Test() override { } diff --git a/Code/Framework/AzFramework/Tests/CameraInputTests.cpp b/Code/Framework/AzFramework/Tests/CameraInputTests.cpp index 486cca2af0..df7d22f7ca 100644 --- a/Code/Framework/AzFramework/Tests/CameraInputTests.cpp +++ b/Code/Framework/AzFramework/Tests/CameraInputTests.cpp @@ -6,6 +6,7 @@ * */ +#include #include #include #include @@ -47,18 +48,17 @@ namespace UnitTest m_firstPersonTranslateCamera = AZStd::make_shared(AzFramework::LookTranslation, m_translateCameraInputChannelIds); - auto orbitCamera = - AZStd::make_shared(AzFramework::InputChannelId("keyboard_key_modifier_alt_l")); + m_orbitCamera = AZStd::make_shared(m_orbitChannelId); auto orbitRotateCamera = AZStd::make_shared(AzFramework::InputDeviceMouse::Button::Left); auto orbitTranslateCamera = AZStd::make_shared(AzFramework::OrbitTranslation, m_translateCameraInputChannelIds); - orbitCamera->m_orbitCameras.AddCamera(orbitRotateCamera); - orbitCamera->m_orbitCameras.AddCamera(orbitTranslateCamera); + m_orbitCamera->m_orbitCameras.AddCamera(orbitRotateCamera); + m_orbitCamera->m_orbitCameras.AddCamera(orbitTranslateCamera); m_cameraSystem->m_cameras.AddCamera(m_firstPersonRotateCamera); m_cameraSystem->m_cameras.AddCamera(m_firstPersonTranslateCamera); - m_cameraSystem->m_cameras.AddCamera(orbitCamera); + m_cameraSystem->m_cameras.AddCamera(m_orbitCamera); // these tests rely on using motion delta, not cursor positions (default is true) AzFramework::ed_cameraSystemUseCursor = false; @@ -68,6 +68,7 @@ namespace UnitTest { AzFramework::ed_cameraSystemUseCursor = true; + m_orbitCamera.reset(); m_firstPersonRotateCamera.reset(); m_firstPersonTranslateCamera.reset(); @@ -77,12 +78,14 @@ namespace UnitTest AllocatorsTestFixture::TearDown(); } + AzFramework::InputChannelId m_orbitChannelId = AzFramework::InputChannelId("keyboard_key_modifier_alt_l"); AzFramework::TranslateCameraInputChannelIds m_translateCameraInputChannelIds; AZStd::shared_ptr m_firstPersonRotateCamera; AZStd::shared_ptr m_firstPersonTranslateCamera; + AZStd::shared_ptr m_orbitCamera; }; - TEST_F(CameraInputFixture, Begin_and_end_OrbitCameraInput_consumes_correct_events) + TEST_F(CameraInputFixture, BeginAndEndOrbitCameraInputConsumesCorrectEvents) { // begin orbit camera const bool consumed1 = HandleEventAndUpdate(AzFramework::DiscreteInputEvent{ AzFramework::InputDeviceKeyboard::Key::ModifierAltL, @@ -102,7 +105,7 @@ namespace UnitTest EXPECT_THAT(allConsumed, ElementsAre(true, false, true, false)); } - TEST_F(CameraInputFixture, Begin_CameraInput_notifies_ActivationBeganFn_for_TranslateCameraInput) + TEST_F(CameraInputFixture, BeginCameraInputNotifiesActivationBeganFnForTranslateCameraInput) { bool activationBegan = false; m_firstPersonTranslateCamera->SetActivationBeganFn( @@ -111,13 +114,13 @@ namespace UnitTest activationBegan = true; }); - HandleEventAndUpdate( - AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, AzFramework::InputChannel::State::Began }); + HandleEventAndUpdate(AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, + AzFramework::InputChannel::State::Began }); EXPECT_TRUE(activationBegan); } - TEST_F(CameraInputFixture, Begin_CameraInput_notifies_ActivationBeganFn_after_delta_for_RotateCameraInput) + TEST_F(CameraInputFixture, BeginCameraInputNotifiesActivationBeganFnAfterDeltaForRotateCameraInput) { bool activationBegan = false; m_firstPersonRotateCamera->SetActivationBeganFn( @@ -133,7 +136,7 @@ namespace UnitTest EXPECT_TRUE(activationBegan); } - TEST_F(CameraInputFixture, Begin_CameraInput_does_not_notify_ActivationBeganFn_with_no_delta_for_RotateCameraInput) + TEST_F(CameraInputFixture, BeginCameraInputDoesNotNotifyActivationBeganFnWithNoDeltaForRotateCameraInput) { bool activationBegan = false; m_firstPersonRotateCamera->SetActivationBeganFn( @@ -148,7 +151,7 @@ namespace UnitTest EXPECT_FALSE(activationBegan); } - TEST_F(CameraInputFixture, End_CameraInput_notifies_ActivationEndFn_after_delta_for_RotateCameraInput) + TEST_F(CameraInputFixture, EndCameraInputNotifiesActivationEndFnAfterDeltaForRotateCameraInput) { bool activationEnded = false; m_firstPersonRotateCamera->SetActivationEndedFn( @@ -166,7 +169,7 @@ namespace UnitTest EXPECT_TRUE(activationEnded); } - TEST_F(CameraInputFixture, End_CameraInput_does_not_notify_ActivationBeganFn_or_ActivationBeganFn_with_no_delta_for_RotateCameraInput) + TEST_F(CameraInputFixture, EndCameraInputDoesNotNotifyActivationBeganFnOrActivationBeganFnWithNoDeltaForRotateCameraInput) { bool activationBegan = false; m_firstPersonRotateCamera->SetActivationBeganFn( @@ -191,7 +194,7 @@ namespace UnitTest EXPECT_FALSE(activationEnded); } - TEST_F(CameraInputFixture, End_CameraInput_notifies_ActivationBeganFn_or_ActivationEndFn_with_TranslateCamera) + TEST_F(CameraInputFixture, End_CameraInputNotifiesActivationBeganFnOrActivationEndFnWithTranslateCamera) { bool activationBegan = false; m_firstPersonTranslateCamera->SetActivationBeganFn( @@ -207,16 +210,16 @@ namespace UnitTest activationEnded = true; }); - HandleEventAndUpdate( - AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, AzFramework::InputChannel::State::Began }); - HandleEventAndUpdate( - AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, AzFramework::InputChannel::State::Ended }); + HandleEventAndUpdate(AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, + AzFramework::InputChannel::State::Began }); + HandleEventAndUpdate(AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, + AzFramework::InputChannel::State::Ended }); EXPECT_TRUE(activationBegan); EXPECT_TRUE(activationEnded); } - TEST_F(CameraInputFixture, End_activation_called_for_CameraInput_if_active_when_cameras_are_cleared) + TEST_F(CameraInputFixture, EndActivationCalledForCameraInputIfActiveWhenCamerasAreCleared) { bool activationEnded = false; m_firstPersonTranslateCamera->SetActivationEndedFn( @@ -225,11 +228,37 @@ namespace UnitTest activationEnded = true; }); - HandleEventAndUpdate( - AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, AzFramework::InputChannel::State::Began }); + HandleEventAndUpdate(AzFramework::DiscreteInputEvent{ m_translateCameraInputChannelIds.m_forwardChannelId, + AzFramework::InputChannel::State::Began }); m_cameraSystem->m_cameras.Clear(); EXPECT_TRUE(activationEnded); } + + TEST_F(CameraInputFixture, OrbitCameraInputHandlesLookAtPointAndSelfAtSamePositionWhenOrbiting) + { + // create pathological lookAtFn that just returns the same position as the camera + m_orbitCamera->SetLookAtFn( + [](const AZ::Vector3& position, [[maybe_unused]] const AZ::Vector3& direction) + { + return position; + }); + + AzFramework::UpdateCameraFromTransform( + m_targetCamera, + AZ::Transform::CreateFromQuaternionAndTranslation( + AZ::Quaternion::CreateFromEulerAnglesDegrees(AZ::Vector3(0.0f, 0.0f, 90.0f)), AZ::Vector3(10.0f, 10.0f, 10.0f))); + + m_camera = m_targetCamera; + + HandleEventAndUpdate(AzFramework::DiscreteInputEvent{ m_orbitChannelId, AzFramework::InputChannel::State::Began }); + + // verify the camera yaw has not changed and the look at point + // does not match that of the camera translation + using ::testing::Eq; + using ::testing::Not; + EXPECT_THAT(m_camera.m_yaw, Eq(AZ::DegToRad(90.0f))); + EXPECT_THAT(m_camera.m_lookAt, Not(IsClose(m_camera.Translation()))); + } } // namespace UnitTest diff --git a/Code/Framework/AzFramework/Tests/EntityContext.cpp b/Code/Framework/AzFramework/Tests/EntityContext.cpp index cb957fa46c..74a4948e04 100644 --- a/Code/Framework/AzFramework/Tests/EntityContext.cpp +++ b/Code/Framework/AzFramework/Tests/EntityContext.cpp @@ -41,7 +41,7 @@ namespace UnitTest Data::AssetManager::Create(desc); } - virtual ~EntityContextBasicTest() + ~EntityContextBasicTest() override { } diff --git a/Code/Framework/AzFramework/Tests/FileIO.cpp b/Code/Framework/AzFramework/Tests/FileIO.cpp index 7a01ba991b..fb95512968 100644 --- a/Code/Framework/AzFramework/Tests/FileIO.cpp +++ b/Code/Framework/AzFramework/Tests/FileIO.cpp @@ -118,7 +118,7 @@ namespace UnitTest AZ::IO::FileIOBase::SetInstance(&m_fileIO); } - ~FileIOStreamTest() + ~FileIOStreamTest() override { } @@ -341,7 +341,7 @@ namespace UnitTest AZ_TEST_ASSERT(!local.Eof(fileHandle)); AZ_TEST_ASSERT(!local.Flush(fileHandle)); AZ_TEST_ASSERT(!local.ModificationTime(fileHandle)); - AZ_TEST_ASSERT(!local.Read(fileHandle, 0, 0, false)); + AZ_TEST_ASSERT(!local.Read(fileHandle, nullptr, 0, false)); AZ_TEST_ASSERT(!local.Tell(fileHandle, fs)); AZ_TEST_ASSERT(!local.Exists((file01Name + "notexist").c_str())); diff --git a/Code/Framework/AzFramework/Tests/NativeWindow.cpp b/Code/Framework/AzFramework/Tests/NativeWindow.cpp index 9554b6ab10..f160d88003 100644 --- a/Code/Framework/AzFramework/Tests/NativeWindow.cpp +++ b/Code/Framework/AzFramework/Tests/NativeWindow.cpp @@ -27,19 +27,19 @@ namespace UnitTest AzFramework::WindowNotificationBus::Handler::BusConnect(m_windowHandle); } - ~NativeWindowListener() + ~NativeWindowListener() override { AzFramework::WindowNotificationBus::Handler::BusDisconnect(m_windowHandle); } // WindowNotificationBus::Handler overrides... - void OnWindowResized(uint32_t width, uint32_t height) + void OnWindowResized(uint32_t width, uint32_t height) override { AZ_UNUSED(width); AZ_UNUSED(height); m_wasOnWindowResizedReceived = true; } - void OnWindowClosed() + void OnWindowClosed() override { m_wasOnWindowClosedReceived = true; } diff --git a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ActionDispatcher.h b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ActionDispatcher.h index 11ed31e864..6ae09340e3 100644 --- a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ActionDispatcher.h +++ b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ActionDispatcher.h @@ -92,8 +92,7 @@ namespace AzManipulatorTestFramework { if (m_logging) { - AZStd::string message = AZStd::string::format(format, args...); - AZ_Printf("[ActionDispatcher] %s", message.c_str()); + AZ_Printf("ActionDispatcher", format, args...); } } @@ -150,7 +149,7 @@ namespace AzManipulatorTestFramework template DerivedDispatcherT* ActionDispatcher::MouseLButtonDown() { - Log("Mouse left button down"); + Log("%s", "Mouse left button down"); MouseLButtonDownImpl(); return static_cast(this); } @@ -158,7 +157,7 @@ namespace AzManipulatorTestFramework template DerivedDispatcherT* ActionDispatcher::MouseLButtonUp() { - Log("Mouse left button up"); + Log("%s", "Mouse left button up"); MouseLButtonUpImpl(); return static_cast(this); } diff --git a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFramework.h b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFramework.h index 5e907ae680..7f838b0073 100644 --- a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFramework.h +++ b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFramework.h @@ -45,6 +45,9 @@ namespace AzManipulatorTestFramework virtual void SetAngularStep(float step) = 0; //! Get the viewport id. virtual int GetViewportId() const = 0; + //! Updates the visibility state. + //! Updates which entities are currently visible given the current camera state. + virtual void UpdateVisibility() = 0; }; //! This interface is used to simulate the manipulator manager while the manipulators are under test. diff --git a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFrameworkTestHelpers.h b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFrameworkTestHelpers.h index 9b253c718b..f87f83c1b2 100644 --- a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFrameworkTestHelpers.h +++ b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/AzManipulatorTestFrameworkTestHelpers.h @@ -12,8 +12,8 @@ #include #include #include -#include #include +#include #include namespace UnitTest @@ -21,20 +21,18 @@ namespace UnitTest //! Fixture to provide the indirect call viewport interaction that is dependent on AzToolsFramework::ToolsApplication. //! \tparam ToolsApplicationFixtureT The fixture that provides the AzToolsFramework::ToolsApplication functionality. template - class IndirectCallManipulatorViewportInteractionFixtureMixin - : public ToolsApplicationFixtureT + class IndirectCallManipulatorViewportInteractionFixtureMixin : public ToolsApplicationFixtureT { - using IndirectCallManipulatorViewportInteraction = - AzManipulatorTestFramework::IndirectCallManipulatorViewportInteraction; + using IndirectCallManipulatorViewportInteraction = AzManipulatorTestFramework::IndirectCallManipulatorViewportInteraction; using ImmediateModeActionDispatcher = AzManipulatorTestFramework::ImmediateModeActionDispatcher; - + void SetUpEditorFixtureImpl() override { ToolsApplicationFixtureT::SetUpEditorFixtureImpl(); m_viewportManipulatorInteraction = AZStd::make_unique(); m_actionDispatcher = AZStd::make_unique(*m_viewportManipulatorInteraction); - m_cameraState = AzFramework::CreateIdentityDefaultCamera( - AZ::Vector3::CreateZero(), AzManipulatorTestFramework::DefaultViewportSize); + m_cameraState = + AzFramework::CreateIdentityDefaultCamera(AZ::Vector3::CreateZero(), AzManipulatorTestFramework::DefaultViewportSize); } void TearDownEditorFixtureImpl() override diff --git a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/IndirectManipulatorViewportInteraction.h b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/IndirectManipulatorViewportInteraction.h index dabcf567db..a7b1be2c7d 100644 --- a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/IndirectManipulatorViewportInteraction.h +++ b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/IndirectManipulatorViewportInteraction.h @@ -9,8 +9,8 @@ #pragma once #include -#include #include +#include namespace AzManipulatorTestFramework { @@ -18,13 +18,12 @@ namespace AzManipulatorTestFramework class IndirectCallManipulatorManager; //! Implementation of manipulator viewport interaction that manipulates the manager indirectly via bus calls. - class IndirectCallManipulatorViewportInteraction - : public ManipulatorViewportInteraction + class IndirectCallManipulatorViewportInteraction : public ManipulatorViewportInteraction { public: IndirectCallManipulatorViewportInteraction(); ~IndirectCallManipulatorViewportInteraction(); - + // ManipulatorViewportInteractionInterface ... const ViewportInteractionInterface& GetViewportInteraction() const override; const ManipulatorManagerInterface& GetManipulatorManager() const override; diff --git a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h index 391186114d..8b6ea5c59b 100644 --- a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h +++ b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h @@ -8,6 +8,7 @@ #pragma once +#include #include namespace AzManipulatorTestFramework @@ -17,14 +18,15 @@ namespace AzManipulatorTestFramework //! Implementation of the viewport interaction model to handle viewport interaction requests. class ViewportInteraction : public ViewportInteractionInterface - , private AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Handler + , public AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Handler + , public AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Handler + , private AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Handler { public: ViewportInteraction(); ~ViewportInteraction(); - // ViewportInteractionInterface ... - AzFramework::CameraState GetCameraState() override; + // ViewportInteractionInterface overrides ... void SetCameraState(const AzFramework::CameraState& cameraState) override; AzFramework::DebugDisplayRequests& GetDebugDisplay() override; void EnableGridSnaping() override; @@ -34,19 +36,30 @@ namespace AzManipulatorTestFramework void SetGridSize(float size) override; void SetAngularStep(float step) override; int GetViewportId() const override; + void UpdateVisibility() override; + + // ViewportInteractionRequestBus overrides ... + AzFramework::CameraState GetCameraState() override; + AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition); AZStd::optional ViewportScreenToWorld(const AzFramework::ScreenPoint& screenPosition, float depth) override; AZStd::optional ViewportScreenToWorldRay( const AzFramework::ScreenPoint& screenPosition) override; float DeviceScalingFactor() override; + + // ViewportSettingsRequestBus overrides ... + bool GridSnappingEnabled() const override; + float GridSize() const override; + bool ShowGrid() const override; + bool AngleSnappingEnabled() const override; + float AngleStep() const override; + float ManipulatorLineBoundWidth() const override; + float ManipulatorCircleBoundWidth() const override; + + // EditorEntityViewportInteractionRequestBus overrides ... + void FindVisibleEntities(AZStd::vector& visibleEntities) override; + private: - // ViewportInteractionRequestBus ... - bool GridSnappingEnabled(); - float GridSize(); - bool ShowGrid(); - bool AngleSnappingEnabled(); - float AngleStep(); - AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition); - private: + AzFramework::EntityVisibilityQuery m_entityVisibilityQuery; AZStd::unique_ptr m_nullDebugDisplayRequests; const int m_viewportId = 1234; // Arbitrary viewport id for manipulator tests AzFramework::CameraState m_cameraState; diff --git a/Code/Framework/AzManipulatorTestFramework/Source/AzManipulatorTestFrameworkUtils.cpp b/Code/Framework/AzManipulatorTestFramework/Source/AzManipulatorTestFrameworkUtils.cpp index 1b68a3d0cd..4f1e108a14 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/AzManipulatorTestFrameworkUtils.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/AzManipulatorTestFrameworkUtils.cpp @@ -91,12 +91,12 @@ namespace AzManipulatorTestFramework AzToolsFramework::ViewportInteraction::MousePick BuildMousePick( const AzFramework::ScreenPoint& screenPoint, const AzFramework::CameraState& cameraState) { - const auto screenToWorld = AzFramework::ScreenToWorld(screenPoint, cameraState); + const auto nearPlaneWorldPosition = AzFramework::ScreenToWorld(screenPoint, cameraState); AzToolsFramework::ViewportInteraction::MousePick mousePick; mousePick.m_screenCoordinates = screenPoint; - mousePick.m_rayOrigin = screenToWorld; - mousePick.m_rayDirection = (screenToWorld - cameraState.m_position).GetNormalized(); + mousePick.m_rayOrigin = cameraState.m_position; + mousePick.m_rayDirection = (nearPlaneWorldPosition - cameraState.m_position).GetNormalized(); return mousePick; } diff --git a/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp b/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp index a667af4e20..c9234fe488 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp @@ -34,7 +34,7 @@ namespace AzManipulatorTestFramework ViewportInteractionInterface* viewportInteraction, AZStd::shared_ptr manipulatorManager); // ManipulatorManagerInterface ... - void ConsumeMouseInteractionEvent(const MouseInteractionEvent& event); + void ConsumeMouseInteractionEvent(const MouseInteractionEvent& event) override; AzToolsFramework::ManipulatorManagerId GetId() const override; bool ManipulatorBeingInteracted() const override; diff --git a/Code/Framework/AzManipulatorTestFramework/Source/IndirectManipulatorViewportInteraction.cpp b/Code/Framework/AzManipulatorTestFramework/Source/IndirectManipulatorViewportInteraction.cpp index ff5e3981ef..14723800ff 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/IndirectManipulatorViewportInteraction.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/IndirectManipulatorViewportInteraction.cpp @@ -16,8 +16,7 @@ namespace AzManipulatorTestFramework using MouseInteractionEvent = AzToolsFramework::ViewportInteraction::MouseInteractionEvent; //! Implementation of the manipulator interface using bus calls to access to the manipulator manager. - class IndirectCallManipulatorManager - : public ManipulatorManagerInterface + class IndirectCallManipulatorManager : public ManipulatorManagerInterface { public: IndirectCallManipulatorManager(ViewportInteractionInterface& viewportInteraction); @@ -39,11 +38,12 @@ namespace AzManipulatorTestFramework void IndirectCallManipulatorManager::ConsumeMouseInteractionEvent(const MouseInteractionEvent& event) { + m_viewportInteraction.UpdateVisibility(); + DrawManipulators(); AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event( AzToolsFramework::GetEntityContextId(), - &AzToolsFramework::ViewportInteraction::InternalMouseViewportRequests::InternalHandleAllMouseInteractions, - event); + &AzToolsFramework::ViewportInteraction::InternalMouseViewportRequests::InternalHandleAllMouseInteractions, event); DrawManipulators(); } diff --git a/Code/Framework/AzManipulatorTestFramework/Source/RetainedModeActionDispatcher.cpp b/Code/Framework/AzManipulatorTestFramework/Source/RetainedModeActionDispatcher.cpp index ca08142371..34ae4aaf4a 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/RetainedModeActionDispatcher.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/RetainedModeActionDispatcher.cpp @@ -24,7 +24,7 @@ namespace AzManipulatorTestFramework { const char* error = "Couldn't add action to sequence, dispatcher is locked (you must call ResetSequence() \ before adding actions to this dispatcher)"; - Log(error); + Log("%s", error); AZ_Assert(false, "Error: %s", error); } @@ -108,7 +108,7 @@ namespace AzManipulatorTestFramework RetainedModeActionDispatcher* RetainedModeActionDispatcher::ResetSequence() { - Log("Resetting the action sequence"); + Log("%s", "Resetting the action sequence"); m_actions.clear(); m_dispatcher.ResetEvent(); m_locked = false; diff --git a/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp b/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp index 52d2c10286..4dae4fc00d 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp @@ -25,10 +25,14 @@ namespace AzManipulatorTestFramework : m_nullDebugDisplayRequests(AZStd::make_unique()) { AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Handler::BusConnect(m_viewportId); + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Handler::BusConnect(m_viewportId); + AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Handler::BusConnect(m_viewportId); } ViewportInteraction::~ViewportInteraction() { + AzToolsFramework::ViewportInteraction::EditorEntityViewportInteractionRequestBus::Handler::BusDisconnect(); + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Handler::BusDisconnect(); AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Handler::BusDisconnect(); } @@ -37,31 +41,51 @@ namespace AzManipulatorTestFramework return m_cameraState; } - bool ViewportInteraction::GridSnappingEnabled() + bool ViewportInteraction::GridSnappingEnabled() const { return m_gridSnapping; } - float ViewportInteraction::GridSize() + float ViewportInteraction::GridSize() const { return m_gridSize; } - bool ViewportInteraction::ShowGrid() + bool ViewportInteraction::ShowGrid() const { return false; } - bool ViewportInteraction::AngleSnappingEnabled() + bool ViewportInteraction::AngleSnappingEnabled() const { return m_angularSnapping; } - float ViewportInteraction::AngleStep() + float ViewportInteraction::AngleStep() const { return m_angularStep; } + float ViewportInteraction::ManipulatorLineBoundWidth() const + { + return 0.1f; + } + + float ViewportInteraction::ManipulatorCircleBoundWidth() const + { + return 0.1f; + } + + void ViewportInteraction::FindVisibleEntities(AZStd::vector& visibleEntitiesOut) + { + visibleEntitiesOut.assign(m_entityVisibilityQuery.Begin(), m_entityVisibilityQuery.End()); + } + + void ViewportInteraction::UpdateVisibility() + { + m_entityVisibilityQuery.UpdateVisibility(m_cameraState); + } + AzFramework::ScreenPoint ViewportInteraction::ViewportWorldToScreen(const AZ::Vector3& worldPosition) { return AzFramework::WorldToScreen(worldPosition, m_cameraState); diff --git a/Code/Framework/AzManipulatorTestFramework/Tests/ViewportInteractionTest.cpp b/Code/Framework/AzManipulatorTestFramework/Tests/ViewportInteractionTest.cpp index 05502afa29..f1fba39651 100644 --- a/Code/Framework/AzManipulatorTestFramework/Tests/ViewportInteractionTest.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Tests/ViewportInteractionTest.cpp @@ -49,9 +49,9 @@ namespace UnitTest bool snapping = false; m_viewportInteraction->EnableGridSnaping(); - AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::EventResult( + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::EventResult( snapping, m_viewportInteraction->GetViewportId(), - &AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Events::GridSnappingEnabled); + &AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Events::GridSnappingEnabled); EXPECT_TRUE(snapping); } @@ -61,9 +61,9 @@ namespace UnitTest bool snapping = true; m_viewportInteraction->DisableGridSnaping(); - AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::EventResult( + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::EventResult( snapping, m_viewportInteraction->GetViewportId(), - &AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Events::GridSnappingEnabled); + &AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Events::GridSnappingEnabled); EXPECT_FALSE(snapping); } @@ -76,9 +76,9 @@ namespace UnitTest m_viewportInteraction->SetGridSize(expectedGridSize); m_viewportInteraction->DisableGridSnaping(); - AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::EventResult( + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::EventResult( gridSize, m_viewportInteraction->GetViewportId(), - &AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Events::GridSize); + &AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Events::GridSize); EXPECT_EQ(gridSize, expectedGridSize); } @@ -88,9 +88,9 @@ namespace UnitTest bool snapping = false; m_viewportInteraction->EnableAngularSnaping(); - AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::EventResult( + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::EventResult( snapping, m_viewportInteraction->GetViewportId(), - &AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Events::AngleSnappingEnabled); + &AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Events::AngleSnappingEnabled); EXPECT_TRUE(snapping); } @@ -100,9 +100,9 @@ namespace UnitTest bool snapping = true; m_viewportInteraction->DisableAngularSnaping(); - AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::EventResult( + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::EventResult( snapping, m_viewportInteraction->GetViewportId(), - &AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Events::AngleSnappingEnabled); + &AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Events::AngleSnappingEnabled); EXPECT_FALSE(snapping); } @@ -114,9 +114,9 @@ namespace UnitTest m_viewportInteraction->SetAngularStep(expectedAngularStep); - AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::EventResult( + AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::EventResult( angularStep, m_viewportInteraction->GetViewportId(), - &AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Events::AngleStep); + &AzToolsFramework::ViewportInteraction::ViewportSettingsRequestBus::Events::AngleStep); EXPECT_EQ(angularStep, expectedAngularStep); } diff --git a/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp b/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp index 57badcee4e..3fdfa042a5 100644 --- a/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp +++ b/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp @@ -473,7 +473,7 @@ namespace AzNetworking { const AZ::CVarFixedString contextPassword = (trustZone == TrustZone::ExternalClientToServer) ? net_SslExternalContextPassword : net_SslInternalContextPassword; - SSL_CTX_set_default_passwd_cb(context, NULL); + SSL_CTX_set_default_passwd_cb(context, nullptr); SSL_CTX_set_default_passwd_cb_userdata(context, (void*)contextPassword.c_str()); if (SSL_CTX_use_PrivateKey_file(context, privateKeyPath.c_str(), SSL_FILETYPE_PEM) != OpenSslResultSuccess) diff --git a/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp b/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp index d06aac1a14..9dc7ae0ccf 100644 --- a/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp +++ b/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp @@ -23,12 +23,12 @@ namespace UnitTest : public IConnectionListener { public: - ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) + ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) override { return ConnectResult::Accepted; } - void OnConnect([[maybe_unused]] IConnection* connection) + void OnConnect([[maybe_unused]] IConnection* connection) override { ; } @@ -40,12 +40,12 @@ namespace UnitTest return PacketDispatchResult::Failure; } - void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) + void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) override { } - void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) + void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) override { } diff --git a/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp b/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp index 9cc3fd4b09..02c7085023 100644 --- a/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp +++ b/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp @@ -26,12 +26,12 @@ namespace UnitTest : public IConnectionListener { public: - ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) + ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) override { return ConnectResult::Accepted; } - void OnConnect([[maybe_unused]] IConnection* connection) + void OnConnect([[maybe_unused]] IConnection* connection) override { ; } @@ -43,12 +43,12 @@ namespace UnitTest return PacketDispatchResult::Failure; } - void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) + void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) override { } - void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) + void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) override { } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp index 127163f056..cd6af7391c 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp @@ -147,7 +147,7 @@ namespace AzQtComponents TabBar::tabLayoutChange(); // Only the active tab's close button should be shown - const ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); + const ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, nullptr, this); const int numTabs = count(); const int activeTabIndex = currentIndex(); for (int i = 0; i < numTabs; ++i) @@ -190,7 +190,7 @@ namespace AzQtComponents } }); - const ButtonPosition closeSide = (ButtonPosition) style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); + const ButtonPosition closeSide = (ButtonPosition) style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, nullptr, this); setTabButton(index, closeSide, closeButton); } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp index c78314b8d7..0478779561 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp @@ -112,7 +112,7 @@ QLayoutItem* FlowLayout::takeAt(int index) } else { - return 0; + return nullptr; } } @@ -207,7 +207,7 @@ int FlowLayout::smartSpacing(QStyle::PixelMetric pm) const else if (parent->isWidgetType()) { QWidget* pw = static_cast(parent); - return pw->style()->pixelMetric(pm, 0, pw); + return pw->style()->pixelMetric(pm, nullptr, pw); } else { diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp index 9bf77f0f9b..690d275646 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp @@ -75,11 +75,11 @@ namespace AzQtComponents connect(slider, &QSlider::sliderReleased, this, [this] { m_dragging = false; }); } } - ~ClickEventFilterPrivate() {} + ~ClickEventFilterPrivate() override {} signals: void clickOnApplication(const QPoint& pos); protected: - bool eventFilter(QObject* obj, QEvent* event) + bool eventFilter(QObject* obj, QEvent* event) override { if (event->type() == QEvent::MouseButtonRelease && !m_dragging) { diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp index 2c3dacda7a..c3fb6e88cd 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp @@ -773,7 +773,7 @@ namespace AzQtComponents if (numButtons > 0) { // and finally add the right margins QLineEdit removes to make the buttons fit (it thinks) - const int iconSize = style->pixelMetric(QStyle::PM_SmallIconSize, 0, widget); + const int iconSize = style->pixelMetric(QStyle::PM_SmallIconSize, nullptr, widget); const int delta = iconSize / 4 + iconSize + 6; r.setRight(r.right() + delta * numButtons); } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp index ac281a0e1c..b8cd37a6f7 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp @@ -191,7 +191,7 @@ namespace AzQtComponents }; QMap m_widgets; - void perScrollBar(QObject* scrollArea, void (QScrollBar::*callback)(void)) + void perScrollBar(QObject* scrollArea, void (QScrollBar::*callback)()) { auto iterator = m_widgets.find(scrollArea); if (iterator != m_widgets.end()) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp index 008560b59c..d52ae3685d 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp @@ -632,7 +632,7 @@ namespace AzQtComponents return; } - ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); + ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, nullptr, this); for (int i = 0; i < count(); i++) { QWidget* tabBtn = tabButton(i, closeSide); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp b/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp index ffca99f1d6..27d12438eb 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp @@ -135,7 +135,7 @@ public: if (auto editContext = serializeContext->GetEditContext()) { editContext->Class("SimpleKeyContainer", "") - ->DataElement(0, &SimpleKeyedContainer::m_map, "map", "") + ->DataElement(nullptr, &SimpleKeyedContainer::m_map, "map", "") ->ElementAttribute(AZ::Edit::Attributes::ShowAsKeyValuePairs, true); } } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp index a717ad337e..3c911c8acc 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp @@ -20,7 +20,7 @@ public: AzQtComponents::registerMetaTypes(); } - virtual ~AzQtComponentsTestEnvironment() {} + ~AzQtComponentsTestEnvironment() override {} protected: diff --git a/Code/Framework/AzTest/AzTest/Utils.cpp b/Code/Framework/AzTest/AzTest/Utils.cpp index 7c2c964504..d06024c72f 100644 --- a/Code/Framework/AzTest/AzTest/Utils.cpp +++ b/Code/Framework/AzTest/AzTest/Utils.cpp @@ -123,10 +123,10 @@ namespace AZ std::vector tokens; [[maybe_unused]] char* next_token = nullptr; char* tok = azstrtok(cmdLine, 0, " ", &next_token); - while (tok != NULL) + while (tok != nullptr) { tokens.push_back(tok); - tok = azstrtok(NULL, 0, " ", &next_token); + tok = azstrtok(nullptr, 0, " ", &next_token); } size = (int)tokens.size(); char** token_array = new char*[size]; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/API/ComponentEntitySelectionBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/API/ComponentEntitySelectionBus.h index 64cae9ca3d..dd5af35649 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/API/ComponentEntitySelectionBus.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/API/ComponentEntitySelectionBus.h @@ -96,7 +96,7 @@ namespace AzToolsFramework { AZ::EBusReduceResult aabbResult(AZ::Aabb::CreateNull()); EditorComponentSelectionRequestsBus::EventResult( - aabbResult, entityId, &EditorComponentSelectionRequests::GetEditorSelectionBoundsViewport, viewportInfo); + aabbResult, entityId, &EditorComponentSelectionRequestsBus::Events::GetEditorSelectionBoundsViewport, viewportInfo); return aabbResult.value; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/API/EditorPythonConsoleBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/API/EditorPythonConsoleBus.h index e6369dc74a..34770c6dfc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/API/EditorPythonConsoleBus.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/API/EditorPythonConsoleBus.h @@ -70,8 +70,12 @@ namespace AzToolsFramework //! Determines if the caller needs to wait for the Python VM to initialize (non-main thread only) virtual void WaitForInitialization() {} - //! Acquires the Python global interpreter lock (GIL) and executed the callback + //! Acquires the Python global interpreter lock (GIL) and execute the callback virtual void ExecuteWithLock(AZStd::function executionCallback) = 0; + + //! Tries to acquire the Python global interpreter lock (GIL) and execute the callback. + //! @return Whether it was able to lock the mutex or not. + virtual bool TryExecuteWithLock(AZStd::function executionCallback) = 0; }; //! A bus to handle post notifications to the console views of Python output diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp index a3a79402ad..6de529e456 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp @@ -139,7 +139,7 @@ namespace AzToolsFramework AZ_PROFILE_SCOPE(AzToolsFramework, "Internal::DeleteEntities:UndoCaptureAndPurgeEntities"); for (const auto& entityId : entityIds) { - AZ::Entity* entity = NULL; + AZ::Entity* entity = nullptr; EBUS_EVENT_RESULT(entity, AZ::ComponentApplicationBus, FindEntity, entityId); if (entity) @@ -1237,7 +1237,7 @@ namespace AzToolsFramework void ToolsApplication::RequestEditForFile(const char* assetPath, RequestEditResultCallback resultCallback) { - AZ_Error("RequestEdit", resultCallback != 0, "User result callback is required."); + AZ_Error("RequestEdit", resultCallback != nullptr, "User result callback is required."); AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); if (fileIO && !fileIO->IsReadOnly(assetPath)) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp index 92c8d37540..6e55d9f97c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp @@ -97,7 +97,7 @@ namespace AzToolsFramework::AssetUtils struct EnabledPlatformsVisitor : AZ::SettingsRegistryInterface::Visitor { - void Visit(AZStd::string_view path, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value); + void Visit(AZStd::string_view path, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value) override; AZStd::vector m_enabledPlatforms; }; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp index e155189a99..77b9185e82 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp @@ -721,7 +721,7 @@ namespace AzToolsFramework AZ::Data::AssetInfo assetInfo; AZ::Data::AssetCatalogRequestBus::BroadcastResult(assetInfo, &AZ::Data::AssetCatalogRequests::GetAssetInfoById, assetId); if (assetInfo.m_assetType == m_inMemoryAsset.GetType() - && strstr(m_expectedAddedAssetPath.c_str(), assetInfo.m_relativePath.c_str()) != 0) + && strstr(m_expectedAddedAssetPath.c_str(), assetInfo.m_relativePath.c_str()) != nullptr) { m_expectedAddedAssetPath.clear(); m_recentlyAddedAssetPath = assetInfo.m_relativePath; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp index d4c4fa1e65..d05a2dcc4b 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp @@ -103,7 +103,7 @@ namespace AzToolsFramework newData.clear(); AZ::IO::ByteContainerStream ms(&newData); - AZ::SerializeContext* sc = NULL; + AZ::SerializeContext* sc = nullptr; EBUS_EVENT_RESULT(sc, AZ::ComponentApplicationBus, GetSerializeContext); AZ_Assert(sc, "Serialization context not found!"); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp index 33b2a14b89..6854663db7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp @@ -34,7 +34,7 @@ namespace AzToolsFramework void SelectionCommand::Post() { - UndoSystem::UndoStack* undoStack = NULL; + UndoSystem::UndoStack* undoStack = nullptr; EBUS_EVENT_RESULT(undoStack, AzToolsFramework::ToolsApplicationRequests::Bus, GetUndoStack); if (undoStack) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp index 81f573672b..af5a9004e3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp @@ -226,6 +226,7 @@ namespace AzToolsFramework m_translationManipulator = AZStd::make_shared>( Dimensions(), vertexIndex, vertex, WorldFromLocalWithUniformScale(entityComponentIdPair.GetEntityId()), GetNonUniformScale(entityComponentIdPair.GetEntityId())); + m_translationManipulator->m_manipulator.SetLineBoundWidth(AzToolsFramework::ManipulatorLineBoundWidth()); // setup how the manipulator should look m_manipulatorConfiguratorFn(&m_translationManipulator->m_manipulator); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorSnapping.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorSnapping.cpp index fdc572ab05..e4f6b3b1ea 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorSnapping.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorSnapping.cpp @@ -137,8 +137,8 @@ namespace AzToolsFramework bool GridSnapping(const int viewportId) { bool snapping = false; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - snapping, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::GridSnappingEnabled); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + snapping, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::GridSnappingEnabled); return snapping; } @@ -146,8 +146,8 @@ namespace AzToolsFramework float GridSize(const int viewportId) { float gridSize = 0.0f; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - gridSize, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::GridSize); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + gridSize, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::GridSize); return gridSize; } @@ -168,8 +168,8 @@ namespace AzToolsFramework bool AngleSnapping(const int viewportId) { bool snapping = false; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - snapping, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::AngleSnappingEnabled); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + snapping, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::AngleSnappingEnabled); return snapping; } @@ -177,8 +177,8 @@ namespace AzToolsFramework float AngleStep(const int viewportId) { float angle = 0.0f; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - angle, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::AngleStep); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + angle, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::AngleStep); return angle; } @@ -186,8 +186,8 @@ namespace AzToolsFramework bool ShowingGrid(const int viewportId) { bool show = false; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - show, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::ShowGrid); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + show, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::ShowGrid); return show; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp index 147b672006..d3c94dc8ab 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -22,6 +23,14 @@ #include #include +AZ_CVAR( + bool, + ed_manipulatorDisplayBoundDebug, + false, + nullptr, + AZ::ConsoleFunctorFlags::Null, + "Display additional debug drawing for manipulator bounds"); + namespace AzToolsFramework { const float g_defaultManipulatorSphereRadius = 0.1f; @@ -118,6 +127,14 @@ namespace AzToolsFramework return quadBound; } + // calculate line in world space (axis and length). + static AZStd::pair CalculateLine( + const AZ::Vector3& localPosition, const AZ::Transform& worldFromLocal, const AZ::Vector3& axis, const float length) + { + return { worldFromLocal.TransformPoint(localPosition), + TransformPositionNoScaling(worldFromLocal, localPosition + (axis * length)) }; + } + // calculate line bound in world space (axis and length). static Picking::BoundShapeLineSegment CalculateLineBound( const AZ::Vector3& localPosition, @@ -127,8 +144,9 @@ namespace AzToolsFramework const float width) { Picking::BoundShapeLineSegment lineBound; - lineBound.m_start = worldFromLocal.TransformPoint(localPosition); - lineBound.m_end = TransformPositionNoScaling(worldFromLocal, localPosition + (axis * length)); + const auto line = CalculateLine(localPosition, worldFromLocal, axis, length); + lineBound.m_start = line.first; + lineBound.m_end = line.second; lineBound.m_width = width; return lineBound; } @@ -395,13 +413,29 @@ namespace AzToolsFramework m_axis, m_cameraCorrectedAxis, managerState, mouseInteraction, manipulatorState.m_worldFromLocal, manipulatorState.m_localPosition, cameraState); - const Picking::BoundShapeLineSegment lineBound = CalculateLineBound( - manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_cameraCorrectedAxis, m_length * viewScale, - m_width * viewScale); + const auto worldLine = + CalculateLine(manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_cameraCorrectedAxis, m_length * viewScale); debugDisplay.SetColor(ViewColor(manipulatorState.m_mouseOver, m_color, m_mouseOverColor).GetAsVector4()); debugDisplay.SetLineWidth(defaultLineWidth(manipulatorState.m_mouseOver)); - debugDisplay.DrawLine(lineBound.m_start, lineBound.m_end); + debugDisplay.DrawLine(worldLine.first, worldLine.second); + + // ensure length of bound takes into account logical width of line (m_length - m_width) + const Picking::BoundShapeLineSegment lineBound = CalculateLineBound( + manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_cameraCorrectedAxis, (m_length - m_width) * viewScale, + m_width * viewScale); + + if (ed_manipulatorDisplayBoundDebug) + { + debugDisplay.DrawBall(lineBound.m_start, lineBound.m_width, false); + debugDisplay.DrawBall(lineBound.m_end, lineBound.m_width, false); + + const auto line = lineBound.m_end - lineBound.m_start; + const auto height = line.GetLength(); + const auto axis = line / height; + const auto center = lineBound.m_start + axis * height * 0.5f; + debugDisplay.DrawSolidCylinder(center, axis, lineBound.m_width, height, false); + } RefreshBoundInternal(managerId, manipulatorId, lineBound); } @@ -578,13 +612,30 @@ namespace AzToolsFramework const Picking::BoundShapeTorus torusBound = CalculateTorusBound( manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_axis, m_radius * viewScale, m_width * viewScale); - // transform circle based on delta between default z up axis and other axes - const AZ::Transform worldFromLocalWithOrientation = - AZ::Transform::CreateTranslation(manipulatorState.m_worldFromLocal.GetTranslation()) * + const AZ::Transform orientation = AZ::Transform::CreateFromQuaternion((QuaternionFromTransformNoScaling(manipulatorState.m_worldFromLocal) * AZ::Quaternion::CreateShortestArc(AZ::Vector3::CreateAxisZ(), m_axis)) .GetNormalized()); + // transform circle based on delta between default z up axis and other axes + const AZ::Transform worldFromLocalWithOrientation = + AZ::Transform::CreateTranslation(manipulatorState.m_worldFromLocal.GetTranslation()) * orientation; + + if (ed_manipulatorDisplayBoundDebug) + { + debugDisplay.SetColor(AZ::Colors::BlanchedAlmond); + debugDisplay.PushMatrix(orientation); + debugDisplay.DrawCircle(torusBound.m_center + AZ::Vector3::CreateAxisZ() * torusBound.m_minorRadius, torusBound.m_majorRadius); + debugDisplay.DrawCircle( + torusBound.m_center + AZ::Vector3::CreateAxisZ() * torusBound.m_minorRadius, + torusBound.m_majorRadius + torusBound.m_minorRadius); + debugDisplay.DrawCircle(torusBound.m_center - AZ::Vector3::CreateAxisZ() * torusBound.m_minorRadius, torusBound.m_majorRadius); + debugDisplay.DrawCircle( + torusBound.m_center - AZ::Vector3::CreateAxisZ() * torusBound.m_minorRadius, + torusBound.m_majorRadius + torusBound.m_minorRadius); + debugDisplay.PopMatrix(); + } + debugDisplay.CullOn(); debugDisplay.PushMatrix(worldFromLocalWithOrientation); debugDisplay.SetColor(ViewColor(manipulatorState.m_mouseOver, m_color, m_mouseOverColor).GetAsVector4()); @@ -604,7 +655,10 @@ namespace AzToolsFramework } void DrawFullCircle( - AzFramework::DebugDisplayRequests& debugDisplay, const AZ::Vector3& position, const float radius, const AZ::Vector3& /*viewPos*/) + AzFramework::DebugDisplayRequests& debugDisplay, + const AZ::Vector3& position, + const float radius, + [[maybe_unused]] const AZ::Vector3& viewPos) { debugDisplay.DrawCircle(position, radius); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.cpp index 3ba9c3d8c7..4f3d369777 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.cpp @@ -130,11 +130,13 @@ namespace AzToolsFramework for (size_t manipulatorIndex = 0; manipulatorIndex < m_localAngularManipulators.size(); ++manipulatorIndex) { m_localAngularManipulators[manipulatorIndex]->SetView(CreateManipulatorViewCircle( - *m_localAngularManipulators[manipulatorIndex], colors[manipulatorIndex], radius, 0.05f, DrawHalfDottedCircle)); + *m_localAngularManipulators[manipulatorIndex], colors[manipulatorIndex], radius, m_circleBoundWidth, DrawHalfDottedCircle)); } + const float viewAlignedScale = 1.12f; m_viewAngularManipulator->SetView(CreateManipulatorViewCircle( - *m_viewAngularManipulator, AZ::Color(1.0f, 1.0f, 1.0f, 1.0f), radius + (radius * 0.12f), 0.05f, DrawFullCircle)); + *m_viewAngularManipulator, AZ::Color(1.0f, 1.0f, 1.0f, 1.0f), radius * viewAlignedScale, m_circleBoundWidth, + DrawFullCircle)); } bool RotationManipulators::PerformingActionViewAxis() const @@ -151,4 +153,9 @@ namespace AzToolsFramework manipulatorFn(m_viewAngularManipulator.get()); } + + void RotationManipulators::SetCircleBoundWidth(const float circleBoundWidth) + { + m_circleBoundWidth = circleBoundWidth; + } } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.h index 172ec189f0..e7e3ae5eee 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/RotationManipulators.h @@ -42,6 +42,9 @@ namespace AzToolsFramework bool PerformingActionViewAxis() const; + //! Sets the bound width to use for the circle (torus) of an angular manipulator. + void SetCircleBoundWidth(float circleBoundWidth); + private: AZ_DISABLE_COPY_MOVE(RotationManipulators) @@ -49,5 +52,6 @@ namespace AzToolsFramework AZStd::array, 3> m_localAngularManipulators; AZStd::shared_ptr m_viewAngularManipulator; + float m_circleBoundWidth = 0.1f; //!< The default circle bound width for the angular manipulator torus. }; } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp index 08735a34a3..1867f346ec 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp @@ -120,18 +120,18 @@ namespace AzToolsFramework const float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color) { const float boxSize = 0.1f; - const float lineWidth = 0.05f; - const AZ::Color colors[] = { axis1Color, axis2Color, axis3Color }; for (size_t manipulatorIndex = 0; manipulatorIndex < m_axisScaleManipulators.size(); ++manipulatorIndex) { + const auto lineLength = axisLength - boxSize; + ManipulatorViews views; views.emplace_back( - CreateManipulatorViewLine(*m_axisScaleManipulators[manipulatorIndex], colors[manipulatorIndex], axisLength, lineWidth)); + CreateManipulatorViewLine(*m_axisScaleManipulators[manipulatorIndex], colors[manipulatorIndex], axisLength, m_lineBoundWidth)); views.emplace_back(CreateManipulatorViewBox( AZ::Transform::CreateIdentity(), colors[manipulatorIndex], - m_axisScaleManipulators[manipulatorIndex]->GetAxis() * (axisLength - boxSize), AZ::Vector3(boxSize))); + m_axisScaleManipulators[manipulatorIndex]->GetAxis() * lineLength, AZ::Vector3(boxSize))); m_axisScaleManipulators[manipulatorIndex]->SetViews(AZStd::move(views)); } @@ -150,4 +150,9 @@ namespace AzToolsFramework manipulatorFn(m_uniformScaleManipulator.get()); } + + void ScaleManipulators::SetLineBoundWidth(const float lineBoundWidth) + { + m_lineBoundWidth = lineBoundWidth; + } } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h index cca17a85e6..5a0a7676d5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h @@ -41,6 +41,9 @@ namespace AzToolsFramework void ConfigureView(float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color); + //! Sets the bound width to use for the line/axis of a linear manipulator. + void SetLineBoundWidth(float lineBoundWidth); + private: AZ_DISABLE_COPY_MOVE(ScaleManipulators) @@ -49,5 +52,6 @@ namespace AzToolsFramework AZStd::array, 3> m_axisScaleManipulators; AZStd::shared_ptr m_uniformScaleManipulator; + float m_lineBoundWidth = 0.01f; //!< The default line bound width for the linear manipulator axis. }; } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp index c5702bb249..049cab4a13 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp @@ -235,24 +235,25 @@ namespace AzToolsFramework } void TranslationManipulators::ConfigureLinearView( - float axisLength, + const float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color /*= AZ::Color(0.0f, 0.0f, 1.0f, 0.5f)*/) { const float coneLength = 0.28f; const float coneRadius = 0.07f; - const float lineWidth = 0.05f; const AZ::Color axesColor[] = { axis1Color, axis2Color, axis3Color }; - const auto configureLinearView = - [lineWidth, coneLength, axisLength, coneRadius](LinearManipulator* linearManipulator, const AZ::Color& color) + const auto configureLinearView = [lineBoundWidth = m_lineBoundWidth, coneLength, axisLength, + coneRadius](LinearManipulator* linearManipulator, const AZ::Color& color) { + const auto lineLength = axisLength - coneLength; + ManipulatorViews views; - views.emplace_back(CreateManipulatorViewLine(*linearManipulator, color, axisLength, lineWidth)); - views.emplace_back(CreateManipulatorViewCone( - *linearManipulator, color, linearManipulator->GetAxis() * (axisLength - coneLength), coneLength, coneRadius)); + views.emplace_back(CreateManipulatorViewLine(*linearManipulator, color, lineLength, lineBoundWidth)); + views.emplace_back( + CreateManipulatorViewCone(*linearManipulator, color, linearManipulator->GetAxis() * lineLength, coneLength, coneRadius)); linearManipulator->SetViews(AZStd::move(views)); }; @@ -316,6 +317,11 @@ namespace AzToolsFramework } } + void TranslationManipulators::SetLineBoundWidth(const float lineBoundWidth) + { + m_lineBoundWidth = lineBoundWidth; + } + void ConfigureTranslationManipulatorAppearance3d(TranslationManipulators* translationManipulators) { translationManipulators->SetAxes(AZ::Vector3::CreateAxisX(), AZ::Vector3::CreateAxisY(), AZ::Vector3::CreateAxisZ()); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h index 04d8e24ae6..65e53f0680 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h @@ -65,6 +65,9 @@ namespace AzToolsFramework void ConfigureSurfaceView(float radius, const AZ::Color& color); + //! Sets the bound width to use for the line/axis of a linear manipulator. + void SetLineBoundWidth(float lineBoundWidth); + private: AZ_DISABLE_COPY_MOVE(TranslationManipulators) @@ -76,6 +79,7 @@ namespace AzToolsFramework AZStd::vector> m_linearManipulators; AZStd::vector> m_planarManipulators; AZStd::shared_ptr m_surfaceManipulator = nullptr; + float m_lineBoundWidth = 0.01f; //!< The default line bound width for the linear manipulator axis. }; //! IndexedTranslationManipulator wraps a standard TranslationManipulators and allows it to be linked diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.cpp index 9ede35b837..3a7fffb3be 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.cpp @@ -16,6 +16,79 @@ namespace AzToolsFramework { namespace Picking { + // this intersection algorithm is adapted from 'Capped Cone' by Inigo Quilez + // ref: https://www.iquilezles.org/www/articles/intersectors/intersectors.htm and https://www.shadertoy.com/view/llcfRf + // all algorithms/code snippets are kindly made available under the MIT License - https://www.iquilezles.org/www/index.htm + bool IntersectRayCone( + const AZ::Vector3& rayOrigin, + const AZ::Vector3& rayDirection, + const AZ::Vector3& coneApex, + const AZ::Vector3& coneAxis, + float coneHeight, + float coneBaseRadius, + float& t) + { + const AZ::Vector3& pa = coneApex; + const AZ::Vector3& pb = coneApex + coneHeight * coneAxis; + const AZ::Vector3& ro = rayOrigin; + const AZ::Vector3& rd = rayDirection; + float rb = coneBaseRadius; + + AZ::Vector3 ba = pb - pa; + AZ::Vector3 oa = ro - pa; + AZ::Vector3 ob = ro - pb; + + float m0 = ba.Dot(ba); + float m1 = oa.Dot(ba); + float m2 = ob.Dot(ba); + float m3 = rd.Dot(ba); + + auto dot2 = [](const AZ::Vector3& v) + { + return v.Dot(v); + }; + + // cap + if (m2 > 0.0f) + { + if (dot2(ob * m3 - rd * m2) < (rb * rb * m3 * m3)) + { + t = -m2 / m3; + return true; + } + } + + // body + float m4 = rd.Dot(oa); + float m5 = oa.Dot(oa); + float hy = m0 + rb * rb; + + float k2 = m0 * m0 - m3 * m3 * hy; + float k1 = m0 * m0 * m4 - m1 * m3 * hy; + float k0 = m0 * m0 * m5 - m1 * m1 * hy; + + // note: solving for simultaneously being on the sloping surface of the cone and being on the ray boils down + // to a quadratic equation - the discriminant of the quadratic determines if there are 1, 2 or no solutions + // + // if the discriminant is less than 0 the ray is not intersecting the cone, if it is equal to 0 then the ray + // is intersecting the cone once and if it is greater than 0 the ray is intersecting the cone twice + float discriminant = k1 * k1 - k2 * k0; + if (discriminant < 0.0f) + { + return false; + } + + float tt = (-k1 - AZ::Sqrt(discriminant)) / k2; + float y = m1 + tt * m3; + if (y >= 0.0f && y < m0) + { + t = tt; + return true; + } + + return false; + } + bool ManipulatorBoundSphere::IntersectRay( const AZ::Vector3& rayOrigin, const AZ::Vector3& rayDirection, float& rayIntersectionDistance) { @@ -86,11 +159,10 @@ namespace AzToolsFramework bool ManipulatorBoundCone::IntersectRay( const AZ::Vector3& rayOrigin, const AZ::Vector3& rayDirection, float& rayIntersectionDistance) { - float t1 = std::numeric_limits::max(); - float t2 = std::numeric_limits::max(); - if (AZ::Intersect::IntersectRayCone(rayOrigin, rayDirection, m_apexPosition, m_dir, m_height, m_radius, t1, t2) > 0) + float t = std::numeric_limits::max(); + if (IntersectRayCone(rayOrigin, rayDirection, m_apexPosition, m_dir, m_height, m_radius, t)) { - rayIntersectionDistance = AZStd::GetMin(t1, t2); + rayIntersectionDistance = t; return true; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.h index 55a276f87b..59f339c129 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Picking/Manipulators/ManipulatorBounds.h @@ -23,6 +23,26 @@ namespace AzToolsFramework { namespace Picking { + //! Custom ray/cone intersect function for manipulator bounds to workaround a bug in the current AZ::Intersect implementation. + //! @note Does not give reliable results if the ray origin is inside the cone. + //! @param rayOrigin The origin of the ray to test. + //! @param rayDirection The direction of the ray to test, it must be unit length. + //! @param coneApex The apex of the cone. + //! @param coneAxis The unit-length axis (direction) from the apex to the base. + //! @param coneHeight The height of the cone, from the apex to the base. + //! @param coneBaseRadius The radius of the cone base. + //! @param[out] t A possible coefficient in the ray's explicit equation from which an intersecting point is calculated + //! as "rayOrigin + t * rayDirection". 't' is the closest intersecting point to the ray origin. + //! @return true for intersecting, false for not intersecting. + bool IntersectRayCone( + const AZ::Vector3& rayOrigin, + const AZ::Vector3& rayDirection, + const AZ::Vector3& coneApex, + const AZ::Vector3& coneAxis, + float coneHeight, + float coneBaseRadius, + float& t); + class ManipulatorBoundSphere : public BoundShapeInterface { public: diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp index c412033362..63f042be85 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp @@ -61,7 +61,7 @@ namespace AzToolsFramework m_prefabUndoCache.Destroy(); } - PrefabOperationResult PrefabPublicHandler::CreatePrefabInMemory(const EntityIdList& entityIds, AZ::IO::PathView filePath) + CreatePrefabResult PrefabPublicHandler::CreatePrefabInMemory(const EntityIdList& entityIds, AZ::IO::PathView filePath) { EntityList inputEntityList, topLevelEntities; AZ::EntityId commonRootEntityId; @@ -70,9 +70,11 @@ namespace AzToolsFramework entityIds, inputEntityList, topLevelEntities, commonRootEntityId, commonRootEntityOwningInstance); if (!findCommonRootOutcome.IsSuccess()) { - return findCommonRootOutcome; + return AZ::Failure(findCommonRootOutcome.TakeError()); } + AZ::EntityId containerEntityId; + InstanceOptionalReference instanceToCreate; { // Initialize Undo Batch object @@ -92,7 +94,7 @@ namespace AzToolsFramework inputEntityList, commonRootEntityOwningInstance->get(), entities, instances); if (!retrieveEntitiesAndInstancesOutcome.IsSuccess()) { - return retrieveEntitiesAndInstancesOutcome; + return AZ::Failure(retrieveEntitiesAndInstancesOutcome.TakeError()); } AZStd::unordered_map oldEntityAliases; @@ -153,7 +155,7 @@ namespace AzToolsFramework "(A null instance is returned).")); } - AZ::EntityId containerEntityId = instanceToCreate->get().GetContainerEntityId(); + containerEntityId = instanceToCreate->get().GetContainerEntityId(); // Apply the correct transform to the container for the new instance, and store the patch for use when creating the link. PrefabDom patch = ApplyContainerTransformAndGeneratePatch(containerEntityId, commonRootEntityId, topLevelEntities); @@ -261,10 +263,10 @@ namespace AzToolsFramework } } - return AZ::Success(); + return AZ::Success(containerEntityId); } - PrefabOperationResult PrefabPublicHandler::CreatePrefabInDisk(const EntityIdList& entityIds, AZ::IO::PathView filePath) + CreatePrefabResult PrefabPublicHandler::CreatePrefabInDisk(const EntityIdList& entityIds, AZ::IO::PathView filePath) { auto result = CreatePrefabInMemory(entityIds, filePath); if (result.IsSuccess()) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h index 6faaa6932f..42b6bc1666 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h @@ -42,11 +42,12 @@ namespace AzToolsFramework void UnregisterPrefabPublicHandlerInterface(); // PrefabPublicInterface... - PrefabOperationResult CreatePrefabInDisk( + CreatePrefabResult CreatePrefabInDisk( const EntityIdList& entityIds, AZ::IO::PathView filePath) override; - PrefabOperationResult CreatePrefabInMemory( + CreatePrefabResult CreatePrefabInMemory( const EntityIdList& entityIds, AZ::IO::PathView filePath) override; - InstantiatePrefabResult InstantiatePrefab(AZStd::string_view filePath, AZ::EntityId parent, const AZ::Vector3& position) override; + InstantiatePrefabResult InstantiatePrefab( + AZStd::string_view filePath, AZ::EntityId parent, const AZ::Vector3& position) override; PrefabOperationResult SavePrefab(AZ::IO::Path filePath) override; PrefabEntityResult CreateEntity(AZ::EntityId parentId, const AZ::Vector3& position) override; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicInterface.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicInterface.h index 83763ef55f..528d4f6d1b 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicInterface.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicInterface.h @@ -24,8 +24,9 @@ namespace AzToolsFramework namespace Prefab { - typedef AZ::Outcome PrefabOperationResult; + typedef AZ::Outcome CreatePrefabResult; typedef AZ::Outcome InstantiatePrefabResult; + typedef AZ::Outcome PrefabOperationResult; typedef AZ::Outcome PrefabRequestResult; typedef AZ::Outcome PrefabEntityResult; @@ -44,9 +45,10 @@ namespace AzToolsFramework * Automatically detects descendants of entities, and discerns between entities and child instances. * @param entityIds The entities that should form the new prefab (along with their descendants). * @param filePath The absolute path for the new prefab file. - * @return An outcome object; on failure, it comes with an error message detailing the cause of the error. + * @return An outcome object with an entityId of the new prefab's container entity; + * on failure, it comes with an error message detailing the cause of the error. */ - virtual PrefabOperationResult CreatePrefabInDisk( + virtual CreatePrefabResult CreatePrefabInDisk( const EntityIdList& entityIds, AZ::IO::PathView filePath) = 0; /** @@ -54,9 +56,10 @@ namespace AzToolsFramework * Automatically detects descendants of entities, and discerns between entities and child instances. * @param entityIds The entities that should form the new prefab (along with their descendants). * @param filePath The absolute path for the new prefab file. - * @return An outcome object; on failure, it comes with an error message detailing the cause of the error. + * @return An outcome object with an entityId of the new prefab's container entity; + * on failure, it comes with an error message detailing the cause of the error. */ - virtual PrefabOperationResult CreatePrefabInMemory( + virtual CreatePrefabResult CreatePrefabInMemory( const EntityIdList& entityIds, AZ::IO::PathView filePath) = 0; /** diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestBus.h index 1605ad97be..7b23fffb7f 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestBus.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestBus.h @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -22,8 +23,9 @@ namespace AzToolsFramework namespace Prefab { - using PrefabOperationResult = AZ::Outcome; + using CreatePrefabResult = AZ::Outcome; using InstantiatePrefabResult = AZ::Outcome; + using PrefabOperationResult = AZ::Outcome; /** * The primary purpose of this bus is to facilitate writing automated tests for prefabs. @@ -47,14 +49,16 @@ namespace AzToolsFramework /** * Create a prefab out of the entities provided, at the path provided, and keep it in memory. * Automatically detects descendants of entities, and discerns between entities and child instances. - * Return whether the creation succeeded or not. + * Return an outcome object with an container entity id of the prefab created if creation succeeded; + * on failure, it comes with an error message detailing the cause of the error. */ - virtual PrefabOperationResult CreatePrefabInMemory( + virtual CreatePrefabResult CreatePrefabInMemory( const EntityIdList& entityIds, AZStd::string_view filePath) = 0; /** * Instantiate a prefab from a prefab file. - * Return the container entity id of the prefab instantiated if instantiation succeeded. + * Return an outcome object with an container entity id of the prefab instantiated if instantiation succeeded; + * on failure, it comes with an error message detailing the cause of the error. */ virtual InstantiatePrefabResult InstantiatePrefab( AZStd::string_view filePath, AZ::EntityId parent, const AZ::Vector3& position) = 0; @@ -62,10 +66,9 @@ namespace AzToolsFramework /** * Deletes all entities and their descendants from the owning instance. Bails if the entities don't * all belong to the same instance. - * Return whether the deletion succeeded or not. + * Return an outcome object; on failure, it comes with an error message detailing the cause of the error. */ virtual PrefabOperationResult DeleteEntitiesAndAllDescendantsInInstance(const EntityIdList& entityIds) = 0; - }; using PrefabPublicRequestBus = AZ::EBus; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.cpp index d964be25af..ad171dc6f4 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.cpp @@ -45,7 +45,7 @@ namespace AzToolsFramework m_prefabPublicInterface = nullptr; } - PrefabOperationResult PrefabPublicRequestHandler::CreatePrefabInMemory(const EntityIdList& entityIds, AZStd::string_view filePath) + CreatePrefabResult PrefabPublicRequestHandler::CreatePrefabInMemory(const EntityIdList& entityIds, AZStd::string_view filePath) { return m_prefabPublicInterface->CreatePrefabInMemory(entityIds, filePath); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.h index 87608e1263..ae0ed2a5d1 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicRequestHandler.h @@ -31,7 +31,7 @@ namespace AzToolsFramework void Connect(); void Disconnect(); - PrefabOperationResult CreatePrefabInMemory(const EntityIdList& entityIds, AZStd::string_view filePath) override; + CreatePrefabResult CreatePrefabInMemory(const EntityIdList& entityIds, AZStd::string_view filePath) override; InstantiatePrefabResult InstantiatePrefab(AZStd::string_view filePath, AZ::EntityId parent, const AZ::Vector3& position) override; PrefabOperationResult DeleteEntitiesAndAllDescendantsInInstance(const EntityIdList& entityIds) override; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp index f3250e0bfd..2d3d1722ca 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp @@ -462,7 +462,7 @@ namespace AzToolsFramework linkId, templateId, templateToDelete.GetFilePath().c_str()); } - result = m_templateToLinkIdsMap.erase(templateToLinkIterator) != 0; + result = m_templateToLinkIdsMap.erase(templateToLinkIterator) != nullptr; AZ_Assert(result, "Prefab - PrefabSystemComponent::RemoveTemplate - " "Failed to remove Template with Id '%llu' on file path '%s' " diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp index 4ad409507e..3bd12b1ad3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp @@ -1315,7 +1315,7 @@ namespace AzToolsFramework void PerforceComponent::ThreadWorker() { m_ProcessThreadID = AZStd::this_thread::get_id(); - while (1) + while (true) { // block until signaled: m_WorkerSemaphore.acquire(); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp index da12a4bd7a..cc350c8107 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp @@ -38,7 +38,7 @@ namespace AZ AttributeDynamicScriptValue(const DynamicSerializableField& value) : m_value(value) {} - virtual ~AttributeDynamicScriptValue() + ~AttributeDynamicScriptValue() override { m_value.DestroyData(); } @@ -1031,15 +1031,15 @@ namespace AzToolsFramework ->Attribute("EditButton", "") ->Attribute("EditDescription", "Open in Lua Editor") ->Attribute("EditCallback", &ScriptEditorComponent::LaunchLuaEditor) - ->DataElement(0, &ScriptEditorComponent::m_scriptComponent, "Script properties", "The script template") + ->DataElement(nullptr, &ScriptEditorComponent::m_scriptComponent, "Script properties", "The script template") ->SetDynamicEditDataProvider(&ScriptEditorComponent::GetScriptPropertyEditData) ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ; ec->Class("Script Component", "Adding scripting functionality to the entity!") - ->DataElement(0, &AzFramework::ScriptComponent::m_properties, "Properties", "Lua script properties") + ->DataElement(nullptr, &AzFramework::ScriptComponent::m_properties, "Properties", "Lua script properties") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) - ->DataElement(0, &AzFramework::ScriptComponent::m_script, "Asset", "") + ->DataElement(nullptr, &AzFramework::ScriptComponent::m_script, "Asset", "") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::Hide) ->Attribute(AZ::Edit::Attributes::SliceFlags, AZ::Edit::SliceFlags::NotPushable) // Only the editor-component's script asset needs to be slice-pushable. ; @@ -1048,9 +1048,9 @@ namespace AzToolsFramework ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AzFramework::ScriptPropertyGroup::m_name)-> Attribute(AZ::Edit::Attributes::AutoExpand, true)-> - DataElement(0, &AzFramework::ScriptPropertyGroup::m_properties, "m_properties", "Properties in this property group")-> + DataElement(nullptr, &AzFramework::ScriptPropertyGroup::m_properties, "m_properties", "Properties in this property group")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AzFramework::ScriptPropertyGroup::m_groups, "m_groups", "Subgroups in this property group")-> + DataElement(nullptr, &AzFramework::ScriptPropertyGroup::m_groups, "m_groups", "Subgroups in this property group")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); ec->Class("Script Property", "Base class for script properties")-> @@ -1060,50 +1060,50 @@ namespace AzToolsFramework ec->Class("Script Property (bool)", "A script boolean property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyBoolean::m_value, "m_value", "A boolean")-> + DataElement(nullptr, &AZ::ScriptPropertyBoolean::m_value, "m_value", "A boolean")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property (number)", "A script number property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyNumber::m_value, "m_value", "A number")-> + DataElement(nullptr, &AZ::ScriptPropertyNumber::m_value, "m_value", "A number")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property (string)", "A script string property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyString::m_value, "m_value", "A string")-> + DataElement(nullptr, &AZ::ScriptPropertyString::m_value, "m_value", "A string")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property (object)", "A script object property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyGenericClass::m_value, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyGenericClass::m_value, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); ec->Class("Script Property Array(bool)", "A script bool array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyBooleanArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyBooleanArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyBooleanArray::m_values, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property Array(number)", "A script number array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyNumberArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyNumberArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyNumberArray::m_values, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property Array(string)", "A script string array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyStringArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyStringArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyStringArray::m_values, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property Array(object)", "A script object array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGenericClassArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> Attribute(AZ::Edit::Attributes::DynamicElementType, &AZ::ScriptPropertyGenericClassArray::GetElementTypeUuid)-> - DataElement(0, &AZ::ScriptPropertyGenericClassArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyGenericClassArray::m_values, "m_value", "An object")-> ElementAttribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp index 2ed70d81b8..4dd352646c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp @@ -17,21 +17,21 @@ namespace LegacyFramework { const char* appName() { - const char* result = NULL; + const char* result = nullptr; EBUS_EVENT_RESULT(result, FrameworkApplicationMessages::Bus, GetApplicationName); return result; } const char* appModule() { - const char* result = NULL; + const char* result = nullptr; EBUS_EVENT_RESULT(result, FrameworkApplicationMessages::Bus, GetApplicationModule); return result; } const char* appDir() { - const char* result = NULL; + const char* result = nullptr; EBUS_EVENT_RESULT(result, FrameworkApplicationMessages::Bus, GetApplicationDirectory); return result; } @@ -74,7 +74,7 @@ namespace LegacyFramework // helper function which retrieves the serialize context and asserts if its not found. AZ::SerializeContext* GetSerializeContext() { - AZ::SerializeContext* serializeContext = NULL; + AZ::SerializeContext* serializeContext = nullptr; EBUS_EVENT_RESULT(serializeContext, AZ::ComponentApplicationBus, GetSerializeContext); AZ_Assert(serializeContext, "No serialize context"); return serializeContext; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp index 33562421e9..95ea5397e7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp @@ -237,7 +237,7 @@ namespace LegacyFramework { m_applicationEntity->Deactivate(); delete m_applicationEntity; - m_applicationEntity = NULL; + m_applicationEntity = nullptr; } AZ::SystemTickBus::ExecuteQueuedEvents(); @@ -249,7 +249,7 @@ namespace LegacyFramework #endif delete m_ptrCommandLineParser; - m_ptrCommandLineParser = NULL; + m_ptrCommandLineParser = nullptr; CoreMessageBus::Handler::BusDisconnect(); FrameworkApplicationMessages::Handler::BusDisconnect(); @@ -269,7 +269,7 @@ namespace LegacyFramework { m_applicationEntity->Deactivate(); delete m_applicationEntity; - m_applicationEntity = NULL; + m_applicationEntity = nullptr; } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp index bc16b29830..98e06b77f3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp @@ -144,9 +144,9 @@ namespace AzToolsFramework qInstallMessageHandler(myMessageOutput); } - virtual ~AZQtApplication() + ~AZQtApplication() override { - qInstallMessageHandler(NULL); + qInstallMessageHandler(nullptr); } }; @@ -201,9 +201,9 @@ namespace AzToolsFramework // enable the built-in stylesheet by default: bool enableStyleSheet = true; - const AzFramework::CommandLine* comp = NULL; + const AzFramework::CommandLine* comp = nullptr; EBUS_EVENT_RESULT(comp, LegacyFramework::FrameworkApplicationMessages::Bus, GetCommandLineParser); - if (comp != NULL) + if (comp != nullptr) { if (comp->HasSwitch("nostyle")) { @@ -275,18 +275,18 @@ namespace AzToolsFramework // see still need to clean up: m_ptrTicker->cancel(); QApplication::processEvents(); - AZ::ComponentApplication* pApp = NULL; + AZ::ComponentApplication* pApp = nullptr; EBUS_EVENT_RESULT(pApp, AZ::ComponentApplicationBus, GetApplication); if (pApp) { pApp->Tick(); } azdestroy(m_ptrTicker); - m_ptrTicker = NULL; + m_ptrTicker = nullptr; } } - Framework::~Framework(void) + Framework::~Framework() { AZ::SystemTickBus::Handler::BusDisconnect(); @@ -299,7 +299,7 @@ namespace AzToolsFramework delete m_ActionChangeProject; m_ActionChangeProject = nullptr; - pApplication = NULL; + pApplication = nullptr; } // once we set the project, we can then tell all our other windows to restore our state. @@ -360,7 +360,7 @@ namespace AzToolsFramework } m_bTicking = true; // Tick the component app. - AZ::ComponentApplication* pApp = NULL; + AZ::ComponentApplication* pApp = nullptr; EBUS_EVENT_RESULT(pApp, AZ::ComponentApplicationBus, GetApplication); if (pApp) { @@ -491,7 +491,7 @@ namespace AzToolsFramework // we successfully got permission to quit! // pump the tickbus one last time! // QApplication::processEvents(); - AZ::ComponentApplication* pApp = NULL; + AZ::ComponentApplication* pApp = nullptr; EBUS_EVENT_RESULT(pApp, AZ::ComponentApplicationBus, GetApplication); if (pApp) { @@ -501,7 +501,7 @@ namespace AzToolsFramework m_ptrTicker->cancel(); azdestroy(m_ptrTicker); - m_ptrTicker = NULL; + m_ptrTicker = nullptr; QApplication::quit(); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp index 6318bc3e6e..72bef700d7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp @@ -38,7 +38,7 @@ namespace AzToolsFramework else { delete m_View; - m_View = NULL; + m_View = nullptr; } } void Framework::PreferencesAccepted() @@ -59,11 +59,11 @@ namespace AzToolsFramework if (m_View) { delete m_View; - m_View = NULL; + m_View = nullptr; } if (m_Model) { - m_Model = NULL; + m_Model = nullptr; } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp index 4fabdfad12..ef8bf42713 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp @@ -61,7 +61,7 @@ namespace AzToolsFramework , m_impl(new BaseLogPanel::Impl) { m_impl->storageID = 0; - this->setLayout(aznew LogPanelLayout(NULL)); + this->setLayout(aznew LogPanelLayout(nullptr)); m_impl->pTabWidget = new AzQtComponents::TabWidget(this); m_impl->pTabWidget->setObjectName(QString::fromUtf8("tabWidget")); @@ -601,7 +601,7 @@ namespace AzToolsFramework { if (index >= (int)m_children.size()) { - return NULL; + return nullptr; } return m_children[index]; @@ -609,11 +609,11 @@ namespace AzToolsFramework QLayoutItem* LogPanelLayout::takeAt(int index) { - QLayoutItem* pItem = NULL; + QLayoutItem* pItem = nullptr; if (index >= (int)m_children.size()) { - return NULL; + return nullptr; } pItem = m_children[index]; @@ -860,7 +860,7 @@ namespace AzToolsFramework return richLabel; } - return NULL; + return nullptr; } bool LogPanelItemDelegate::editorEvent(QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp index 1542a5f5ab..f550dbdc87 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp @@ -322,7 +322,7 @@ namespace AzToolsFramework actionList.removeAll(m_actionSelectAll); } - QMenu::exec(actionList, QCursor::pos(), 0, this); + QMenu::exec(actionList, QCursor::pos(), nullptr, this); } void StyledLogTab::CopySelected() diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp index 001cd12349..87527502dd 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp @@ -2352,6 +2352,13 @@ namespace AzToolsFramework { QMenu* revertMenu = nullptr; + auto addRevertMenu = [&menu]() + { + QMenu* revertOverridesMenu = menu.addMenu(tr("Revert overrides")); + revertOverridesMenu->setToolTipsVisible(true); + return revertOverridesMenu; + }; + //check for changes on selected property if (componentClassData) { @@ -2372,8 +2379,7 @@ namespace AzToolsFramework } // Only add the "Revert overrides" menu option if it belongs to a slice - revertMenu = menu.addMenu(tr("Revert overrides")); - revertMenu->setToolTipsVisible(true); + revertMenu = addRevertMenu(); revertMenu->setEnabled(false); if (fieldNode) @@ -2447,6 +2453,10 @@ namespace AzToolsFramework if (isPartOfSlice && hasSliceChanges) { + if (!revertMenu) + { + revertMenu = addRevertMenu(); + } revertMenu->setEnabled(true); QAction* revertComponentAction = revertMenu->addAction(tr("Component")); @@ -2487,6 +2497,10 @@ namespace AzToolsFramework relevantEntities.push_back(id); } + if (!revertMenu) + { + revertMenu = addRevertMenu(); + } revertMenu->setEnabled(true); QAction* revertAction = revertMenu->addAction(QObject::tr("Entity")); revertAction->setToolTip(QObject::tr("This will revert all component properties on this entity to the last saved.")); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp index fccabbf205..7fefb04872 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp @@ -236,7 +236,7 @@ namespace AzToolsFramework AZ_Assert(container, "This node is NOT a container node!"); const AZ::SerializeContext::ClassElement* containerClassElement = container->GetElement(container->GetDefaultElementNameCrc()); - AZ_Assert(containerClassElement != NULL, "We should have a valid default element in the container, otherwise we don't know what elements to make!"); + AZ_Assert(containerClassElement != nullptr, "We should have a valid default element in the container, otherwise we don't know what elements to make!"); if (!containerClassElement) { return false; @@ -261,7 +261,7 @@ namespace AzToolsFramework AZ_Assert(newDataAddress, "Faliled to create new element for the continer!"); // cast to base type (if needed) void* basePtr = m_context->DownCast(newDataAddress, classData->m_typeId, containerClassElement->m_typeId, classData->m_azRtti, containerClassElement->m_azRtti); - AZ_Assert(basePtr != NULL, "Can't cast container element %s to %s, make sure classes are registered in the system and not generics!", classData->m_name, containerClassElement->m_name); + AZ_Assert(basePtr != nullptr, "Can't cast container element %s to %s, make sure classes are registered in the system and not generics!", classData->m_name, containerClassElement->m_name); *reinterpret_cast(dataAddress) = basePtr; // store the pointer in the class /// Store the element in the container container->StoreElement(GetInstance(i), dataAddress); @@ -608,7 +608,7 @@ namespace AzToolsFramework AZ_Assert(sc, "sc can't be NULL!"); AZ_Assert(m_rootInstances.size() > 0, "No root instances have been added to this hierarchy!"); - m_curParentNode = NULL; + m_curParentNode = nullptr; m_isMerging = false; m_instances.clear(); m_children.clear(); @@ -636,7 +636,7 @@ namespace AzToolsFramework for (size_t i = 1; i < m_rootInstances.size(); ++i) { - m_curParentNode = NULL; + m_curParentNode = nullptr; m_isMerging = true; m_matched = false; sc->EnumerateInstanceConst( @@ -956,7 +956,7 @@ namespace AzToolsFramework } } - InstanceDataNode* node = NULL; + InstanceDataNode* node = nullptr; // Extra steps need to be taken when we are merging if (m_isMerging) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp index ee43eb7e2c..c07191fda2 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp @@ -349,7 +349,7 @@ namespace AzToolsFramework if (pAssetType) { - (*pAssetType) = 0; + (*pAssetType) = nullptr; } if (!pData) @@ -529,7 +529,7 @@ namespace AzToolsFramework if (m_errorButton) { // If the button is already active, disconnect its pressed handler so we don't get multiple popups - disconnect(m_errorButton, &QPushButton::pressed, this, 0); + disconnect(m_errorButton, &QPushButton::pressed, this, nullptr); } else { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp index 6a1f1404a1..38a7f426db 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp @@ -137,7 +137,7 @@ namespace AzToolsFramework Q_UNUSED(debugName) } - AZ::u32 U32CRCHandler::GetHandlerName(void) const + AZ::u32 U32CRCHandler::GetHandlerName() const { return AZ::Edit::UIHandlers::Crc; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp index 678693ea32..2eabe64333 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp @@ -225,7 +225,7 @@ namespace AzToolsFramework if (!pHandlerFound) { // does a base class have a handler? - AZ::SerializeContext* sc = NULL; + AZ::SerializeContext* sc = nullptr; EBUS_EVENT_RESULT(sc, AZ::ComponentApplicationBus, GetSerializeContext); AZStd::vector classes; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp index c87f0e03ba..0ad874d1f6 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp @@ -254,9 +254,9 @@ namespace AzToolsFramework void QueueInvalidationIfSharedData(InternalReflectedPropertyEditorEvents* sender, PropertyModificationRefreshLevel level, const AZStd::set& sourceInstanceSet) override; // PropertyEditorGUIMessages::Bus::Handler - virtual void RequestWrite(QWidget* editorGUI) override; - virtual void AddElementsToParentContainer(QWidget* editorGUI, size_t numElements, const InstanceDataNode::FillDataClassCallback& fillDataCallback) override; - virtual void RequestRefresh(PropertyModificationRefreshLevel) override; + void RequestWrite(QWidget* editorGUI) override; + void AddElementsToParentContainer(QWidget* editorGUI, size_t numElements, const InstanceDataNode::FillDataClassCallback& fillDataCallback) override; + void RequestRefresh(PropertyModificationRefreshLevel) override; void RequestPropertyNotify(QWidget* editorGUI) override; void OnEditingFinished(QWidget* editorGUI) override; }; @@ -890,7 +890,7 @@ namespace AzToolsFramework { instance.Build(m_impl->m_context, AZ::SerializeContext::ENUM_ACCESS_FOR_READ, m_impl->m_dynamicEditDataProvider, m_impl->m_editorParent); m_impl->FilterNode(instance.GetRootNode(), filter); - m_impl->AddProperty(instance.GetRootNode(), NULL, 0); + m_impl->AddProperty(instance.GetRootNode(), nullptr, 0); } m_impl->UpdateExpansionState(); @@ -1077,7 +1077,7 @@ namespace AzToolsFramework PropertyRowWidget* ReflectedPropertyEditor::Impl::CreateOrPullFromPool() { - PropertyRowWidget* newWidget = NULL; + PropertyRowWidget* newWidget = nullptr; if (m_widgetPool.empty()) { newWidget = aznew PropertyRowWidget(m_containerWidget); @@ -1184,7 +1184,7 @@ namespace AzToolsFramework { // re-create the tab order, based on vertical position in the list. - QWidget* pLastWidget = NULL; + QWidget* pLastWidget = nullptr; for (AZStd::size_t pos = 0; pos < m_impl->m_widgetsInDisplayOrder.size(); ++pos) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp index 849b8d1705..e5fd3351ae 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp @@ -195,17 +195,17 @@ namespace AzToolsFramework , m_criteriaOperator(FilterOperatorType::Or) , m_suppressCriteriaChanged(false) { - m_mainLayout = new QVBoxLayout(NULL); + m_mainLayout = new QVBoxLayout(nullptr); m_mainLayout->setSizeConstraint(QLayout::SetMinimumSize); m_mainLayout->setContentsMargins(0, 0, 0, 0); - QHBoxLayout* secondaryLayout = new QHBoxLayout(NULL); + QHBoxLayout* secondaryLayout = new QHBoxLayout(nullptr); secondaryLayout->setSizeConstraint(QLayout::SetMinimumSize); secondaryLayout->setContentsMargins(0, 0, 0, 0); - m_filterLayout = new QHBoxLayout(NULL); + m_filterLayout = new QHBoxLayout(nullptr); m_tagLayout = new FlowLayout(nullptr); m_tagLayout->setAlignment(Qt::AlignLeft); - QHBoxLayout* filterTextLayout = new QHBoxLayout(NULL); + QHBoxLayout* filterTextLayout = new QHBoxLayout(nullptr); filterTextLayout->setSizeConstraint(QLayout::SetMinimumSize); filterTextLayout->setContentsMargins(0, 0, 0, 0); filterTextLayout->setSpacing(0); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp index 75c8c607c6..e71910f4fc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp @@ -41,7 +41,7 @@ namespace AzToolsFramework { } - virtual ~QTreeViewStateSaverData() + ~QTreeViewStateSaverData() override { } @@ -213,7 +213,7 @@ namespace AzToolsFramework } } - void ApplySnapshot(QTreeView* treeView) + void ApplySnapshot(QTreeView* treeView) override { Q_ASSERT(treeView && treeView->model()); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.cpp new file mode 100644 index 0000000000..e3b45aca2b --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.cpp @@ -0,0 +1,65 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include + +namespace AzToolsFramework +{ + AzFramework::ClickDetector::ClickEvent ClickDetectorEventFromViewportInteraction( + const ViewportInteraction::MouseInteractionEvent& mouseInteraction) + { + if (mouseInteraction.m_mouseInteraction.m_mouseButtons.Left()) + { + if (mouseInteraction.m_mouseEvent == ViewportInteraction::MouseEvent::Down) + { + return AzFramework::ClickDetector::ClickEvent::Down; + } + + if (mouseInteraction.m_mouseEvent == ViewportInteraction::MouseEvent::Up) + { + return AzFramework::ClickDetector::ClickEvent::Up; + } + } + + return AzFramework::ClickDetector::ClickEvent::Nil; + } + + float ManipulatorLineBoundWidth(const AzFramework::ViewportId viewportId /*= AzFramework::InvalidViewportId*/) + { + float lineBoundWidth = 0.0f; + if (viewportId != AzFramework::InvalidViewportId) + { + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + lineBoundWidth, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::ManipulatorLineBoundWidth); + } + else + { + ViewportInteraction::ViewportSettingsRequestBus::BroadcastResult( + lineBoundWidth, &ViewportInteraction::ViewportSettingsRequestBus::Events::ManipulatorLineBoundWidth); + } + + return lineBoundWidth; + } + + float ManipulatorCicleBoundWidth(const AzFramework::ViewportId viewportId /*= AzFramework::InvalidViewportId*/) + { + float circleBoundWidth = 0.0f; + if (viewportId != AzFramework::InvalidViewportId) + { + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + circleBoundWidth, viewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::ManipulatorCircleBoundWidth); + } + else + { + ViewportInteraction::ViewportSettingsRequestBus::BroadcastResult( + circleBoundWidth, &ViewportInteraction::ViewportSettingsRequestBus::Events::ManipulatorCircleBoundWidth); + } + + return circleBoundWidth; + } +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h index f6ba87a0ec..942fee1a49 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h @@ -156,22 +156,12 @@ namespace AzToolsFramework class ViewportInteractionRequests { public: - //! Return the current camera state for this viewport. + //! Returns the current camera state for this viewport. virtual AzFramework::CameraState GetCameraState() = 0; - //! Return if grid snapping is enabled. - virtual bool GridSnappingEnabled() = 0; - //! Return the grid snapping size. - virtual float GridSize() = 0; - //! Does the grid currently want to be displayed. - virtual bool ShowGrid() = 0; - //! Return if angle snapping is enabled. - virtual bool AngleSnappingEnabled() = 0; - //! Return the angle snapping/step size. - virtual float AngleStep() = 0; - //! Transform a point in world space to screen space coordinates in Qt Widget space. + //! Transforms a point in world space to screen space coordinates in Qt Widget space. //! Multiply by DeviceScalingFactor to get the position in viewport pixel space. virtual AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition) = 0; - //! Transform a point from Qt widget screen space to world space based on the given clip space depth. + //! Transforms a point from Qt widget screen space to world space based on the given clip space depth. //! Depth specifies a relative camera depth to project in the range of [0.f, 1.f]. //! Returns the world space position if successful. virtual AZStd::optional ViewportScreenToWorld(const AzFramework::ScreenPoint& screenPosition, float depth) = 0; @@ -185,12 +175,13 @@ namespace AzToolsFramework ~ViewportInteractionRequests() = default; }; + //! Type to inherit to implement ViewportInteractionRequests. + using ViewportInteractionRequestBus = AZ::EBus; + //! Interface to return only viewport specific settings (e.g. snapping). - class ViewportSettings + class ViewportSettingsRequests { public: - virtual ~ViewportSettings() = default; - //! Return if grid snapping is enabled. virtual bool GridSnappingEnabled() const = 0; //! Return the grid snapping size. @@ -201,20 +192,31 @@ namespace AzToolsFramework virtual bool AngleSnappingEnabled() const = 0; //! Return the angle snapping/step size. virtual float AngleStep() const = 0; + //! Returns the current line bound width for manipulators. + virtual float ManipulatorLineBoundWidth() const = 0; + //! Returns the current circle (torus) bound width for manipulators. + virtual float ManipulatorCircleBoundWidth() const = 0; + + protected: + ~ViewportSettingsRequests() = default; }; - //! Type to inherit to implement ViewportInteractionRequests. - using ViewportInteractionRequestBus = AZ::EBus; + //! Type to inherit to implement ViewportSettingsRequests. + using ViewportSettingsRequestBus = AZ::EBus; //! An interface to notify when changes to viewport settings have happened. class ViewportSettingNotifications { public: - virtual void OnGridSnappingChanged([[maybe_unused]] bool enabled) {} - virtual void OnDrawHelpersChanged([[maybe_unused]] bool enabled) {} + virtual void OnGridSnappingChanged([[maybe_unused]] bool enabled) + { + } + virtual void OnDrawHelpersChanged([[maybe_unused]] bool enabled) + { + } protected: - ViewportSettingNotifications() = default; + ~ViewportSettingNotifications() = default; }; using ViewportSettingsNotificationBus = AZ::EBus; @@ -248,8 +250,6 @@ namespace AzToolsFramework virtual AZ::Vector3 PickTerrain(const AzFramework::ScreenPoint& point) = 0; //! Return the terrain height given a world position in 2d (xy plane). virtual float TerrainHeight(const AZ::Vector2& position) = 0; - //! Given the current view frustum (viewport) return all visible entities. - virtual void FindVisibleEntities(AZStd::vector& visibleEntities) = 0; //! Is the user holding a modifier key to move the manipulator space from local to world. virtual bool ShowingWorldSpace() = 0; //! Return the widget to use as the parent for the viewport context menu. @@ -267,7 +267,20 @@ namespace AzToolsFramework //! Type to inherit to implement MainEditorViewportInteractionRequests. using MainEditorViewportInteractionRequestBus = AZ::EBus; - //! Viewport requests for managing the viewport's cursor state. + //! Editor entity requests to be made about the viewport. + class EditorEntityViewportInteractionRequests + { + public: + //! Given the current view frustum (viewport) return all visible entities. + virtual void FindVisibleEntities(AZStd::vector& visibleEntities) = 0; + + protected: + ~EditorEntityViewportInteractionRequests() = default; + }; + + using EditorEntityViewportInteractionRequestBus = AZ::EBus; + + //! Viewport requests for managing the viewport cursor state. class ViewportMouseCursorRequests { public: @@ -319,21 +332,14 @@ namespace AzToolsFramework //! Maps a mouse interaction event to a ClickDetector event. //! @note Function only cares about up or down events, all other events are mapped to Nil (ignored). - inline AzFramework::ClickDetector::ClickEvent ClickDetectorEventFromViewportInteraction( - const ViewportInteraction::MouseInteractionEvent& mouseInteraction) - { - if (mouseInteraction.m_mouseInteraction.m_mouseButtons.Left()) - { - if (mouseInteraction.m_mouseEvent == ViewportInteraction::MouseEvent::Down) - { - return AzFramework::ClickDetector::ClickEvent::Down; - } + AzFramework::ClickDetector::ClickEvent ClickDetectorEventFromViewportInteraction( + const ViewportInteraction::MouseInteractionEvent& mouseInteraction); - if (mouseInteraction.m_mouseEvent == ViewportInteraction::MouseEvent::Up) - { - return AzFramework::ClickDetector::ClickEvent::Up; - } - } - return AzFramework::ClickDetector::ClickEvent::Nil; - } + //! Wrap EBus call to retrieve manipulator line bound width. + //! @note It is possible to pass AzFramework::InvalidViewportId (the default) to perform a Broadcast as opposed to a targeted Event. + float ManipulatorLineBoundWidth(AzFramework::ViewportId viewportId = AzFramework::InvalidViewportId); + + //! Wrap EBus call to retrieve manipulator circle bound width. + //! @note It is possible to pass AzFramework::InvalidViewportId (the default) to perform a Broadcast as opposed to a targeted Event. + float ManipulatorCicleBoundWidth(AzFramework::ViewportId viewportId = AzFramework::InvalidViewportId); } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.cpp index 7cb0e718a8..f4b68b5970 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.cpp @@ -19,7 +19,7 @@ namespace AzToolsFramework { // default ray length for picking in the viewport - static const float s_pickRayLength = 1000.0f; + static const float EditorPickRayLength = 1000.0f; AZ::Vector3 CalculateCenterOffset(const AZ::EntityId entityId, const EditorTransformComponentSelectionRequests::Pivot pivot) { @@ -60,16 +60,27 @@ namespace AzToolsFramework return screenPosition; } - bool AabbIntersectMouseRay(const ViewportInteraction::MouseInteraction& mouseInteraction, const AZ::Aabb& aabb) + bool AabbIntersectRay(const AZ::Vector3& origin, const AZ::Vector3& direction, const AZ::Aabb& aabb, float& distance) { AZ_PROFILE_FUNCTION(AzToolsFramework); - const AZ::Vector3 rayScaledDir = mouseInteraction.m_mousePick.m_rayDirection * s_pickRayLength; + const AZ::Vector3 rayScaledDir = direction * EditorPickRayLength; - AZ::Vector3 startNormal; float t, end; - return AZ::Intersect::IntersectRayAABB( - mouseInteraction.m_mousePick.m_rayOrigin, rayScaledDir, rayScaledDir.GetReciprocal(), aabb, t, end, startNormal) > 0; + AZ::Vector3 startNormal; + if (AZ::Intersect::IntersectRayAABB(origin, rayScaledDir, rayScaledDir.GetReciprocal(), aabb, t, end, startNormal) > 0) + { + distance = t * EditorPickRayLength; + return true; + } + + return false; + } + + bool AabbIntersectMouseRay(const ViewportInteraction::MouseInteraction& mouseInteraction, const AZ::Aabb& aabb) + { + float unused; + return AabbIntersectRay(mouseInteraction.m_mousePick.m_rayOrigin, mouseInteraction.m_mousePick.m_rayDirection, aabb, unused); } bool PickEntity( @@ -117,8 +128,7 @@ namespace AzToolsFramework { float scaling = 1.0f; ViewportInteraction::ViewportInteractionRequestBus::EventResult( - scaling, viewportId, - &ViewportInteraction::ViewportInteractionRequestBus::Events::DeviceScalingFactor); + scaling, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::DeviceScalingFactor); return scaling; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.h index aa1b3ae5ce..ec9bde9f9c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorSelectionUtil.h @@ -46,6 +46,10 @@ namespace AzToolsFramework //! in screen space intersected an aabb in world space. bool AabbIntersectMouseRay(const ViewportInteraction::MouseInteraction& mouseInteraction, const AZ::Aabb& aabb); + //! Wrapper to perform an intersection between a ray and an aabb. + //! Note: direction should be normalized (it is scaled internally by the editor pick distance). + bool AabbIntersectRay(const AZ::Vector3& origin, const AZ::Vector3& direction, const AZ::Aabb& aabb, float& distance); + //! Return if a mouse interaction (pick ray) did intersect the tested EntityId. bool PickEntity( AZ::EntityId entityId, const ViewportInteraction::MouseInteraction& mouseInteraction, float& closestDistance, int viewportId); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index d315243697..101d7094db 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -488,8 +488,8 @@ namespace AzToolsFramework void SnappingCluster::TrySetVisible(const bool visible) { bool snapping = false; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - snapping, ViewportUi::DefaultViewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::GridSnappingEnabled); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + snapping, ViewportUi::DefaultViewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::GridSnappingEnabled); // show snapping viewport ui only if there are entities selected and snapping is enabled SetViewportUiClusterVisible(m_clusterId, visible && snapping); @@ -1249,6 +1249,7 @@ namespace AzToolsFramework AZStd::unique_ptr translationManipulators = AZStd::make_unique( TranslationManipulators::Dimensions::Three, AZ::Transform::CreateIdentity(), AZ::Vector3::CreateOne()); + translationManipulators->SetLineBoundWidth(ManipulatorLineBoundWidth(ViewportUi::DefaultViewportId)); InitializeManipulators(*translationManipulators); @@ -1376,6 +1377,7 @@ namespace AzToolsFramework AZStd::unique_ptr rotationManipulators = AZStd::make_unique(AZ::Transform::CreateIdentity()); + rotationManipulators->SetCircleBoundWidth(ManipulatorCicleBoundWidth(ViewportUi::DefaultViewportId)); InitializeManipulators(*rotationManipulators); @@ -1545,6 +1547,7 @@ namespace AzToolsFramework AZ_PROFILE_FUNCTION(AzToolsFramework); AZStd::unique_ptr scaleManipulators = AZStd::make_unique(AZ::Transform::CreateIdentity()); + scaleManipulators->SetLineBoundWidth(ManipulatorLineBoundWidth(ViewportUi::DefaultViewportId)); InitializeManipulators(*scaleManipulators); @@ -2544,8 +2547,8 @@ namespace AzToolsFramework if (buttonId == m_snappingCluster.m_snapToWorldButtonId) { float gridSize = 1.0f; - ViewportInteraction::ViewportInteractionRequestBus::EventResult( - gridSize, ViewportUi::DefaultViewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::GridSize); + ViewportInteraction::ViewportSettingsRequestBus::EventResult( + gridSize, ViewportUi::DefaultViewportId, &ViewportInteraction::ViewportSettingsRequestBus::Events::GridSize); SnapSelectedEntitiesToWorldGrid(gridSize); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorVisibleEntityDataCache.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorVisibleEntityDataCache.cpp index c65f494b72..5da827244f 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorVisibleEntityDataCache.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorVisibleEntityDataCache.cpp @@ -161,8 +161,8 @@ namespace AzToolsFramework // request list of visible entities from authoritative system EntityIdList nextVisibleEntityIds; - ViewportInteraction::MainEditorViewportInteractionRequestBus::Event( - viewportInfo.m_viewportId, &ViewportInteraction::MainEditorViewportInteractionRequestBus::Events::FindVisibleEntities, + ViewportInteraction::EditorEntityViewportInteractionRequestBus::Event( + viewportInfo.m_viewportId, &ViewportInteraction::EditorEntityViewportInteractionRequestBus::Events::FindVisibleEntities, nextVisibleEntityIds); // only bother resorting if we know the lists have changed diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake index 14c5f34f90..2d9e75a115 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake @@ -481,6 +481,7 @@ set(FILES Viewport/VertexContainerDisplay.h Viewport/VertexContainerDisplay.cpp Viewport/ViewportMessages.h + Viewport/ViewportMessages.cpp Viewport/ViewportTypes.h Viewport/ViewportTypes.cpp ViewportUi/Button.h diff --git a/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp b/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp index 4083608370..24488f3ed3 100644 --- a/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp +++ b/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp @@ -219,7 +219,7 @@ namespace UnitTest delete m_application; } - AZ::Data::AssetInfo GetAssetInfoById(const AZ::Data::AssetId& id) + AZ::Data::AssetInfo GetAssetInfoById(const AZ::Data::AssetId& id) override { auto foundIter = m_assetRegistry->m_assetIdToInfo.find(id); if (foundIter != m_assetRegistry->m_assetIdToInfo.end()) diff --git a/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp b/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp index e15f4f3cfd..e416efc5c6 100644 --- a/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp +++ b/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp @@ -1202,7 +1202,7 @@ namespace UnitTest AZ_COMPONENT(HiddenComponent, "{E4D2AD8B-3930-46FC-837A-8DDFCA0FB1AF}", AzToolsFramework::Components::EditorComponentBase); static Component* s_wasDeleted; - virtual ~HiddenComponent() + ~HiddenComponent() override { s_wasDeleted = this; } diff --git a/Code/Framework/AzToolsFramework/Tests/ComponentModeTestFixture.cpp b/Code/Framework/AzToolsFramework/Tests/ComponentModeTestFixture.cpp index cfdd2d082c..672a0d6705 100644 --- a/Code/Framework/AzToolsFramework/Tests/ComponentModeTestFixture.cpp +++ b/Code/Framework/AzToolsFramework/Tests/ComponentModeTestFixture.cpp @@ -6,8 +6,8 @@ * */ -#include "ComponentModeTestDoubles.h" #include "ComponentModeTestFixture.h" +#include "ComponentModeTestDoubles.h" #include @@ -15,17 +15,15 @@ namespace UnitTest { void ComponentModeTestFixture::SetUpEditorFixtureImpl() { - using namespace AzToolsFramework; - using namespace AzToolsFramework::ComponentModeFramework; + namespace AztfCmf = AzToolsFramework::ComponentModeFramework; auto* app = GetApplication(); - ASSERT_TRUE(app); - app->RegisterComponentDescriptor(PlaceholderEditorComponent::CreateDescriptor()); - app->RegisterComponentDescriptor(AnotherPlaceholderEditorComponent::CreateDescriptor()); - app->RegisterComponentDescriptor(DependentPlaceholderEditorComponent::CreateDescriptor()); + app->RegisterComponentDescriptor(AztfCmf::PlaceholderEditorComponent::CreateDescriptor()); + app->RegisterComponentDescriptor(AztfCmf::AnotherPlaceholderEditorComponent::CreateDescriptor()); + app->RegisterComponentDescriptor(AztfCmf::DependentPlaceholderEditorComponent::CreateDescriptor()); app->RegisterComponentDescriptor( - TestComponentModeComponent::CreateDescriptor()); - app->RegisterComponentDescriptor(IncompatiblePlaceholderEditorComponent::CreateDescriptor()); + AztfCmf::TestComponentModeComponent::CreateDescriptor()); + app->RegisterComponentDescriptor(AztfCmf::IncompatiblePlaceholderEditorComponent::CreateDescriptor()); } } // namespace UnitTest diff --git a/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp b/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp index db92085e98..2c757f8e9e 100644 --- a/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp @@ -66,7 +66,7 @@ namespace AzToolsFramework { } - virtual ~EntitySearch_TestComponent1() override + ~EntitySearch_TestComponent1() override {} private: @@ -123,7 +123,7 @@ namespace AzToolsFramework { } - virtual ~EntitySearch_TestComponent2() override + ~EntitySearch_TestComponent2() override {} private: diff --git a/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp b/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp index b6b428cc11..486224c011 100644 --- a/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp @@ -55,7 +55,7 @@ namespace UnitTest AzToolsFramework::EditorRequests::Bus::Handler::BusConnect(); } - ~EditorRequestHandlerTest() + ~EditorRequestHandlerTest() override { AzToolsFramework::EditorRequests::Bus::Handler::BusDisconnect(); } diff --git a/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp b/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp index 9af74c7996..0fbc7eba98 100644 --- a/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp @@ -67,7 +67,7 @@ namespace UnitTest services.push_back(AZ_CRC("InspectorTestService1")); } - virtual ~Inspector_TestComponent1() override + ~Inspector_TestComponent1() override { } @@ -136,7 +136,7 @@ namespace UnitTest services.push_back(AZ_CRC("InspectorTestService2")); } - virtual ~Inspector_TestComponent2() override + ~Inspector_TestComponent2() override { } @@ -205,7 +205,7 @@ namespace UnitTest services.push_back(AZ_CRC("InspectorTestService3")); } - virtual ~Inspector_TestComponent3() override + ~Inspector_TestComponent3() override { } diff --git a/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp b/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp index c4299a6ff9..94b32f9e41 100644 --- a/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp +++ b/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp @@ -31,7 +31,7 @@ namespace UnitTest class FileFuncTest : public ScopedAllocatorSetupFixture { public: - void SetUp() + void SetUp() override { m_prevFileIO = AZ::IO::FileIOBase::GetInstance(); AZ::IO::FileIOBase::SetInstance(nullptr); diff --git a/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp b/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp index 806a3bbab2..4d144d0d1b 100644 --- a/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp +++ b/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp @@ -104,15 +104,15 @@ namespace UnitTest if (AZ::EditContext* edit = serializeContext->GetEditContext()) { edit->Class("Test Component", "A test component") - ->DataElement(0, &TestComponent::m_float, "Float Field", "A float field") - ->DataElement(0, &TestComponent::m_string, "String Field", "A string field") - ->DataElement(0, &TestComponent::m_normalContainer, "Normal Container", "A container") - ->DataElement(0, &TestComponent::m_pointerContainer, "Pointer Container", "A container") - ->DataElement(0, &TestComponent::m_subData, "Struct Field", "A sub data type") + ->DataElement(nullptr, &TestComponent::m_float, "Float Field", "A float field") + ->DataElement(nullptr, &TestComponent::m_string, "String Field", "A string field") + ->DataElement(nullptr, &TestComponent::m_normalContainer, "Normal Container", "A container") + ->DataElement(nullptr, &TestComponent::m_pointerContainer, "Pointer Container", "A container") + ->DataElement(nullptr, &TestComponent::m_subData, "Struct Field", "A sub data type") ; edit->Class("Test Component", "A test component") - ->DataElement(0, &SubData::m_int, "Int Field", "An int") + ->DataElement(nullptr, &SubData::m_int, "Int Field", "An int") ; } } @@ -156,7 +156,7 @@ namespace UnitTest { } - ~InstanceDataHierarchyBasicTest() + ~InstanceDataHierarchyBasicTest() override { } @@ -481,7 +481,7 @@ namespace UnitTest { } - ~InstanceDataHierarchyCopyContainerChangesTest() + ~InstanceDataHierarchyCopyContainerChangesTest() override { } @@ -680,8 +680,8 @@ namespace UnitTest ; edit->Class("Enum Container", "Test container that has an external enum") - ->DataElement(0, &EnumContainer::m_enum, "Enum Field", "An enum value") - ->DataElement(0, &EnumContainer::m_enumVector, "Enum Vector Field", "A vector of enum values") + ->DataElement(nullptr, &EnumContainer::m_enum, "Enum Field", "An enum value") + ->DataElement(nullptr, &EnumContainer::m_enumVector, "Enum Vector Field", "A vector of enum values") ; } } @@ -776,21 +776,21 @@ namespace UnitTest { edit->Class("Group Test Component", "Testing normal groups and toggle groups") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->DataElement(0, &GroupTestComponent::m_float, "Float Field", "A float field") + ->DataElement(nullptr, &GroupTestComponent::m_float, "Float Field", "A float field") ->ClassElement(AZ::Edit::ClassElements::Group, "Normal Group") - ->DataElement(0, &GroupTestComponent::m_groupFloat, "Float Field", "A float field") - ->DataElement(0, &GroupTestComponent::m_subGroupForNormal, "Struct Field", "A sub data type") + ->DataElement(nullptr, &GroupTestComponent::m_groupFloat, "Float Field", "A float field") + ->DataElement(nullptr, &GroupTestComponent::m_subGroupForNormal, "Struct Field", "A sub data type") ->GroupElementToggle("Group Toggle", &GroupTestComponent::m_groupToggle) - ->DataElement(0, &GroupTestComponent::m_toggleGroupInt, "Normal Integer", "An Integer") - ->DataElement(0, &GroupTestComponent::m_subGroupForToggle, "Struct Field", "A sub data type") + ->DataElement(nullptr, &GroupTestComponent::m_toggleGroupInt, "Normal Integer", "An Integer") + ->DataElement(nullptr, &GroupTestComponent::m_subGroupForToggle, "Struct Field", "A sub data type") ; edit->Class("SubGroup Test Component", "Testing nested normal groups and toggle groups") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->ClassElement(AZ::Edit::ClassElements::Group, "Normal SubGroup") - ->DataElement(0, &SubData::m_int, "SubGroup Int Field", "An int") + ->DataElement(nullptr, &SubData::m_int, "SubGroup Int Field", "An int") ->GroupElementToggle("SubGroup Toggle", &SubData::m_bool) - ->DataElement(0, &SubData::m_float, "SubGroup Float Field", "An int") + ->DataElement(nullptr, &SubData::m_float, "SubGroup Float Field", "An int") ; } } @@ -974,7 +974,7 @@ namespace UnitTest { } - void InsertAndVerifyKeys(AZ::SerializeContext::IDataContainer* container, void* key, void* instance, const AZ::SerializeContext::ClassElement* classElement) const + void InsertAndVerifyKeys(AZ::SerializeContext::IDataContainer* container, void* key, void* instance, const AZ::SerializeContext::ClassElement* classElement) const override { T* keyContainer = reinterpret_cast(key); for (const T& keyToInsert : keysToInsert) @@ -1258,7 +1258,7 @@ namespace UnitTest { editContext->Class("Test", "") ->UIElement("TestHandler", "UIElement") - ->DataElement(0, &UIElementContainer::m_data) + ->DataElement(nullptr, &UIElementContainer::m_data) ->UIElement(AZ_CRC("TestHandler2"), "UIElement2") ; } @@ -1322,8 +1322,8 @@ namespace UnitTest { // By default, DataElements accept multi-edit and UIElements do not editContext->Class("Test", "") - ->DataElement(0, &AggregatedContainer::m_aggregated) - ->DataElement(0, &AggregatedContainer::m_notAggregated) + ->DataElement(nullptr, &AggregatedContainer::m_aggregated) + ->DataElement(nullptr, &AggregatedContainer::m_notAggregated) ->Attribute(AZ::Edit::Attributes::AcceptsMultiEdit, false) ->UIElement("TestHandler", "aggregatedUIElement") ->Attribute(AZ::Edit::Attributes::AcceptsMultiEdit, true) diff --git a/Code/Framework/AzToolsFramework/Tests/ManipulatorBoundsTests.cpp b/Code/Framework/AzToolsFramework/Tests/ManipulatorBoundsTests.cpp index 1c3303269d..bca1624290 100644 --- a/Code/Framework/AzToolsFramework/Tests/ManipulatorBoundsTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/ManipulatorBoundsTests.cpp @@ -187,4 +187,51 @@ namespace UnitTest EXPECT_NEAR(intersectionDistance, 10.0f, g_epsilon); EXPECT_TRUE(intersection); } + + // replicates a scenario in the Editor using a cone and a pick ray which should have failed but passed with Intersect::IntersectRayCone + TEST(ManipulatorIntersectRayConeTest, RayConeEditorScenarioTest) + { + auto rayOrigin = AZ::Vector3(0.0f, -0.808944702f, 0.0f); + auto rayDir = AZ::Vector3(0.301363617f, 0.939044654f, 0.165454566f); + float t = 0.0f; + bool hit = AzToolsFramework::Picking::IntersectRayCone( + rayOrigin, rayDir, AZ::Vector3(0.0f, 0.0f, 0.161788940f), AZ::Vector3(0.0f, 0.0f, -1.0f), 0.0453009047, 0.0113252262, t); + EXPECT_FALSE(hit); + } + + // cone lying flat, ray going towards base of cone + TEST(ManipulatorIntersectRayConeTest, RayIntersectsConeBase) + { + auto rayOrigin = AZ::Vector3::CreateZero(); + auto rayDir = AZ::Vector3::CreateAxisY(); + float t = 0.0f; + bool hit = AzToolsFramework::Picking::IntersectRayCone( + rayOrigin, rayDir, AZ::Vector3::CreateAxisY(10.0f), AZ::Vector3::CreateAxisY(-1.0f), 5.0f, 1.0f, t); + EXPECT_TRUE(hit); + EXPECT_THAT(t, ::testing::FloatNear(5.0f, 0.0001f)); + } + + // cone standing up, ray going towards mid side of cone + TEST(ManipulatorIntersectRayConeTest, RayIntersectsConeSide) + { + auto rayOrigin = AZ::Vector3::CreateZero(); + auto rayDir = AZ::Vector3::CreateAxisY(); + float t = 0.0f; + bool hit = AzToolsFramework::Picking::IntersectRayCone( + rayOrigin, rayDir, AZ::Vector3(0.0f, 10.0f, 5.0f), AZ::Vector3::CreateAxisZ(-1.0f), 10.0f, 5.0f, t); + EXPECT_TRUE(hit); + EXPECT_THAT(t, ::testing::FloatNear(7.5f, 0.0001f)); + } + + // cone standing up, ray going towards mid side of cone + TEST(ManipulatorIntersectRayConeTest, RayIntersectsConeApex) + { + auto rayOrigin = AZ::Vector3::CreateZero(); + auto rayDir = AZ::Vector3::CreateAxisY(); + float t = 0.0f; + bool hit = AzToolsFramework::Picking::IntersectRayCone( + rayOrigin, rayDir, AZ::Vector3::CreateAxisY(2.5f), AZ::Vector3::CreateAxisY(1.0f), 5.0f, 1.0f, t); + EXPECT_TRUE(hit); + EXPECT_THAT(t, ::testing::FloatNear(2.5f, 0.0001f)); + } } // namespace UnitTest diff --git a/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp b/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp index 1c1e063592..91e53f1650 100644 --- a/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp @@ -73,7 +73,7 @@ namespace UnitTest if (AZ::EditContext* editContext = serializeContext->GetEditContext()) { editContext->Class("TestSimpleAsset", "Test data block for a simple asset mock data block") - ->DataElement(0, &TestSimpleAsset::m_data, "My Data", "A test bool value.") + ->DataElement(nullptr, &TestSimpleAsset::m_data, "My Data", "A test bool value.") ; } } @@ -171,7 +171,7 @@ namespace UnitTest ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::HideChildren) ->DataElement(AZ::Edit::UIHandlers::Default, &PropertyTreeEditorTester::m_myReadOnlyShort, "My Read Only", "A test read only node.") ->Attribute(AZ::Edit::Attributes::ReadOnly, true) - ->DataElement(0, &PropertyTreeEditorTester::m_mySubBlock, "My Sub Block", "sub block test") + ->DataElement(nullptr, &PropertyTreeEditorTester::m_mySubBlock, "My Sub Block", "sub block test") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->ClassElement(AZ::Edit::ClassElements::Group, "Grouped") diff --git a/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp b/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp index b2fa44c271..8e273992ac 100644 --- a/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp @@ -31,7 +31,7 @@ namespace UnitTest { } - ~SQLiteTest() = default; + ~SQLiteTest() override = default; void SetUp() override { diff --git a/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp b/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp index 2aa180cfc0..cdb8fea513 100644 --- a/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp @@ -28,7 +28,7 @@ namespace UnitTest ScriptContext* m_scriptContext; - ~EntityScriptTest() + ~EntityScriptTest() override { } diff --git a/Code/Framework/AzToolsFramework/Tests/Slice.cpp b/Code/Framework/AzToolsFramework/Tests/Slice.cpp index 1723fbed8b..58865df345 100644 --- a/Code/Framework/AzToolsFramework/Tests/Slice.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Slice.cpp @@ -457,7 +457,7 @@ namespace UnitTest { AZ::Debug::TraceMessageBus::Handler::BusConnect(); } - ~SliceTestWarningInterceptor() + ~SliceTestWarningInterceptor() override { AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); } diff --git a/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp b/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp index f9b84c6130..ca32097341 100644 --- a/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp +++ b/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp @@ -413,7 +413,7 @@ namespace UnitTest *m_completedFlag = false; } - ~UndoDestructorTest() + ~UndoDestructorTest() override { *m_completedFlag = true; } diff --git a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp index e1896af4db..ddfcde34b2 100644 --- a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp @@ -28,7 +28,7 @@ namespace UnitTest public: ViewportUiDisplayTestFixture() = default; - void SetUp() + void SetUp() override { m_buttonGroup = AZStd::make_shared(); m_buttonGroup->AddButton(""); @@ -36,7 +36,7 @@ namespace UnitTest m_mockRenderOverlay = new QWidget(); } - void TearDown() + void TearDown() override { m_buttonGroup.reset(); delete m_parentWidget; diff --git a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp index 91100b18c5..676b9c5e35 100644 --- a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp @@ -26,7 +26,7 @@ namespace UnitTest { public: ViewportUiManagerTestable() = default; - ~ViewportUiManagerTestable() = default; + ~ViewportUiManagerTestable() override = default; const AZStd::unordered_map>& GetClusterMap() { @@ -84,12 +84,12 @@ namespace UnitTest ViewportManagerWrapper m_viewportManagerWrapper; - void SetUp() + void SetUp() override { m_viewportManagerWrapper.Create(); } - void TearDown() + void TearDown() override { m_viewportManagerWrapper.Destroy(); } diff --git a/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp b/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp index 8b484143de..095f392501 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp @@ -591,13 +591,13 @@ namespace GridMate ThreadMessage(MainThreadMsg mtm) : m_code(mtm) - , m_connection(NULL) - , m_threadConnection(NULL) + , m_connection(nullptr) + , m_threadConnection(nullptr) {} ThreadMessage(CarrierThreadMsg ctm) : m_code(ctm) - , m_connection(NULL) - , m_threadConnection(NULL) + , m_connection(nullptr) + , m_threadConnection(nullptr) {} int m_code; @@ -787,7 +787,7 @@ namespace GridMate AZ_FORCE_INLINE ThreadMessage* PopCarrierThreadMessage() { AZStd::lock_guard l(m_carrierMsgQueueLock); - ThreadMessage* res = NULL; + ThreadMessage* res = nullptr; if (!m_carrierMsgQueue.empty()) { res = m_carrierMsgQueue.front(); @@ -799,7 +799,7 @@ namespace GridMate AZ_FORCE_INLINE ThreadMessage* PopMainThreadMessage() { AZStd::lock_guard l(m_mainMsgQueueLock); - ThreadMessage* res = NULL; + ThreadMessage* res = nullptr; if (!m_mainMsgQueue.empty()) { res = m_mainMsgQueue.front(); @@ -1120,7 +1120,7 @@ using namespace GridMate; ////////////////////////////////////////////////////////////////////////// Connection::Connection(CarrierThread* threadOwner, const AZStd::string& address) : m_threadOwner(threadOwner) - , m_threadConn(NULL) + , m_threadConn(nullptr) , m_fullAddress(address) , m_state(Carrier::CST_CONNECTING) { @@ -1139,7 +1139,7 @@ Connection::Connection(CarrierThread* threadOwner, const AZStd::string& address) Connection::~Connection() { - AZ_Error("GridMate", m_threadConn.load(AZStd::memory_order_acquire) == NULL, "We must detach the thread connection first!"); + AZ_Error("GridMate", m_threadConn.load(AZStd::memory_order_acquire) == nullptr, "We must detach the thread connection first!"); // Make sure render thread doesn't reference is at this point... it's too late for (unsigned int i = 0; i < AZ_ARRAY_SIZE(m_toSend); ++i) { @@ -1172,7 +1172,7 @@ Connection::~Connection() ThreadConnection::ThreadConnection(CarrierThread* threadOwner) : m_threadOwner(threadOwner) - , m_mainConnection(NULL) + , m_mainConnection(nullptr) , m_dataGramSeqNum(1) // IMPORTANT to start with 1 if we have not received any datagrams we will confirm a datagram with value of 0. , m_lastAckedDatagram(0) , m_lastReceivedDatagramTime(AZStd::chrono::system_clock::now()) @@ -1196,7 +1196,7 @@ ThreadConnection::ThreadConnection(CarrierThread* threadOwner) ThreadConnection::~ThreadConnection() { - AZ_Error("GridMate", m_mainConnection == NULL || m_mainConnection->m_threadConn.load() == NULL, "We should have unbound the thread connection by now!"); + AZ_Error("GridMate", m_mainConnection == nullptr || m_mainConnection->m_threadConn.load() == nullptr, "We should have unbound the thread connection by now!"); for (unsigned char iChannel = 0; iChannel < k_maxNumberOfChannels; ++iChannel) { @@ -1215,8 +1215,8 @@ ThreadConnection::~ThreadConnection() m_threadOwner->FreeDatagram(dgram); } - m_target->m_threadConnection = NULL; - m_target = NULL; + m_target->m_threadConnection = nullptr; + m_target = nullptr; m_threadOwner->RemoveConnectionToSend(this); AZ_Error("GridMate", !IsLinked(), "Connection still linked!"); @@ -1245,7 +1245,7 @@ CarrierThread::CarrierThread(const CarrierDesc& desc, AZStd::shared_ptrGetMaxSendSize(), @@ -1667,7 +1667,7 @@ CarrierThread::UpdateReceive() ReadBuffer readBuffer(kCarrierEndian, data, recvDataGramSize); ThreadConnection* conn = nullptr; - if (fromAddress->m_threadConnection != NULL) + if (fromAddress->m_threadConnection != nullptr) { conn = fromAddress->m_threadConnection; receivedConnections.insert(conn); @@ -2214,7 +2214,7 @@ CarrierThread::UpdateStats() for (ThreadConnectionList::iterator iConn = m_threadConnections.begin(); iConn != m_threadConnections.end(); ++iConn) { ThreadConnection* conn = *iConn; - if (conn->m_mainConnection == NULL) + if (conn->m_mainConnection == nullptr) { continue; } @@ -2267,40 +2267,40 @@ CarrierThread::ThreadPump() // Process messages for us { ThreadMessage* msg; - while ((msg = PopCarrierThreadMessage()) != NULL) + while ((msg = PopCarrierThreadMessage()) != nullptr) { switch (msg->m_code) { case CTM_CONNECT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); // if this connect was initiated from a remote machine msg->threadConnection will be != NULL ThreadConnection* conn = msg->m_threadConnection; if (!conn) { // The main thread is initiating this connection AZStd::intrusive_ptr driverAddress = m_driver->CreateDriverAddress(msg->m_connection->m_fullAddress); - if (driverAddress->m_threadConnection != NULL) + if (driverAddress->m_threadConnection != nullptr) { AZ_TracePrintf("GridMate", "Thread connection to %s already exists!\n", driverAddress->ToString().c_str()); // we already have such thread connection conn = driverAddress->m_threadConnection; // make sure the existing connection is not bound - AZ_Assert(conn->m_mainConnection == NULL, "This thread connection should be unbound!"); + AZ_Assert(conn->m_mainConnection == nullptr, "This thread connection should be unbound!"); } else { conn = MakeNewConnection(driverAddress); } } - AZ_Assert(conn->m_mainConnection == NULL || conn->m_mainConnection == msg->m_connection, "This thread connection should be unbound or bound to the imcomming main connection!"); + AZ_Assert(conn->m_mainConnection == nullptr || conn->m_mainConnection == msg->m_connection, "This thread connection should be unbound or bound to the imcomming main connection!"); conn->m_mainConnection = msg->m_connection; - AZ_Assert(conn->m_mainConnection->m_threadConn.load() == NULL || conn->m_mainConnection->m_threadConn.load() == conn, "This main connection should be unbound or bound to us!"); + AZ_Assert(conn->m_mainConnection->m_threadConn.load() == nullptr || conn->m_mainConnection->m_threadConn.load() == conn, "This main connection should be unbound or bound to us!"); conn->m_mainConnection->m_threadConn = conn; } break; case CTM_DISCONNECT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); ThreadConnection* tc = msg->m_connection->m_threadConn; if (tc && !tc->m_isDisconnecting) { @@ -2312,7 +2312,7 @@ CarrierThread::ThreadPump() } break; case CTM_DELETE_CONNECTION: { - ThreadConnection* tc = NULL; + ThreadConnection* tc = nullptr; tc = msg->m_threadConnection; if (tc) { @@ -2339,7 +2339,7 @@ CarrierThread::ThreadPump() ThreadMessage* mtm = aznew ThreadMessage(MTM_DELETE_CONNECTION); mtm->m_connection = msg->m_connection; RemoveConnectionToSend(mtm->m_threadConnection); - mtm->m_threadConnection = NULL; + mtm->m_threadConnection = nullptr; mtm->m_disconnectReason = msg->m_disconnectReason; PushMainThreadMessage(mtm); } @@ -2413,10 +2413,10 @@ CarrierThread::ThreadPump() if (tc->m_mainConnection) { RemoveConnectionToSend(tc); - tc->m_mainConnection->m_threadConn = NULL; + tc->m_mainConnection->m_threadConn = nullptr; ThreadMessage* mtm = aznew ThreadMessage(MTM_DELETE_CONNECTION); mtm->m_connection = tc->m_mainConnection; - mtm->m_threadConnection = NULL; + mtm->m_threadConnection = nullptr; mtm->m_disconnectReason = CarrierDisconnectReason::DISCONNECT_SHUTTING_DOWN; PushMainThreadMessage(mtm); } @@ -2582,7 +2582,7 @@ void CarrierThread::WriteAckData(ThreadConnection* connection, WriteBuffer& writ // Generate ACK bits SequenceNumber lastToAck; // last received datagram SequenceNumber firstToAck; // first received datagram (still in the list) - unsigned char* ackHistoryBits = NULL; + unsigned char* ackHistoryBits = nullptr; unsigned char ackNumHistoryBytes = 0; unsigned char ackHistoryBitsStorage[DataGramHistoryList::m_datagramHistoryMaxNumberOfBytes]; @@ -2736,7 +2736,7 @@ CarrierThread::ReadAckData(ThreadConnection* connection, ReadBuffer& readBuffer) return; } - if (connection != NULL && isAckData) + if (connection != nullptr && isAckData) { if (firstToAck != lastToAck) { @@ -3707,12 +3707,12 @@ CarrierImpl::~CarrierImpl() } delete m_thread; - m_thread = NULL; + m_thread = nullptr; if (m_ownHandshake) { delete m_handshake; - m_handshake = NULL; + m_handshake = nullptr; } } @@ -4235,13 +4235,13 @@ CarrierImpl::ProcessMainThreadMessages() // Process messages from the carrier thread { ThreadMessage* msg; - while ((msg = m_thread->PopMainThreadMessage()) != NULL) + while ((msg = m_thread->PopMainThreadMessage()) != nullptr) { switch (msg->m_code) { case MTM_NEW_CONNECTION: { - Connection* conn = NULL; + Connection* conn = nullptr; // check if we don't have it in the list. for(auto& c : m_connections) { @@ -4255,8 +4255,8 @@ CarrierImpl::ProcessMainThreadMessages() { // we already have such connection ThreadConnection* threadConn = conn->m_threadConn.load(AZStd::memory_order_acquire); - AZ_Assert(threadConn == NULL || threadConn == msg->m_threadConnection, "This main connection 0x%08x (%s) already have bound thread connection 0x%08x->0x%08x!", conn, conn->m_fullAddress.c_str(), threadConn, threadConn->m_mainConnection); - if (threadConn == NULL) + AZ_Assert(threadConn == nullptr || threadConn == msg->m_threadConnection, "This main connection 0x%08x (%s) already have bound thread connection 0x%08x->0x%08x!", conn, conn->m_fullAddress.c_str(), threadConn, threadConn->m_mainConnection); + if (threadConn == nullptr) { // request a bind we have not already ThreadMessage* ctm = aznew ThreadMessage(CTM_CONNECT); @@ -4283,23 +4283,23 @@ CarrierImpl::ProcessMainThreadMessages() // we will not even make a connection ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_threadConnection = msg->m_threadConnection; - ctm->m_connection = NULL; + ctm->m_connection = nullptr; ctm->m_disconnectReason = CarrierDisconnectReason::DISCONNECT_HANDSHAKE_REJECTED; m_thread->PushCarrierThreadMessage(ctm); } } break; case MTM_DISCONNECT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); DisconnectRequest(msg->m_connection, msg->m_disconnectReason); } break; case MTM_DISCONNECT_TIMEOUT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); if (msg->m_connection->m_state == Carrier::CST_DISCONNECTING) { // unbind from the thread connection and inform carrier thread to delete it. - ThreadConnection* threadConn = msg->m_connection->m_threadConn.exchange(NULL); + ThreadConnection* threadConn = msg->m_connection->m_threadConn.exchange(nullptr); msg->m_connection->m_state = Carrier::CST_DISCONNECTED; ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_connection = msg->m_connection; @@ -4311,7 +4311,7 @@ CarrierImpl::ProcessMainThreadMessages() } break; case MTM_DELETE_CONNECTION: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); DeleteConnection(msg->m_connection, msg->m_disconnectReason); } break; case MTM_ON_ERROR: @@ -4534,7 +4534,7 @@ CarrierImpl::ProcessSystemMessages() // Delete connection conn->m_state = Carrier::CST_DISCONNECTED; // unbind from the thread connection and inform carrier thread to delete it. - ThreadConnection* threadConn = conn->m_threadConn.exchange(NULL); + ThreadConnection* threadConn = conn->m_threadConn.exchange(nullptr); ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_connection = conn; ctm->m_threadConnection = threadConn; @@ -4829,7 +4829,7 @@ CarrierImpl::GetTime() void CarrierImpl::DebugDeleteConnection(ConnectionID id) { - if (id == InvalidConnectionID && m_thread != NULL) + if (id == InvalidConnectionID && m_thread != nullptr) { return; } @@ -4844,7 +4844,7 @@ CarrierImpl::DebugDeleteConnection(ConnectionID id) // Delete connection conn->m_state = Carrier::CST_DISCONNECTED; // unbind from the thread connection and inform carrier thread to delete it. - ThreadConnection* threadConn = conn->m_threadConn.exchange(NULL); + ThreadConnection* threadConn = conn->m_threadConn.exchange(nullptr); ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_connection = conn; ctm->m_threadConnection = threadConn; @@ -4914,7 +4914,7 @@ DefaultCarrier::Create(const CarrierDesc& desc, IGridMate* gridMate) AZStd::string CarrierEventsBase::ReasonToString(CarrierDisconnectReason reason) { - const char* reasonStr = 0; + const char* reasonStr = nullptr; switch (reason) { case CarrierDisconnectReason::DISCONNECT_USER_REQUESTED: diff --git a/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp b/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp index f9280d9918..8743e50e83 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp @@ -58,8 +58,8 @@ DefaultTrafficControl::~DefaultTrafficControl() void DefaultTrafficControl::OnConnect(TrafficControlConnectionId id, const AZStd::intrusive_ptr& address) { - AZ_Assert(id->m_trafficData == NULL, "We have already assigned traffic data to this connection!"); - if (id->m_trafficData != NULL) + AZ_Assert(id->m_trafficData == nullptr, "We have already assigned traffic data to this connection!"); + if (id->m_trafficData != nullptr) { return; } @@ -100,7 +100,7 @@ void DefaultTrafficControl::OnDisconnect(TrafficControlConnectionId id) { ConnectionData* cd = reinterpret_cast(id->m_trafficData); - id->m_trafficData = NULL; + id->m_trafficData = nullptr; bool isFound = false; for (ConnectionListType::iterator i = m_connections.begin(); i != m_connections.end(); ++i) { diff --git a/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp b/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp index 08c5408848..91fc1ca69b 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp @@ -1081,7 +1081,7 @@ namespace GridMate }; sockaddr* sockAddr = reinterpret_cast(&sockAddrIn6); socklen_t sockAddrLen = sizeof(sockAddrIn6); - from = NULL; + from = nullptr; unsigned int recvd = m_platformDriver->Receive(data, maxDataSize, sockAddr, sockAddrLen, resultCode); @@ -1207,7 +1207,7 @@ namespace GridMate unsigned int port; if (!AddressToIPPort(address, ip, port)) { - return NULL; + return nullptr; } SocketDriverAddress drvAddr(this, ip, port); @@ -1313,7 +1313,7 @@ namespace GridMate fd_set fdwrite; FD_ZERO(&fdwrite); FD_SET(m_socket, &fdwrite); - select(FD_SETSIZE, 0, &fdwrite, 0, 0); + select(FD_SETSIZE, nullptr, &fdwrite, nullptr, nullptr); continue; } @@ -1376,7 +1376,7 @@ namespace GridMate FD_SET(m_socket, &fdread); timeval t = Platform::GetTimeValue(timeOut); - int result = select(FD_SETSIZE, &fdread, 0, 0, &t); + int result = select(FD_SETSIZE, &fdread, nullptr, nullptr, &t); if (result > 0) { m_parent.m_isStoppedWaitForData = true; diff --git a/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp b/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp index 759a2b5e47..647b34e1b9 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp @@ -343,7 +343,7 @@ namespace GridMate break; } } - while (0); + while (false); // did everything successfully create and/or allocate? if (m_ssl && m_bioIn && m_bioOut && m_scratch) diff --git a/Code/Framework/GridMate/GridMate/GridMate.cpp b/Code/Framework/GridMate/GridMate/GridMate.cpp index 356f7ad16b..22b4fd7af6 100644 --- a/Code/Framework/GridMate/GridMate/GridMate.cpp +++ b/Code/Framework/GridMate/GridMate/GridMate.cpp @@ -36,7 +36,7 @@ namespace GridMate AZ_CLASS_ALLOCATOR(GridMateImpl, GridMateAllocator, 0); GridMateImpl(const GridMateDesc& desc); - virtual ~GridMateImpl(); + ~GridMateImpl() override; void Update() override; diff --git a/Code/Framework/GridMate/GridMate/Replica/Replica.cpp b/Code/Framework/GridMate/GridMate/Replica/Replica.cpp index c1de3b71f2..a05b92a7a0 100644 --- a/Code/Framework/GridMate/GridMate/Replica/Replica.cpp +++ b/Code/Framework/GridMate/GridMate/Replica/Replica.cpp @@ -777,7 +777,7 @@ namespace GridMate CtorContextBase::s_pCur->m_members.push_back(this); } //----------------------------------------------------------------------------- - CtorContextBase* CtorContextBase::s_pCur = NULL; + CtorContextBase* CtorContextBase::s_pCur = nullptr; //----------------------------------------------------------------------------- CtorContextBase::CtorContextBase() { diff --git a/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp b/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp index 2582710aa7..7a56393bd5 100644 --- a/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp +++ b/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp @@ -460,7 +460,7 @@ namespace GridMate { return iter->second; } - return NULL; + return nullptr; } //----------------------------------------------------------------------------- RepIdSeed ReplicaManager::ReserveIdBlock(PeerId requestor) @@ -995,7 +995,7 @@ namespace GridMate AZ_Assert(iObj->second, "Detected NULL replica pointer in replica map! (id=0x%x)", replicaId); return iObj->second; } - return ReplicaPtr(NULL); + return ReplicaPtr(nullptr); } //----------------------------------------------------------------------------- void ReplicaManager::_Unmarshal(ReadBuffer& rb, ReplicaPeer* pFrom) diff --git a/Code/Framework/GridMate/GridMate/Session/LANSession.cpp b/Code/Framework/GridMate/GridMate/Session/LANSession.cpp index e4e1c9e9b6..223085cf13 100644 --- a/Code/Framework/GridMate/GridMate/Session/LANSession.cpp +++ b/Code/Framework/GridMate/GridMate/Session/LANSession.cpp @@ -52,13 +52,13 @@ namespace GridMate MemberIDCompact GetID() const { return m_id; } - virtual AZStd::string ToString() const + AZStd::string ToString() const override { return AZStd::string::format("%x", m_id); } - virtual AZStd::string ToAddress() const { return m_address; } - virtual MemberIDCompact Compact() const { return m_id; } - virtual bool IsValid() const { return m_id != 0; } + AZStd::string ToAddress() const override { return m_address; } + MemberIDCompact Compact() const override { return m_id; } + bool IsValid() const override { return m_id != 0; } private: MemberIDCompact m_id; @@ -285,9 +285,9 @@ namespace GridMate static const char* GetChunkName() { return "GridMateLANMember"; } /// return an abstracted member id. (member ID is world unique but unrelated to player ID it's related to the session). - virtual const MemberID& GetId() const { return m_memberId; } + const MemberID& GetId() const override { return m_memberId; } /// returns a base player id, it's implementation is platform dependent. (NOT supported) - virtual const PlayerId* GetPlayerId() const { return nullptr; } + const PlayerId* GetPlayerId() const override { return nullptr; } /// Remote member ctor. LANMember(ConnectionID connId, const LANMemberID& id, LANSession* session); @@ -321,16 +321,16 @@ namespace GridMate friend class LANSessionService; public: GM_CLASS_ALLOCATOR(LANSearch); - virtual ~LANSearch(); + ~LANSearch() override; /// Return true if the search has finished, otherwise false. - virtual unsigned int GetNumResults() const { return static_cast(m_results.size()); } - virtual const SearchInfo* GetResult(unsigned int index) const { return &m_results[index]; } - virtual void AbortSearch(); + unsigned int GetNumResults() const override { return static_cast(m_results.size()); } + const SearchInfo* GetResult(unsigned int index) const override { return &m_results[index]; } + void AbortSearch() override; private: LANSearch(const LANSearchParams& searchParams, SessionService* service); - virtual void Update(); + void Update() override; void SearchDone(); Driver* m_driver; diff --git a/Code/Framework/GridMate/GridMate/Session/Session.cpp b/Code/Framework/GridMate/GridMate/Session/Session.cpp index 471e21127c..b731d82b71 100644 --- a/Code/Framework/GridMate/GridMate/Session/Session.cpp +++ b/Code/Framework/GridMate/GridMate/Session/Session.cpp @@ -63,40 +63,40 @@ namespace GridMate typedef unordered_set AddressSetType; GridSessionHandshake(unsigned int handshakeTimeoutMS, const VersionType& version); - virtual ~GridSessionHandshake() {} + ~GridSessionHandshake() override {} ////////////////////////////////////////////////////////////////////////// // Handshake /// Called from the system to write initial handshake data. - virtual void OnInitiate(ConnectionID id, WriteBuffer& wb); + void OnInitiate(ConnectionID id, WriteBuffer& wb) override; /** * Called when a system receives a handshake initiation from another system. * You can write a reply in the WriteBuffer. * return true if you accept this connection and false if you reject it. */ - virtual HandshakeErrorCode OnReceiveRequest(ConnectionID id, ReadBuffer& rb, WriteBuffer& wb); + HandshakeErrorCode OnReceiveRequest(ConnectionID id, ReadBuffer& rb, WriteBuffer& wb) override; /** * If we already have a valid connection and we receive another connection request, the system will * call this function to verify the state of the connection. */ - virtual bool OnConfirmRequest(ConnectionID id, ReadBuffer& rb); + bool OnConfirmRequest(ConnectionID id, ReadBuffer& rb) override; /** * Called when we receive Ack from the other system on our initial data \ref OnInitiate. * return true to accept the ack or false to reject the handshake. */ - virtual bool OnReceiveAck(ConnectionID id, ReadBuffer& rb) { (void)id; (void)rb; return true; } // we don't do any further filtering + bool OnReceiveAck(ConnectionID id, ReadBuffer& rb) override { (void)id; (void)rb; return true; } // we don't do any further filtering /** * Called when we receive Ack from the other system while we were connected. This callback is called * so we can just confirm that our connection is valid! */ - virtual bool OnConfirmAck(ConnectionID id, ReadBuffer& rb) { (void)id; (void)rb; return true; } // we don't do any further filtering + bool OnConfirmAck(ConnectionID id, ReadBuffer& rb) override { (void)id; (void)rb; return true; } // we don't do any further filtering /// Return true if you want to reject early reject a connection. - virtual bool OnNewConnection(const AZStd::string& address); + bool OnNewConnection(const AZStd::string& address) override; /// Called when we close a connection. - virtual void OnDisconnect(ConnectionID id); + void OnDisconnect(ConnectionID id) override; /// Return timeout in milliseconds of the handshake procedure. - virtual unsigned int GetHandshakeTimeOutMS() const { return m_handshakeTimeOutMS; } + unsigned int GetHandshakeTimeOutMS() const override { return m_handshakeTimeOutMS; } ////////////////////////////////////////////////////////////////////////// void BanAddress(AZStd::string address); diff --git a/Code/Framework/GridMate/Tests/Carrier.cpp b/Code/Framework/GridMate/Tests/Carrier.cpp index 9a18eb9a2c..5b18a80221 100644 --- a/Code/Framework/GridMate/Tests/Carrier.cpp +++ b/Code/Framework/GridMate/Tests/Carrier.cpp @@ -90,7 +90,7 @@ public: { } - ~CarrierCallbacksHandler() + ~CarrierCallbacksHandler() override { CarrierEventBus::Handler::BusDisconnect(); } diff --git a/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp b/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp index 6af6a6ab87..8ec3ad540f 100644 --- a/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp +++ b/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp @@ -65,7 +65,7 @@ public: { } - ~CarrierStreamCallbacksHandler() + ~CarrierStreamCallbacksHandler() override { if (m_active) { diff --git a/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp b/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp index 22771cc035..f6f88d2dff 100644 --- a/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp +++ b/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp @@ -282,7 +282,7 @@ namespace ReplicaBehavior { GM_CLASS_ALLOCATOR(EntityLikeScriptReplicaChunk); EntityLikeScriptReplicaChunk(); - ~EntityLikeScriptReplicaChunk() = default; + ~EntityLikeScriptReplicaChunk() override = default; ////////////////////////////////////////////////////////////////////// //! GridMate::ReplicaChunk overrides. @@ -296,7 +296,7 @@ namespace ReplicaBehavior { int GetMaxServerProperties() const { return k_maxScriptableDataSets; } - AZ::u32 CalculateDirtyDataSetMask(MarshalContext& marshalContext); + AZ::u32 CalculateDirtyDataSetMask(MarshalContext& marshalContext) override; EntityLikeScriptDataSet m_scriptDataSets[k_maxScriptableDataSets]; AZ::u32 m_enabledDataSetMask; @@ -815,7 +815,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_ReplicaDefaultDataSetDriller() + ~Integ_ReplicaDefaultDataSetDriller() override { m_driller.BusDisconnect(); } @@ -928,7 +928,7 @@ namespace ReplicaBehavior { m_replicaU8Id = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica2); } - ~Integ_Replica_ComparePackingBoolsVsU8() + ~Integ_Replica_ComparePackingBoolsVsU8() override { m_driller.BusDisconnect(); } @@ -1057,7 +1057,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessary() + ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessary() override { m_driller.BusDisconnect(); } @@ -1154,7 +1154,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessaryOnceDirty() + ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessaryOnceDirty() override { m_driller.BusDisconnect(); } @@ -1248,7 +1248,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckReplicaIsntSentWithNoChanges() + ~Integ_CheckReplicaIsntSentWithNoChanges() override { m_driller.BusDisconnect(); } @@ -1359,7 +1359,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckEntityScriptReplicaIsntSentWithNoChanges() + ~Integ_CheckEntityScriptReplicaIsntSentWithNoChanges() override { m_driller.BusDisconnect(); } diff --git a/Code/Framework/GridMate/Tests/ReplicaMedium.cpp b/Code/Framework/GridMate/Tests/ReplicaMedium.cpp index c1148c4fdb..61fe9d65b2 100644 --- a/Code/Framework/GridMate/Tests/ReplicaMedium.cpp +++ b/Code/Framework/GridMate/Tests/ReplicaMedium.cpp @@ -601,7 +601,7 @@ class MPSession { public: - ~MPSession() + ~MPSession() override { CarrierEventBus::Handler::BusDisconnect(); } @@ -2007,7 +2007,7 @@ public: m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_ReplicaDriller() + ~Integ_ReplicaDriller() override { m_driller.BusDisconnect(); } @@ -2893,7 +2893,7 @@ public: m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~ReplicaACKfeedbackTestFixture() + ~ReplicaACKfeedbackTestFixture() override { m_driller.BusDisconnect(); } diff --git a/Code/Framework/GridMate/Tests/ReplicaSmall.cpp b/Code/Framework/GridMate/Tests/ReplicaSmall.cpp index 3b3942e8f3..d71789ae90 100644 --- a/Code/Framework/GridMate/Tests/ReplicaSmall.cpp +++ b/Code/Framework/GridMate/Tests/ReplicaSmall.cpp @@ -254,7 +254,7 @@ public: s_nInstances++; } - ~OfflineChunk() + ~OfflineChunk() override { s_nInstances--; } @@ -273,7 +273,7 @@ public: return true; } - bool IsReplicaMigratable() { return true; } + bool IsReplicaMigratable() override { return true; } DataSet m_data1; DataSet::BindInterface m_data2; diff --git a/Code/Framework/GridMate/Tests/Session.cpp b/Code/Framework/GridMate/Tests/Session.cpp index 0c5baef483..d4f56871c5 100644 --- a/Code/Framework/GridMate/Tests/Session.cpp +++ b/Code/Framework/GridMate/Tests/Session.cpp @@ -71,7 +71,7 @@ namespace UnitTest AZ_TEST_ASSERT(GridMate::LANSessionServiceBus::FindFirstHandler(m_clientGridMate) != nullptr); ////////////////////////////////////////////////////////////////////////// } - virtual ~Integ_LANSessionMatchmakingParamsTest() + ~Integ_LANSessionMatchmakingParamsTest() override { SessionEventBus::MultiHandler::BusDisconnect(m_gridMate); SessionEventBus::MultiHandler::BusDisconnect(m_clientGridMate); @@ -290,7 +290,7 @@ namespace UnitTest AZ_TEST_ASSERT(LANSessionServiceBus::FindFirstHandler(m_peers[i].m_gridMate) != nullptr); } } - virtual ~Integ_LANSessionTest() + ~Integ_LANSessionTest() override { StopGridMateService(m_peers[0].m_gridMate); @@ -645,7 +645,7 @@ namespace UnitTest } } - virtual ~Integ_LANMultipleSessionTest() + ~Integ_LANMultipleSessionTest() override { GridMate::StopGridMateService(m_gridMates[0]); @@ -884,7 +884,7 @@ namespace UnitTest } } - virtual ~Integ_LANLatencySessionTest() + ~Integ_LANLatencySessionTest() override { StopGridMateService(m_gridMates[0]); @@ -1283,7 +1283,7 @@ namespace UnitTest //StartDrilling("lanmigration"); } - virtual ~Integ_LANSessionMigarationTestTest() + ~Integ_LANSessionMigarationTestTest() override { StopGridMateService(m_gridMates[0]); @@ -1597,7 +1597,7 @@ namespace UnitTest //StartDrilling("lanmigration2"); } - virtual ~Integ_LANSessionMigarationTestTest2() + ~Integ_LANSessionMigarationTestTest2() override { StopGridMateService(m_gridMates[0]); diff --git a/Code/Framework/GridMate/Tests/test_Main.cpp b/Code/Framework/GridMate/Tests/test_Main.cpp index 7fc71ef125..cbe4a09ef4 100644 --- a/Code/Framework/GridMate/Tests/test_Main.cpp +++ b/Code/Framework/GridMate/Tests/test_Main.cpp @@ -14,12 +14,12 @@ struct GridMateTestEnvironment : public AZ::Test::ITestEnvironment , public AZ::Debug::TraceMessageBus::Handler { - void SetupEnvironment() override final + void SetupEnvironment() final { AZ::AllocatorInstance::Create(); BusConnect(); } - void TeardownEnvironment() override final + void TeardownEnvironment() final { BusDisconnect(); AZ::AllocatorInstance::Destroy(); diff --git a/Code/LauncherUnified/CMakeLists.txt b/Code/LauncherUnified/CMakeLists.txt index c3d152a777..845c2cd6c7 100644 --- a/Code/LauncherUnified/CMakeLists.txt +++ b/Code/LauncherUnified/CMakeLists.txt @@ -111,6 +111,7 @@ ly_install_directory( Platform/${PAL_PLATFORM_NAME} Platform/Common DESTINATION LauncherGenerator/Platform + VERBATIM ) ly_install_files( FILES FindLauncherGenerator.cmake diff --git a/Code/LauncherUnified/Launcher.cpp b/Code/LauncherUnified/Launcher.cpp index 07da69cbe9..f5da40ccad 100644 --- a/Code/LauncherUnified/Launcher.cpp +++ b/Code/LauncherUnified/Launcher.cpp @@ -305,10 +305,20 @@ namespace O3DELauncher m_commandLine[m_commandLineLen++] = ' '; } - azsnprintf(m_commandLine + m_commandLineLen, - AZ_COMMAND_LINE_LEN - m_commandLineLen, - needsQuote ? "\"%s\"" : "%s", - arg); + if (needsQuote) // Branching instead of using a ternary on the format string to avoid warning 4774 (format literal expected) + { + azsnprintf(m_commandLine + m_commandLineLen, + AZ_COMMAND_LINE_LEN - m_commandLineLen, + "\"%s\"", + arg); + } + else + { + azsnprintf(m_commandLine + m_commandLineLen, + AZ_COMMAND_LINE_LEN - m_commandLineLen, + "%s", + arg); + } // Inject the argument in the argument buffer to preserve/replicate argC and argV azstrncpy(&m_commandLineArgBuffer[m_nextCommandLineArgInsertPoint], diff --git a/Code/LauncherUnified/Platform/Android/Launcher_Android.cpp b/Code/LauncherUnified/Platform/Android/Launcher_Android.cpp index f158426184..de548a49d7 100644 --- a/Code/LauncherUnified/Platform/Android/Launcher_Android.cpp +++ b/Code/LauncherUnified/Platform/Android/Launcher_Android.cpp @@ -426,7 +426,7 @@ void android_main(android_app* appState) if (status != ReturnCode::Success) { - MAIN_EXIT_FAILURE(appState, GetReturnCodeString(status)); + MAIN_EXIT_FAILURE(appState, "%s", GetReturnCodeString(status)); } } diff --git a/Code/Legacy/CryCommon/BaseTypes.h b/Code/Legacy/CryCommon/BaseTypes.h index 0c588184a5..6aac00e4e6 100644 --- a/Code/Legacy/CryCommon/BaseTypes.h +++ b/Code/Legacy/CryCommon/BaseTypes.h @@ -6,9 +6,6 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_BASETYPES_H -#define CRYINCLUDE_CRYCOMMON_BASETYPES_H #pragma once static_assert(sizeof(char) == 1); @@ -78,5 +75,3 @@ typedef float f32; typedef double f64; static_assert(sizeof(f32) == 4); static_assert(sizeof(f64) == 8); - -#endif // CRYINCLUDE_CRYCOMMON_BASETYPES_H diff --git a/Code/Legacy/CryCommon/BitFiddling.h b/Code/Legacy/CryCommon/BitFiddling.h deleted file mode 100644 index 36173c5e53..0000000000 --- a/Code/Legacy/CryCommon/BitFiddling.h +++ /dev/null @@ -1,543 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : various integer bit fiddling hacks - - -#pragma once - -#include - -// Section dictionary -#if defined(AZ_RESTRICTED_PLATFORM) -#define BITFIDDLING_H_SECTION_TRAITS 1 -#define BITFIDDLING_H_SECTION_INTEGERLOG2 2 -#endif - -// Traits -#if defined(AZ_RESTRICTED_PLATFORM) - #define AZ_RESTRICTED_SECTION BITFIDDLING_H_SECTION_TRAITS - #include AZ_RESTRICTED_FILE(BitFiddling_h) -#elif defined(LINUX) || defined(APPLE) -#define BITFIDDLING_H_TRAIT_HAS_COUNT_LEADING_ZEROS 1 -#endif - -#if BITFIDDLING_H_TRAIT_HAS_COUNT_LEADING_ZEROS -#define countLeadingZeros32(x) __builtin_clz(x) -#else // Windows implementation -ILINE uint32 countLeadingZeros32(uint32 x) -{ - DWORD result = 32 ^ 31; // assumes result is unmodified if _BitScanReverse returns 0 - _BitScanReverse(&result, x); - result ^= 31; // needed because the index is from LSB (whereas all other implementations are from MSB) - return result; -} -#endif - -inline uint32 circularShift(uint32 nbits, uint32 i) -{ - return (i << nbits) | (i >> (32 - nbits)); -} - -template -inline size_t countTrailingZeroes(T v) -{ - size_t n = 0; - - v = ~v & (v - 1); - while (v) - { - ++n; - v >>= 1; - } - - return n; -} - -// this function returns the integer logarithm of various numbers without branching -#define IL2VAL(mask, shift) \ - c |= ((x & mask) != 0) * shift; \ - x >>= ((x & mask) != 0) * shift - -template -inline bool IsPowerOfTwo(TInteger x) -{ - return (x & (x - 1)) == 0; -} - -inline uint32 NextPower2(uint32 n) -{ - n--; - n |= n >> 1; - n |= n >> 2; - n |= n >> 4; - n |= n >> 8; - n |= n >> 16; - n++; - return n; -} - -inline uint8 IntegerLog2(uint8 x) -{ - uint8 c = 0; - IL2VAL(0xf0, 4); - IL2VAL(0xc, 2); - IL2VAL(0x2, 1); - return c; -} -inline uint16 IntegerLog2(uint16 x) -{ - uint16 c = 0; - IL2VAL(0xff00, 8); - IL2VAL(0xf0, 4); - IL2VAL(0xc, 2); - IL2VAL(0x2, 1); - return c; -} - -inline uint32 IntegerLog2(uint32 x) -{ - return 31 - countLeadingZeros32(x); -} - -inline uint64 IntegerLog2(uint64 x) -{ - uint64 c = 0; - IL2VAL(0xffffffff00000000ull, 32); - IL2VAL(0xffff0000u, 16); - IL2VAL(0xff00, 8); - IL2VAL(0xf0, 4); - IL2VAL(0xc, 2); - IL2VAL(0x2, 1); - return c; -} - -#if defined(APPLE) || defined(LINUX) -inline unsigned long int IntegerLog2(unsigned long int x) -{ - #if defined(PLATFORM_64BIT) - return IntegerLog2((uint64)x); - #else - return IntegerLog2((uint32)x); - #endif -} -#endif -#undef IL2VAL - -#if defined(AZ_RESTRICTED_PLATFORM) - #define AZ_RESTRICTED_SECTION BITFIDDLING_H_SECTION_INTEGERLOG2 - #include AZ_RESTRICTED_FILE(BitFiddling_h) -#endif - -template -inline TInteger IntegerLog2_RoundUp(TInteger x) -{ - return 1 + IntegerLog2(x - 1); -} - -static ILINE uint8 BitIndex(uint8 v) -{ - uint32 vv = v; - return aznumeric_caster(31 - countLeadingZeros32(vv)); -} - -static ILINE uint8 BitIndex(uint16 v) -{ - uint32 vv = v; - return aznumeric_caster(31 - countLeadingZeros32(vv)); -} - -static ILINE uint8 BitIndex(uint32 v) -{ - return aznumeric_caster(31 - countLeadingZeros32(v)); -} - -static ILINE uint8 CountBits(uint8 v) -{ - uint8 c = v; - c = ((c >> 1) & 0x55) + (c & 0x55); - c = ((c >> 2) & 0x33) + (c & 0x33); - c = ((c >> 4) & 0x0f) + (c & 0x0f); - return c; -} - -static ILINE uint8 CountBits(uint16 v) -{ - return CountBits((uint8)(v & 0xff)) + - CountBits((uint8)((v >> 8) & 0xff)); -} - -static ILINE uint8 CountBits(uint32 v) -{ - return CountBits((uint8)(v & 0xff)) + - CountBits((uint8)((v >> 8) & 0xff)) + - CountBits((uint8)((v >> 16) & 0xff)) + - CountBits((uint8)((v >> 24) & 0xff)); -} - -// Branchless version of return v < 0 ? alt : v; -ILINE int32 Isel32(int32 v, int32 alt) -{ - return ((static_cast(v) >> 31) & alt) | ((static_cast(~v) >> 31) & v); -} - -// Character-to-bitfield mapping - -inline uint32 AlphaBit(char c) -{ - return c >= 'a' && c <= 'z' ? 1 << (c - 'z' + 31) : 0; -} - -inline uint64 AlphaBit64(char c) -{ - return (c >= 'a' && c <= 'z' ? 1U << (c - 'z' + 31) : 0) | - (c >= 'A' && c <= 'Z' ? 1LL << (c - 'Z' + 63) : 0); -} - -inline uint32 AlphaBits(uint32 wc) -{ - // Handle wide multi-char constants, can be evaluated at compile-time. - return AlphaBit((char)wc) - | AlphaBit((char)(wc >> 8)) - | AlphaBit((char)(wc >> 16)) - | AlphaBit((char)(wc >> 24)); -} - -inline uint32 AlphaBits(const char* s) -{ - // Handle string of any length. - uint32 n = 0; - while (*s) - { - n |= AlphaBit(*s++); - } - return n; -} - -inline uint64 AlphaBits64(const char* s) -{ - // Handle string of any length. - uint64 n = 0; - while (*s) - { - n |= AlphaBit64(*s++); - } - return n; -} - -// s should point to a buffer at least 65 chars long -inline void BitsAlpha64(uint64 n, char* s) -{ - for (int i = 0; n != 0; n >>= 1, i++) - { - if (n & 1) - { - *s++ = i < 32 ? static_cast(i + 'z' - 31) : static_cast(i + 'Z' - 63); - } - } - *s++ = '\0'; -} - - -// if hardware doesn't support 3Dc we can convert to DXT5 (different channels are used) -// with almost the same quality but the same memory requirements -inline void ConvertBlock3DcToDXT5(uint8 pDstBlock[16], const uint8 pSrcBlock[16]) -{ - assert(pDstBlock != pSrcBlock); // does not work in place - - // 4x4 block requires 8 bytes in DXT5 or 3DC - - // DXT5: 8 bit alpha0, 8 bit alpha1, 16*3 bit alpha lerp - // 16bit col0, 16 bit col1 (R5G6B5 low byte then high byte), 16*2 bit color lerp - - // 3DC: 8 bit x0, 8 bit x1, 16*3 bit x lerp - // 8 bit y0, 8 bit y1, 16*3 bit y lerp - - for (uint32 dwK = 0; dwK < 8; ++dwK) - { - pDstBlock[dwK] = pSrcBlock[dwK]; - } - for (uint32 dwK = 8; dwK < 16; ++dwK) - { - pDstBlock[dwK] = 0; - } - - // 6 bit green channel (highest bits) - // by using all 3 channels with a slight offset we can get more precision but then a dot product would be needed in PS - // because of bilinear filter we cannot just distribute bits to get perfect result - uint16 colDst0 = (((uint16)pSrcBlock[8] + 2) >> 2) << 5; - uint16 colDst1 = (((uint16)pSrcBlock[9] + 2) >> 2) << 5; - - bool bFlip = colDst0 <= colDst1; - - if (bFlip) - { - uint16 help = colDst0; - colDst0 = colDst1; - colDst1 = help; - } - - bool bEqual = colDst0 == colDst1; - - // distribute bytes by hand to not have problems with endianess - pDstBlock[8 + 0] = (uint8)colDst0; - pDstBlock[8 + 1] = (uint8)(colDst0 >> 8); - pDstBlock[8 + 2] = (uint8)colDst1; - pDstBlock[8 + 3] = (uint8)(colDst1 >> 8); - - uint16* pSrcBlock16 = (uint16*)(pSrcBlock + 10); - uint16* pDstBlock16 = (uint16*)(pDstBlock + 12); - - // distribute 16 3 bit values to 16 2 bit values (loosing LSB) - for (uint32 dwK = 0; dwK < 16; ++dwK) - { - uint32 dwBit0 = dwK * 3 + 0; - uint32 dwBit1 = dwK * 3 + 1; - uint32 dwBit2 = dwK * 3 + 2; - - uint8 hexDataIn = (((pSrcBlock16[(dwBit2 >> 4)] >> (dwBit2 & 0xf)) & 1) << 2) // get HSB - | (((pSrcBlock16[(dwBit1 >> 4)] >> (dwBit1 & 0xf)) & 1) << 1) - | ((pSrcBlock16[(dwBit0 >> 4)] >> (dwBit0 & 0xf)) & 1); // get LSB - - uint8 hexDataOut = 0; - - switch (hexDataIn) - { - case 0: - hexDataOut = 0; - break; // color 0 - case 1: - hexDataOut = 1; - break; // color 1 - - case 2: - hexDataOut = 0; - break; // mostly color 0 - case 3: - hexDataOut = 2; - break; - case 4: - hexDataOut = 2; - break; - case 5: - hexDataOut = 3; - break; - case 6: - hexDataOut = 3; - break; - case 7: - hexDataOut = 1; - break; // mostly color 1 - - default: - assert(0); - } - - if (bFlip) - { - if (hexDataOut < 2) - { - hexDataOut = 1 - hexDataOut; // 0<->1 - } - else - { - hexDataOut = 5 - hexDataOut; // 2<->3 - } - } - - if (bEqual) - { - if (hexDataOut == 3) - { - hexDataOut = 1; - } - } - - pDstBlock16[(dwK >> 3)] |= (hexDataOut << ((dwK & 0x7) << 1)); - } -} - - - - -// is a bit on in a new bit field, but off in an old bit field -static ILINE bool TurnedOnBit(unsigned bit, unsigned oldBits, unsigned newBits) -{ - return (newBits & bit) != 0 && (oldBits & bit) == 0; -} - - - - - - - -inline uint32 cellUtilCountLeadingZero(uint32 x) -{ - uint32 y; - uint32 n = 32; - - y = x >> 16; - if (y != 0) - { - n = n - 16; - x = y; - } - y = x >> 8; - if (y != 0) - { - n = n - 8; - x = y; - } - y = x >> 4; - if (y != 0) - { - n = n - 4; - x = y; - } - y = x >> 2; - if (y != 0) - { - n = n - 2; - x = y; - } - y = x >> 1; - if (y != 0) - { - return n - 2; - } - return n - x; -} - -inline uint32 cellUtilLog2(uint32 x) -{ - return 31 - cellUtilCountLeadingZero(x); -} - - - - -inline void convertSwizzle(uint8*& dst, const uint8*& src, - const uint32 SrcPitch, const uint32 depth, - const uint32 xpos, const uint32 ypos, - const uint32 SciX1, const uint32 SciY1, - const uint32 SciX2, const uint32 SciY2, - const uint32 level) -{ - if (level == 1) - { - switch (depth) - { - case 16: - if (xpos >= SciX1 && xpos < SciX2 && ypos >= SciY1 && ypos < SciY2) - { - // *((uint32*&)dst)++ = ((uint32*)src)[ypos * width + xpos]; - // *((uint32*&)dst)++ = ((uint32*)src)[ypos * width + xpos+1]; - // *((uint32*&)dst)++ = ((uint32*)src)[ypos * width + xpos+2]; - // *((uint32*&)dst)++ = ((uint32*)src)[ypos * width + xpos+3]; - *((uint32*&)dst)++ = *((uint32*)(src + (ypos * SrcPitch + xpos * 16))); - *((uint32*&)dst)++ = *((uint32*)(src + (ypos * SrcPitch + xpos * 16 + 4))); - *((uint32*&)dst)++ = *((uint32*)(src + (ypos * SrcPitch + xpos * 16 + 8))); - *((uint32*&)dst)++ = *((uint32*)(src + (ypos * SrcPitch + xpos * 16 + 12))); - } - else - { - ((uint32*&)dst) += 4; - } - break; - case 8: - if (xpos >= SciX1 && xpos < SciX2 && ypos >= SciY1 && ypos < SciY2) - { - *((uint32*&)dst)++ = *((uint32*)(src + (ypos * SrcPitch + xpos * 8))); - *((uint32*&)dst)++ = *((uint32*)(src + (ypos * SrcPitch + xpos * 8 + 4))); - } - else - { - ((uint32*&)dst) += 2; - } - break; - case 4: - if (xpos >= SciX1 && xpos < SciX2 && ypos >= SciY1 && ypos < SciY2) - { - *((uint32*&)dst) = *((uint32*)(src + (ypos * SrcPitch + xpos * 4))); - } - dst += 4; - break; - case 3: - if (xpos >= SciX1 && xpos < SciX2 && ypos >= SciY1 && ypos < SciY2) - { - *dst++ = src[ypos * SrcPitch + xpos * depth]; - *dst++ = src[ypos * SrcPitch + xpos * depth + 1]; - *dst++ = src[ypos * SrcPitch + xpos * depth + 2]; - } - else - { - dst += 3; - } - break; - case 1: - if (xpos >= SciX1 && xpos < SciX2 && ypos >= SciY1 && ypos < SciY2) - { - *dst++ = src[ypos * SrcPitch + xpos * depth]; - } - else - { - dst++; - } - break; - default: - assert(0); - } - return; - } - else - { - convertSwizzle(dst, src, SrcPitch, depth, xpos, ypos, SciX1, SciY1, SciX2, SciY2, level - 1); - convertSwizzle(dst, src, SrcPitch, depth, xpos + (1U << (level - 2)), ypos, SciX1, SciY1, SciX2, SciY2, level - 1); - convertSwizzle(dst, src, SrcPitch, depth, xpos, ypos + (1U << (level - 2)), SciX1, SciY1, SciX2, SciY2, level - 1); - convertSwizzle(dst, src, SrcPitch, depth, xpos + (1U << (level - 2)), ypos + (1U << (level - 2)), SciX1, SciY1, SciX2, SciY2, level - 1); - } -} - - - - -inline void Linear2Swizzle(uint8* dst, - const uint8* src, - const uint32 SrcPitch, - const uint32 width, - const uint32 height, - const uint32 depth, - const uint32 SciX1, const uint32 SciY1, - const uint32 SciX2, const uint32 SciY2) -{ - src -= SciY1 * SrcPitch + SciX1 * depth; - if (width == height) - { - convertSwizzle(dst, src, SrcPitch, depth, 0, 0, SciX1, SciY1, SciX2, SciY2, cellUtilLog2(width) + 1); - } - else - if (width > height) - { - uint32 baseLevel = cellUtilLog2(width) - (cellUtilLog2(width) - cellUtilLog2(height)); - for (uint32 i = 0; i < (1UL << (cellUtilLog2(width) - cellUtilLog2(height))); i++) - { - convertSwizzle(dst, src, SrcPitch, depth, (1U << baseLevel) * i, 0, SciX1, SciY1, SciX2, SciY2, baseLevel + 1); - } - } - else - // if (width < height)//wtf - { - uint32 baseLevel = cellUtilLog2(height) - (cellUtilLog2(height) - cellUtilLog2(width)); - for (uint32 i = 0; i < (1UL << (cellUtilLog2(height) - cellUtilLog2(width))); i++) - { - convertSwizzle(dst, src, SrcPitch, depth, 0, (1U << baseLevel) * i, SciX1, SciY1, SciX2, SciY2, baseLevel + 1); - } - } -} diff --git a/Code/Legacy/CryCommon/Common_TypeInfo.cpp b/Code/Legacy/CryCommon/Common_TypeInfo.cpp deleted file mode 100644 index ccb28cbc3d..0000000000 --- a/Code/Legacy/CryCommon/Common_TypeInfo.cpp +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#include "Cry_Geo.h" -#include "Cry_Color.h" -#include "Cry_Vector3.h" - -// Manually instantiate templates as needed here. -template struct Vec3_tpl; -template struct Vec4_tpl; -template struct Vec2_tpl; -template struct Ang3_tpl; -template struct Plane_tpl; -template struct Matrix33_tpl; -template struct Color_tpl; diff --git a/Code/Legacy/CryCommon/CryCrc32.h b/Code/Legacy/CryCommon/CryCrc32.h deleted file mode 100644 index 9584f84185..0000000000 --- a/Code/Legacy/CryCommon/CryCrc32.h +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#pragma once - -#include "BaseTypes.h" - -// CRC-32 -// -// Polynomial: -// 0x04C11DB7 -// x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 -// -// Validation: -// CCrc32::Compute("123456789") == 0xCBF43926 -// -// Examples of using: -// -// printf("crc32: %08x\n", (unsigned)CCrc32::Compute(ptr, size)); -// -// CCrc32 crc; -// crc.Add(ptr0, size0); -// crc.Add(ptr1, size1); -// printf("crc32: %08x\n", (unsigned)crc.Get()); - -class CCrc32 -{ -public: - static uint32 Compute(const void* const pData, const size_t sizeInBytes) - { - CCrc32 c; - c.Add(pData, sizeInBytes); - return c.Get(); - } - - static uint32 Compute(const char* const szData) - { - CCrc32 c; - c.Add(szData); - return c.Get(); - } - - static uint32 ComputeLowercase(const char* const pData, const size_t sizeInBytes) - { - CCrc32 c; - c.AddLowercase(pData, sizeInBytes); - return c.Get(); - } - - static uint32 ComputeLowercase(const char* const szData) - { - CCrc32 c; - c.AddLowercase(szData); - return c.Get(); - } - - - CCrc32() - : m_crc(0xFFFFffff) - , m_pTable(GetTable()) - { - } - - CCrc32(unsigned int initializer) - : m_crc(initializer) - , m_pTable(GetTable()) - { - } - - void Reset() - { - m_crc = 0xFFFFffff; - } - - uint32 Get() const - { - return ~m_crc; - } - - unsigned int Add(const void* const pData, size_t sizeInBytes) - { - const uint8* p = (const uint8*)pData; - while (sizeInBytes--) - { - m_crc = (m_crc >> 8) ^ m_pTable[(m_crc & 0xFF) ^ (*p++)]; - } - return Get(); - } - - unsigned int Add(const char* szData) - { - while (*szData) - { - m_crc = (m_crc >> 8) ^ m_pTable[(m_crc & 0xFF) ^ uint8(*szData++)]; - } - return Get(); - } - -#if defined(CRY_TMP_ASCII_TO_LOWER) -# error CRY_TMP_ASCII_TO_LOWER already defined -#endif -#define CRY_TMP_ASCII_TO_LOWER(c) uint8(((c) <= 'Z' && (c) >= 'A') ? (c) + ('a' - 'A') : (c)) - - unsigned int AddLowercase(const char* pData, size_t sizeInBytes) - { - while (sizeInBytes--) - { - const uint8 c = *pData++; - m_crc = (m_crc >> 8) ^ m_pTable[(m_crc & 0xFF) ^ CRY_TMP_ASCII_TO_LOWER(c)]; - } - return Get(); - } - - unsigned int AddLowercase(const char* szData) - { - while (*szData) - { - const uint8 c = *szData++; - m_crc = (m_crc >> 8) ^ m_pTable[(m_crc & 0xFF) ^ CRY_TMP_ASCII_TO_LOWER(c)]; - } - return Get(); - } - -#undef CRY_TMP_ASCII_TO_LOWER - -private: - static const uint32* GetTable() - { - static const uint32 table[256] = - { - 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, - 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, - 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, - 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, - 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, - 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, - 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, - 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, - 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, - 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, - 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, - 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, - 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, - 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, - 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, - 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, - 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, - 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, - 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, - 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, - 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, - 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, - 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, - 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, - 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, - 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, - 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, - 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, - 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, - 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, - 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, - 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, - 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, - 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, - 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, - 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, - 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, - 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, - 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, - 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, - 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, - 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, - 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, - 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, - 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, - 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, - 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, - 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, - 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, - 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, - 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, - 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, - 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, - 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, - 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, - 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, - 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, - 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, - 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, - 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, - 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, - 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, - 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, - 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D - }; - return &table[0]; - } - -private: - uint32 m_crc; - const uint32* const m_pTable; -}; - -// eof diff --git a/Code/Legacy/CryCommon/CryEndian.h b/Code/Legacy/CryCommon/CryEndian.h index 94fa8f7ea2..2f424c5ee2 100644 --- a/Code/Legacy/CryCommon/CryEndian.h +++ b/Code/Legacy/CryCommon/CryEndian.h @@ -6,9 +6,6 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_CRYENDIAN_H -#define CRYINCLUDE_CRYCOMMON_CRYENDIAN_H #pragma once #include @@ -68,18 +65,6 @@ enum EEndianness #endif }; - -// Legacy macros -#define GetPlatformEndian() false - -///////////////////////////////////////////////////////////////////////////////////// - -inline bool IsSystemLittleEndian() -{ - const int a = 1; - return 1 == *(const char*)&a; -} - ///////////////////////////////////////////////////////////////////////////////////// // SwapEndian function, using TypeInfo. @@ -233,63 +218,3 @@ inline void SwapEndian(T& t, bool bSwapEndian = eLittleEndian) SwapEndianBase(&t, 1); } } - -template -inline T SwapEndianValue(T t, bool bSwapEndian = eLittleEndian) -{ - if (bSwapEndian) - { - SwapEndianBase(&t, 1); - } - return t; -} - -//--------------------------------------------------------------------------- -// Object-oriented data extraction for endian-swapping reading. -template -inline T* StepData(D*& pData, size_t nCount, bool bSwapEndian) -{ - T* Elems = (T*)pData; - SwapEndian(Elems, nCount, bSwapEndian); - pData = (D*)((T*)pData + nCount); - return Elems; -} - -template -inline T* StepData(D*& pData, bool bSwapEndian) -{ - return StepData(pData, 1, bSwapEndian); -} - -template -inline void StepData(T*& Result, D*& pData, size_t nCount, bool bSwapEndian) -{ - Result = StepData(pData, nCount, bSwapEndian); -} - -template -inline void StepDataCopy(T* Dest, D*& pData, size_t nCount, bool bSwapEndian) -{ - memcpy(Dest, pData, nCount * sizeof(T)); - SwapEndian(Dest, nCount, bSwapEndian); - pData = (D*)((T*)pData + nCount); -} - -template -inline void StepDataWrite(D*& pDest, const T* aSrc, size_t nCount, bool bSwapEndian) -{ - memcpy(pDest, aSrc, nCount * sizeof(T)); - if (bSwapEndian) - { - SwapEndianBase((T*)pDest, nCount, true); - } - (T*&)pDest += nCount; -} - -template -inline void StepDataWrite(D*& pDest, const T& Src, bool bSwapEndian) -{ - StepDataWrite(pDest, &Src, 1, bSwapEndian); -} - -#endif // CRYINCLUDE_CRYCOMMON_CRYENDIAN_H diff --git a/Code/Legacy/CryCommon/CryFile.h b/Code/Legacy/CryCommon/CryFile.h index 0d2dac7c16..56d7097344 100644 --- a/Code/Legacy/CryCommon/CryFile.h +++ b/Code/Legacy/CryCommon/CryFile.h @@ -6,12 +6,7 @@ * */ - // Description : File wrapper. - - -#ifndef CRYINCLUDE_CRYCOMMON_CRYFILE_H -#define CRYINCLUDE_CRYCOMMON_CRYFILE_H #pragma once #include @@ -20,86 +15,16 @@ #include #include -////////////////////////////////////////////////////////////////////////// -// Defines for CryEngine filetypes extensions. -////////////////////////////////////////////////////////////////////////// -#define CRY_GEOMETRY_FILE_EXT "cgf" -#define CRY_SKEL_FILE_EXT "chr" //will be a SKEL soon -#define CRY_SKIN_FILE_EXT "skin" -#define CRY_CHARACTER_ANIMATION_FILE_EXT "caf" -#define CRY_CHARACTER_DEFINITION_FILE_EXT "cdf" -#define CRY_CHARACTER_LIST_FILE_EXT "cid" -#define CRY_ANIM_GEOMETRY_FILE_EXT "cga" -#define CRY_ANIM_GEOMETRY_ANIMATION_FILE_EXT "anm" -#define CRY_COMPILED_FILE_EXT "(c)" -#define CRY_BINARY_XML_FILE_EXT "binxml" -#define CRY_XML_FILE_EXT "xml" -#define CRY_CHARACTER_PARAM_FILE_EXT "chrparams" -#define CRY_GEOM_CACHE_FILE_EXT "cax" ////////////////////////////////////////////////////////////////////////// #define CRYFILE_MAX_PATH 260 ////////////////////////////////////////////////////////////////////////// -inline const char* CryGetExt(const char* filepath) -{ - const char* str = filepath; - size_t len = strlen(filepath); - for (const char* p = str + len - 1; p >= str; --p) - { - switch (*p) - { - case ':': - case '/': - case '\\': - // we've reached a path separator - it means there's no extension in this name - return ""; - case '.': - // there's an extension in this file name - return p + 1; - } - } - return ""; -} - -// Summary: -// Checks if specified file name is a character file. -// Summary: -// Checks if specified file name is a character file. -inline bool IsCharacterFile(const char* filename) -{ - const char* ext = CryGetExt(filename); - if (_stricmp(ext, CRY_SKEL_FILE_EXT) == 0 || _stricmp(ext, CRY_SKIN_FILE_EXT) == 0 || _stricmp(ext, CRY_CHARACTER_DEFINITION_FILE_EXT) == 0 || _stricmp(ext, CRY_ANIM_GEOMETRY_FILE_EXT) == 0) - { - return true; - } - else - { - return false; - } -} - -// Description: -// Checks if specified file name is a static geometry file. -inline bool IsStatObjFile(const char* filename) -{ - const char* ext = CryGetExt(filename); - if (_stricmp(ext, CRY_GEOMETRY_FILE_EXT) == 0) - { - return true; - } - else - { - return false; - } -} - // Summary: // Wrapper on file system. class CCryFile { public: CCryFile(); - CCryFile(AZ::IO::IArchive* pIArchive); // allow an alternative IArchiveinterface CCryFile(const char* filename, const char* mode); ~CCryFile(); @@ -112,13 +37,6 @@ public: // Summary: // Reads data from a file at the current file position. size_t ReadRaw(void* lpBuf, size_t nSize); - // Summary: - // Template version, for automatic size support. - template - inline size_t ReadTypeRaw(T* pDest, size_t nCount = 1) - { - return ReadRaw(pDest, sizeof(T) * nCount); - } // Summary: // Automatic endian-swapping version. @@ -137,27 +55,6 @@ public: // Summary: // Moves the current file pointer to the specified position. size_t Seek(size_t seek, int mode); - // Summary: - // Moves the current file pointer at the beginning of the file. - void SeekToBegin(); - // Summary: - // Moves the current file pointer at the end of the file. - size_t SeekToEnd(); - // Summary: - // Retrieves the current file pointer. - size_t GetPosition(); - - // Summary: - // Tests for end-of-file on a selected file. - bool IsEof(); - - // Summary: - // Flushes any data yet to be written. - void Flush(); - - // Summary: - // Gets a handle to a pack object. - AZ::IO::HandleType GetHandle() const { return m_fileHandle; }; // Description: // Retrieves the filename of the selected file. @@ -193,12 +90,6 @@ inline CCryFile::CCryFile() m_pIArchive = gEnv ? gEnv->pCryPak : NULL; } -inline CCryFile::CCryFile(AZ::IO::IArchive* pIArchive) -{ - m_fileHandle = AZ::IO::InvalidHandle; - m_pIArchive = pIArchive; -} - ////////////////////////////////////////////////////////////////////////// inline CCryFile::CCryFile(const char* filename, const char* mode) { @@ -336,58 +227,6 @@ inline size_t CCryFile::Seek(size_t seek, int mode) return 1; } -////////////////////////////////////////////////////////////////////////// -inline void CCryFile::SeekToBegin() -{ - Seek(0, SEEK_SET); -} - -////////////////////////////////////////////////////////////////////////// -inline size_t CCryFile::SeekToEnd() -{ - return Seek(0, SEEK_END); -} - -////////////////////////////////////////////////////////////////////////// -inline size_t CCryFile::GetPosition() -{ - assert(m_fileHandle != AZ::IO::InvalidHandle); - if (m_pIArchive) - { - return m_pIArchive->FTell(m_fileHandle); - } - - AZ::u64 tellOffset = 0; - AZ::IO::FileIOBase::GetInstance()->Tell(m_fileHandle, tellOffset); - - return static_cast(tellOffset); -} - -////////////////////////////////////////////////////////////////////////// -inline bool CCryFile::IsEof() -{ - assert(m_fileHandle != AZ::IO::InvalidHandle); - if (m_pIArchive) - { - return m_pIArchive->FEof(m_fileHandle) != 0; - } - - return AZ::IO::FileIOBase::GetInstance()->Eof(m_fileHandle); -} - -////////////////////////////////////////////////////////////////////////// -inline void CCryFile::Flush() -{ - assert(m_fileHandle != AZ::IO::InvalidHandle); - - if (m_pIArchive) - { - m_pIArchive->FFlush(m_fileHandle); - } - - AZ::IO::FileIOBase::GetInstance()->Flush(m_fileHandle); -} - ////////////////////////////////////////////////////////////////////////// inline bool CCryFile::IsInPak() const { @@ -433,5 +272,3 @@ inline const char* CCryFile::GetAdjustedFilename() const } return szAdjustedFile; } - -#endif // CRYINCLUDE_CRYCOMMON_CRYFILE_H diff --git a/Code/Legacy/CryCommon/CryHalf.inl b/Code/Legacy/CryCommon/CryHalf.inl index a9683540e1..678dc36581 100644 --- a/Code/Legacy/CryCommon/CryHalf.inl +++ b/Code/Legacy/CryCommon/CryHalf.inl @@ -15,7 +15,6 @@ typedef uint16 CryHalf; -class ICrySizer; typedef union floatint_union { @@ -138,9 +137,6 @@ struct CryHalf2 { return x != rhs.x || y != rhs.y; } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const {} - }; struct CryHalf4 @@ -193,9 +189,6 @@ struct CryHalf4 { return x != rhs.x || y != rhs.y || z != rhs.z || w != rhs.w; } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const {} - }; #endif // #ifndef CRY_HALF_INL diff --git a/Code/Legacy/CryCommon/CryListenerSet.h b/Code/Legacy/CryCommon/CryListenerSet.h index e5be89aa9f..1c67275d41 100644 --- a/Code/Legacy/CryCommon/CryListenerSet.h +++ b/Code/Legacy/CryCommon/CryListenerSet.h @@ -21,7 +21,8 @@ #pragma once -#include +#include "Cry_Math.h" +#include /************************************************************************ Core elements: @@ -151,13 +152,6 @@ public: // Allow TListeners::Notifier style usage typedef class CListenerNotifier Notifier; - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddContainer(m_listeners); -#if defined(CRY_LISTENERSET_DEBUG) - pSizer->AddContainer(m_allocatedNames); -#endif - } private: // DO NOT REMOVE - following methods only to be accessed only via CNotifier struct ListenerRecord diff --git a/Code/Legacy/CryCommon/CryPodArray.h b/Code/Legacy/CryCommon/CryPodArray.h deleted file mode 100644 index 20693b29ac..0000000000 --- a/Code/Legacy/CryCommon/CryPodArray.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Simple POD types container - -#ifndef CRYINCLUDE_CRYCOMMON_CRYPODARRAY_H -#define CRYINCLUDE_CRYCOMMON_CRYPODARRAY_H -#pragma once - -#include - -////////////////////////////////////////////////////////////////////////// -// POD Array -// vector like class (random access O(1)) without construction/destructor/copy constructor/assignment handling -// over-allocation allows safe prefetching where required without worrying about memory page boundaries -////////////////////////////////////////////////////////////////////////// -template -class PodArray -{ - AZStd::vector m_elements; - -public: - typedef T value_type; - typedef T* iterator; - typedef const T* const_iterator; - - ////////////////////////////////////////////////////////////////////////// - // STL compatible interface - ////////////////////////////////////////////////////////////////////////// - void resize(size_t numElements) - { - m_elements.resize(numElements); - } - ////////////////////////////////////////////////////////////////////////// - ILINE void reserve(unsigned numElements) { m_elements.reserve(numElements); } - ILINE void push_back(const T& rElement) { m_elements.push_back(rElement); } - ILINE size_t size() const { return m_elements.size(); } - ILINE size_t capacity() const { return m_elements.capacity(); } - - ILINE void clear() { m_elements.clear(); } - ILINE T* begin() { return m_elements.begin(); } - ILINE T* end() { return m_elements.end(); } - ILINE const T* begin() const { return m_elements.begin(); } - ILINE const T* end() const { return m_elements.end(); } - ILINE bool empty() const { return m_elements.empty(); } - - ILINE const T& front() const { return m_elements.front(); } - ILINE T& front() { return m_elements.front(); } - - ILINE const T& back() const { return m_elements.back(); } - ILINE T& back() { return m_elements.back(); } - ////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - PodArray() - : m_elements() - { - } - PodArray(int elem_count, int nNewCount = 0) - { - m_elements.reserve(elem_count); - m_elements.resize(nNewCount); - } - PodArray(const PodArray& from) - : m_elements(from.m_elements) - { - } - ~PodArray() - { - } - - void Reset() { m_elements.clear(); } - void Free() - { - m_elements.clear(); - m_elements.shrink_to_fit(); - } - - ILINE void Clear() - { - m_elements.clear(); - } - - int Find(const T& p) - { - const auto it = AZStd::find(m_elements.begin(), m_elements.end(), p); - if (it != m_elements.end()) - { - return static_cast(AZStd::distance(m_elements.begin(), it)); - } - return -1; - } - - inline void AddList(const PodArray& lstAnother) - { - AZStd::copy(lstAnother.m_elements.begin(), lstAnother.m_elements.end(), AZStd::back_inserter(m_elements)); - } - - inline void AddList(T* pAnotherArray, int nAnotherCount) - { - AZStd::copy(pAnotherArray, pAnotherArray + nAnotherCount, AZStd::back_inserter(m_elements)); - } - - ILINE void Add(const T& p) - { - m_elements.push_back(p); - } - - ILINE T& AddNew() - { - m_elements.emplace_back(); - return m_elements.back(); - } - - void InsertBefore(const T& p, const unsigned int nBefore) - { - m_elements.insert(m_elements.begin() + nBefore, p); - } - - void CheckAllocated(int elem_count) - { - if (m_elements.size() < elem_count) - { - m_elements.resize(elem_count); - } - } - - void PreAllocate(int elem_count, int nNewCount = -1) - { - m_elements.reserve(elem_count); - if (nNewCount >= 0) - { - m_elements.resize(nNewCount); - } - } - - inline void Delete(const int nElemId, const int nElemCount = 1) - { - AZ_Assert(nElemId >= 0 && nElemId + nElemCount <= size(), "Index out of bounds"); - m_elements.erase(m_elements.begin() + nElemId, m_elements.begin() + nElemId + nElemCount); - } - - inline void DeleteFastUnsorted(const int nElemId, const int nElemCount = 1) - { - AZ_Assert(nElemId >= 0 && nElemId + nElemCount <= size(), "Index out of bounds"); - m_elements.erase(m_elements.begin() + nElemId, m_elements.begin() + nElemId + nElemCount); - } - - inline bool Delete(const T& del) - { - const size_t numElements = m_elements.size(); - m_elements.erase(std::remove(m_elements.begin(), m_elements.end(), del), m_elements.end()); - return numElements != m_elements.size(); - } - - ILINE size_t Count() const { return m_elements.size(); } - ILINE size_t Size() const { return m_elements.size(); } - - ILINE int IsEmpty() const { return m_elements.empty(); } - - ILINE const T& operator [] (int i) const { return m_elements[i]; } - ILINE T& operator [] (int i) { return m_elements[i]; } - ILINE const T& GetAt(int i) const { return m_elements[i]; } - ILINE T& GetAt(int i) { return m_elements[i]; } - ILINE const T* Get(int i) const { return &m_elements[i]; } - ILINE T* Get(int i) { return &m_elements[i]; } - ILINE const T* GetElements() const { return m_elements.data(); } - ILINE T* GetElements() { return m_elements.data(); } - - ILINE unsigned int GetDataSize() const { return m_elements.size() * sizeof(T); } - - const T& Last() const { return m_elements.back(); } - T& Last() { return m_elements.back(); } - - ILINE void DeleteLast() - { - assert(!m_elements.empty()); - m_elements.pop_back(); - } - - PodArray& operator=(const PodArray& source_list) - { - m_elements = source_list.m_elements; - return *this; - } - - ////////////////////////////////////////////////////////////////////////// - // Return true if arrays have the same data. - bool Compare(const PodArray& l) const - { - return m_elements == l.m_elements; - } - - // for statistics - ILINE size_t ComputeSizeInMemory() const - { - return (sizeof(*this) + sizeof(T) * m_elements.capacity()) + overAllocBytes; - } - - ILINE void RemoveIf(AZStd::function testFunc) - { - m_elements.erase(AZStd::remove_if(m_elements.begin(), m_elements.end(), testFunc), m_elements.end()); - } -}; - -#endif // CRYINCLUDE_CRYCOMMON_CRYPODARRAY_H diff --git a/Code/Legacy/CryCommon/CrySizer.h b/Code/Legacy/CryCommon/CrySizer.h deleted file mode 100644 index 27323368ab..0000000000 --- a/Code/Legacy/CryCommon/CrySizer.h +++ /dev/null @@ -1,563 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Declaration and definition of the CrySizer class, which is used to -// calculate the memory usage by the subsystems and components, to help -// the artists keep the memory budged low. - - -#ifndef CRYINCLUDE_CRYCOMMON_CRYSIZER_H -#define CRYINCLUDE_CRYCOMMON_CRYSIZER_H -#pragma once - - -////////////////////////////////////////////////////////////////////////// - -// common containers for overloads -#include - -#include "Cry_Math.h" -#include -#include -#include -#include -#include -#include -#include - -// forward declarations for overloads -struct AABB; -struct SVF_P3F; -struct SVF_P3F_C4B_T2F; -struct SVF_P3S_C4B_T2S; -struct SPipTangents; - -#ifdef WIN64 -#include // workaround for Amd64 compiler -#endif - -namespace AZ -{ - class Vector3; -} - -// flags applicable to the ICrySizer (retrieved via getFlags() method) -// -enum ICrySizerFlagsEnum -{ - // if this flag is set, during getSize(), the subsystem must count all the objects - // it uses in the other subsystems also - CSF_RecurseSubsystems = 1 << 0, - - CSF_Reserved1 = 1 << 1, - CSF_Reserved2 = 1 << 2 -}; - -////////////////////////////////////////////////////////////////////////// -// Helper functions to calculate size of the std containers. -////////////////////////////////////////////////////////////////////////// -namespace stl -{ - template - inline size_t size_of_map(const Map& m) - { - if (!m.empty()) - { - return m.size() * sizeof(typename Map::value_type) + m.size() * sizeof(MapLikeStruct); - } - return 0; - } - template - inline size_t size_of_set(const Map& m) - { - if (!m.empty()) - { - return m.size() * sizeof(typename Map::value_type) + m.size() * sizeof(MapLikeStruct); - } - return 0; - } - template - inline size_t size_of_list(const List& c) - { - if (!c.empty()) - { - return c.size() * sizeof(typename List::value_type) + c.size() * sizeof(void*) * 2; // sizeof stored type + 2 pointers prev,next - } - return 0; - } - template - inline size_t size_of_deque(const Deque& c) - { - if (!c.empty()) - { - return c.size() * sizeof(typename Deque::value_type); - } - return 0; - } -}; - -////////////////////////////////////////////////////////////////////////// -// interface ICrySizer -// USAGE -// An instance of this class is passed down to each and every component in the system. -// Every component it's passed to optionally pushes its name on top of the -// component name stack (thus ensuring that all the components calculated down -// the tree will be assigned the correct subsystem/component name) -// Every component must Add its size with one of the Add* functions, and Add the -// size of all its subcomponents recursively -// In order to push the component/system name on the name stack, the clients must -// use the SIZER_COMPONENT_NAME macro or CrySizerComponentNameHelper class: -// -// void X::getSize (ICrySizer* pSizer) -// { -// SIZER_COMPONENT_NAME(pSizer, X); -// if (!pSizer->Add (this)) -// return; -// pSizer->Add (m_arrMySimpleArray); -// pSizer->Add (m_setMySimpleSet); -// m_pSubobject->getSize (pSizer); -// } -// -// The Add* functions return bool. If they return true, then the object has been added -// to the set for the first time, and you should go on recursively adding all its children. -// If it returns false, then you can spare time and rather not go on into recursion; -// however it doesn't reflect on the results: an object that's added more than once is -// counted only once. -// -// WARNING: -// If you have an array (pointer), you should Add its size with addArray -class ICrySizer -{ -public: - virtual ~ICrySizer(){} - // this class is used to push/pop the name to/from the stack automatically - // (to exclude stack overruns or underruns at runtime) - friend class CrySizerComponentNameHelper; - - virtual void Release() = 0; - - // Return total calculated size. - virtual size_t GetTotalSize() = 0; - - // Return total objects added. - virtual size_t GetObjectCount() = 0; - - // Resets the counting. - virtual void Reset() = 0; - - virtual void End() = 0; - - // adds an object identified by the unique pointer (it needs not be - // the actual object position in the memory, though it would be nice, - // but it must be unique throughout the system and unchanging for this object) - // nCount parameter is only used for counting number of objects, it doesnt affect the size of the object. - // RETURNS: true if the object has actually been added (for the first time) - // and calculated - virtual bool AddObject (const void* pIdentifier, size_t nSizeBytes, int nCount = 1) = 0; - - template - bool AddObjectSize(const Type* pObj) - { - return AddObject(pObj, sizeof *pObj); - } - - //////////////////////////////////////////////////////////////////////////////////////// - // temp dummy function while checking in the CrySizer changes, will be removed soon - - template - void AddObject(const Type& rObj) - { - (void)rObj; - } - - template - void AddObject(Type* pObj) - { - if (pObj) - { - //forward to reference object to allow function overload - this->AddObject(*pObj); - } - } - - // overloads for smart_ptr and other common objects - template - void AddObject(const _smart_ptr& rObj) { this->AddObject(rObj.get()); } - template - void AddObject(const AZStd::shared_ptr& rObj) { this->AddObject(rObj.get()); } - template - void AddObject(const std::shared_ptr& rObj) { this->AddObject(rObj.get()); } - template - void AddObject(const std::unique_ptr& rObj) { this->AddObject(rObj.get()); } - template - void AddObject(const std::pair& rPair) - { - this->AddObject(rPair.first); - this->AddObject(rPair.second); - } - template - void AddObject(const AZStd::pair& rPair) - { - this->AddObject(rPair.first); - this->AddObject(rPair.second); - } - void AddObject(const AZStd::string& rString) {this->AddObject(rString.c_str(), rString.capacity()); } - void AddObject(const wchar_t&) {} - void AddObject(const char&) {} - void AddObject(const unsigned char&) {} - void AddObject(const signed char&) {} - void AddObject(const short&) {} - void AddObject(const unsigned short&) {} - void AddObject(const int&) {} - void AddObject(const unsigned int&) {} - void AddObject(const long&) {} - void AddObject(const unsigned long&) {} - void AddObject(const float&) {} - void AddObject(const bool&) {} - void AddObject(const unsigned long long&) {} - void AddObject(const long long&) {} - void AddObject(const double&) {} - void AddObject(const Vec2&) {} - void AddObject(const Vec3&) {} - void AddObject(const Vec4&) {} - void AddObject(const Ang3&) {} - void AddObject(const Matrix34&) {} - void AddObject(const Quat&) {} - void AddObject(const QuatT&) {} - void AddObject(const QuatTS&) {} - void AddObject(const ColorF&) {} - void AddObject(const AABB&) {} - void AddObject(const SVF_P3F&) {} - void AddObject(const SVF_P3F_C4B_T2F&) {} - void AddObject(const SVF_P3S_C4B_T2S&) {} - void AddObject(const SPipTangents&) {} - void AddObject([[maybe_unused]] const AZ::Vector3& rObj) {} - void AddObject(void*) {} - - // overloads for container, will automaticly traverse the content - template - void AddObject(const std::list& rList) - { - // dummy struct to get correct element size - struct Dummy - { - void* a; - void* b; - T t; - }; - - for (typename std::list::const_iterator it = rList.begin(); it != rList.end(); ++it) - { - if (this->AddObject(&(*it), sizeof(Dummy))) - { - this->AddObject(*it); - } - } - } - template - void AddObject([[maybe_unused]] const AZStd::unordered_map& rVector) - { - - } - - template - void AddObject(const std::vector& rVector) - { - if (rVector.empty()) - { - this->AddObject(&rVector, rVector.capacity() * sizeof(T)); - return; - } - - if (!this->AddObject(&rVector[0], rVector.capacity() * sizeof(T))) - { - return; - } - - for (typename std::vector::const_iterator it = rVector.begin(); it != rVector.end(); ++it) - { - this->AddObject(*it); - } - } - - template - void AddObject(const std::deque& rVector) - { - for (typename std::deque::const_iterator it = rVector.begin(); it != rVector.end(); ++it) - { - if (this->AddObject(&(*it), sizeof(T))) - { - this->AddObject(*it); - } - } - } - - template - void AddObject(const PodArray& rVector) - { - if (!this->AddObject(rVector.begin(), rVector.capacity() * sizeof(T))) - { - return; - } - - for (typename PodArray::const_iterator it = rVector.begin(); it != rVector.end(); ++it) - { - this->AddObject(*it); - } - } - - template - void AddObject(const std::map& rVector) - { - // dummy struct to get correct element size - struct Dummy - { - void* a; - void* b; - void* c; - void* d; - K k; - T t; - }; - - for (typename std::map::const_iterator it = rVector.begin(); it != rVector.end(); ++it) - { - if (this->AddObject(&(*it), sizeof(Dummy))) - { - this->AddObject(it->first); - this->AddObject(it->second); - } - } - } - - template - void AddObject(const std::set& rVector) - { - // dummy struct to get correct element size - struct Dummy - { - void* a; - void* b; - void* c; - void* d; - T t; - }; - - for (typename std::set::const_iterator it = rVector.begin(); it != rVector.end(); ++it) - { - if (this->AddObject(&(*it), sizeof(Dummy))) - { - this->AddObject(*it); - } - } - } - - template - void AddObject (const std::multimap& rContainer) - { - AddContainer(rContainer); - } - //////////////////////////////////////////////////////////////////////////////////////// - template - bool Add (const T* pId, size_t num) - { - return AddObject(pId, num * sizeof(T)); - } - - template - bool Add (const T& rObject) - { - return AddObject (&rObject, sizeof(T)); - } - - bool Add (const char* szText) - { - return AddObject(szText, strlen(szText) + 1); - } - - template - bool AddString (const StringCls& strText) - { - if (!strText.empty()) - { - return AddObject (strText.c_str(), strText.size()); - } - else - { - return false; - } - } -#ifdef _XSTRING_ - template - bool Add (const std::basic_string& strText) - { - AddString (strText); - return true; - } -#endif - - #ifndef NOT_USE_CRY_STRING - bool Add (const AZStd::string& strText) - { - AddString(strText); - return true; - } - #endif - - - // Template helper function to add generic stl container - template - bool AddContainer (const Container& rContainer) - { - if (rContainer.capacity()) - { - return AddObject (&rContainer, rContainer.capacity() * sizeof(typename Container::value_type)); - } - return false; - } - template - bool AddHashMap(const Container& rContainer) - { - if (!rContainer.empty()) - { - return AddObject (&(*rContainer.begin()), rContainer.size() * sizeof(typename Container::value_type)); - } - return false; - } - - // Specialization of the AddContainer for the std::list - template - bool AddContainer (const std::list& rContainer) - { - if (!rContainer.empty()) - { - return AddObject(&(*rContainer.begin()), stl::size_of_list(rContainer)); - } - return false; - } - // Specialization of the AddContainer for the std::deque - template - bool AddContainer (const std::deque& rContainer) - { - if (!rContainer.empty()) - { - return AddObject(&(*rContainer.begin()), stl::size_of_deque(rContainer)); - } - return false; - } - // Specialization of the AddContainer for the std::map - template - bool AddContainer (const std::map& rContainer) - { - if (!rContainer.empty()) - { - return AddObject(&(*rContainer.begin()), stl::size_of_map(rContainer)); - } - return false; - } - // Specialization of the AddContainer for the std::multimap - template - bool AddContainer (const std::multimap& rContainer) - { - if (!rContainer.empty()) - { - return AddObject(&(*rContainer.begin()), stl::size_of_map(rContainer)); - } - return false; - } - // Specialization of the AddContainer for the std::set - template - bool AddContainer (const std::set& rContainer) - { - if (!rContainer.empty()) - { - return AddObject(&(*rContainer.begin()), stl::size_of_set(rContainer)); - } - return false; - } - - // Specialization of the AddContainer for the AZStd::unordered_map - template - bool AddContainer(const AZStd::unordered_map& rContainer) - { - if (!rContainer.empty()) - { - return AddObject(&(*rContainer.begin()), rContainer.size() * sizeof(typename AZStd::unordered_map::value_type)); - } - else - { - return false; - } - } - - void Test() - { - std::map mymap; - AddContainer(mymap); - } - - // returns the flags - unsigned GetFlags() const {return m_nFlags; } - -protected: - // these functions must operate on the component name stack - // they are to be only accessible from within class CrySizerComponentNameHelper - // which should be used through macro SIZER_COMPONENT_NAME - virtual void Push (const char* szComponentName) = 0; - // pushes the name that is the name of the previous component . (dot) this name - virtual void PushSubcomponent (const char* szSubcomponentName) = 0; - virtual void Pop () = 0; - - unsigned m_nFlags; -}; - -////////////////////////////////////////////////////////////////////////// -// This is on-stack class that is only used to push/pop component names -// to/from the sizer name stack. -// -// USAGE: -// -// Create an instance of this class at the start of a function, before -// calling Add* methods of the sizer interface. Everything added in the -// function and below will be considered this component, unless -// explicitly set otherwise. -// -class CrySizerComponentNameHelper -{ -public: - // pushes the component name on top of the name stack of the given sizer - CrySizerComponentNameHelper (ICrySizer* pSizer, const char* szComponentName, bool bSubcomponent) - : m_pSizer(pSizer) - { - if (bSubcomponent) - { - pSizer->PushSubcomponent (szComponentName); - } - else - { - pSizer->Push (szComponentName); - } - } - - // pops the component name off top of the name stack of the sizer - ~CrySizerComponentNameHelper() - { - m_pSizer->Pop(); - } - -protected: - ICrySizer* m_pSizer; -}; - -// use this to push (and automatically pop) the sizer component name at the beginning of the -// getSize() function -#define SIZER_COMPONENT_NAME(pSizerPointer, szComponentName) CrySizerComponentNameHelper AZ_JOIN(sizerHelper, __LINE__)(pSizerPointer, szComponentName, false) -#define SIZER_SUBCOMPONENT_NAME(pSizerPointer, szComponentName) CrySizerComponentNameHelper AZ_JOIN(sizerHelper, __LINE__)(pSizerPointer, szComponentName, true) - -#endif // CRYINCLUDE_CRYCOMMON_CRYSIZER_H diff --git a/Code/Legacy/CryCommon/Cry_Camera.h b/Code/Legacy/CryCommon/Cry_Camera.h index 852467d787..6ccae5bce1 100644 --- a/Code/Legacy/CryCommon/Cry_Camera.h +++ b/Code/Legacy/CryCommon/Cry_Camera.h @@ -8,9 +8,6 @@ // Description : Common Camera class implementation - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_CAMERA_H -#define CRYINCLUDE_CRYCOMMON_CRY_CAMERA_H #pragma once @@ -48,450 +45,6 @@ enum cull CULL_INCLUSION // The whole object is inside frustum. }; -class CameraViewParameters -{ -public: - CameraViewParameters(); - - void LookAt(const Vec3& Eye, const Vec3& ViewRefPt, const Vec3& ViewUp); - void Perspective(float Yfov, float Aspect, float Ndist, float Fdist); - void Frustum(float l, float r, float b, float t, float Ndist, float Fdist); - const Vec3& wCOP() const; - Vec3 ViewDir() const; - Vec3 ViewDirOffAxis() const; - - float* GetXform_Screen2Obj(float* M, int WW, int WH) const; - float* GetXform_Obj2Screen(float* M, int WW, int WH) const; - - float* GetModelviewMatrix(float* M) const; - float* GetProjectionMatrix(float* M) const; - float* GetViewportMatrix(float* M, int WW, int WH) const; - - void SetModelviewMatrix(const float* M); - - void GetLookAtParams(Vec3* Eye, Vec3* ViewRefPt, Vec3* ViewUp) const; - void GetPerspectiveParams(float* Yfov, float* Xfov, float* Aspect, float* Ndist, float* Fdist) const; - void GetFrustumParams(float* l, float* r, float* b, float* t, float* Ndist, float* Fdist) const; - - float* GetInvModelviewMatrix(float* M) const; - float* GetInvProjectionMatrix(float* M) const; - float* GetInvViewportMatrix(float* M, int WW, int WH) const; - - Vec3 WorldToCam(const Vec3& wP) const; - float WorldToCamZ(const Vec3& wP) const; - Vec3 CamToWorld(const Vec3& cP) const; - - void LoadIdentityXform(); - void Xform(const float M[16]); - - void Translate(const Vec3& trans); - void Rotate(const float M[9]); - - void GetPixelRay(float sx, float sy, int ww, int wh, Vec3* Start, Vec3* Dir) const; - - void CalcVerts(Vec3* V) const; - void CalcTileVerts(Vec3* V, f32 nPosX, f32 nPosY, f32 nGridSizeX, f32 nGridSizeY) const; - void CalcRegionVerts(Vec3* V, const Vec2& vMin, const Vec2& vMax) const; - void CalcTiledRegionVerts(Vec3* V, Vec2& vMin, Vec2& vMax, f32 nPosX, f32 nPosY, f32 nGridSizeX, f32 nGridSizeY) const; - - Vec3 vX, vY, vZ; - Vec3 vOrigin; - float fWL, fWR, fWB, fWT; - float fNear, fFar; -}; - -inline float* Frustum16fv(float* M, float l, float r, float b, float t, float n, float f) -{ - M[0] = (2 * n) / (r - l); - M[4] = 0; - M[8] = (r + l) / (r - l); - M[12] = 0; - M[1] = 0; - M[5] = (2 * n) / (t - b); - M[9] = (t + b) / (t - b); - M[13] = 0; - M[2] = 0; - M[6] = 0; - M[10] = -(f + n) / (f - n); - M[14] = (-2 * f * n) / (f - n); - M[3] = 0; - M[7] = 0; - M[11] = -1; - M[15] = 0; - - return M; -} - -inline float* Viewing16fv(float* M, const Vec3 X, const Vec3 Y, const Vec3 Z, const Vec3 O) -{ - M[0] = X.x; - M[4] = X.y; - M[8] = X.z; - M[12] = -X | O; - M[1] = Y.x; - M[5] = Y.y; - M[9] = Y.z; - M[13] = -Y | O; - M[2] = Z.x; - M[6] = Z.y; - M[10] = Z.z; - M[14] = -Z | O; - M[3] = 0; - M[7] = 0; - M[11] = 0; - M[15] = 1; - return M; -} - - -inline CameraViewParameters::CameraViewParameters() -{ - vX.Set(1, 0, 0); - vY.Set(0, 1, 0); - vZ.Set(0, 0, 1); - vOrigin.Set(0, 0, 0); - fNear = 1.4142f; - fFar = 10; - fWL = -1; - fWR = 1; - fWT = 1; - fWB = -1; -} - -inline void CameraViewParameters::LookAt(const Vec3& Eye, const Vec3& ViewRefPt, const Vec3& ViewUp) -{ - vZ = Eye - ViewRefPt; - vZ.NormalizeSafe(); - vX = ViewUp % vZ; - vX.NormalizeSafe(); - vY = vZ % vX; - vY.NormalizeSafe(); - vOrigin = Eye; -} - -inline void CameraViewParameters::Perspective(float Yfov, float Aspect, float Ndist, float Fdist) -{ - fNear = Ndist; - fFar = Fdist; - fWT = tanf(Yfov * 0.5f) * fNear; - fWB = -fWT; - fWR = fWT * Aspect; - fWL = -fWR; -} - -inline void CameraViewParameters::Frustum(float l, float r, float b, float t, float Ndist, float Fdist) -{ - fNear = Ndist; - fFar = Fdist; - fWR = r; - fWL = l; - fWB = b; - fWT = t; -} - - -inline void CameraViewParameters::GetLookAtParams(Vec3* Eye, Vec3* ViewRefPt, Vec3* ViewUp) const -{ - *Eye = vOrigin; - *ViewRefPt = vOrigin - vZ; - *ViewUp = vY; -} - -inline void CameraViewParameters::GetPerspectiveParams(float* Yfov, float* Xfov, float* Aspect, float* Ndist, float* Fdist) const -{ - *Yfov = atanf(fWT / fNear) * 57.29578f * 2.0f; - *Xfov = atanf(fWR / fNear) * 57.29578f * 2.0f; - *Aspect = fWT / fWR; - *Ndist = fNear; - *Fdist = fFar; -} - -inline void CameraViewParameters::GetFrustumParams(float* l, float* r, float* b, float* t, float* Ndist, float* Fdist) const -{ - *l = fWL; - *r = fWR; - *b = fWB; - *t = fWT; - *Ndist = fNear; - *Fdist = fFar; -} - -inline const Vec3& CameraViewParameters::wCOP() const -{ - return(vOrigin); -} - -inline Vec3 CameraViewParameters::ViewDir() const -{ - return(-vZ); -} - -inline Vec3 CameraViewParameters::ViewDirOffAxis() const -{ - float fX = (fWL + fWR) * 0.5f, fY = (fWT + fWB) * 0.5f; // MIDPOINT ON VIEWPLANE WINDOW - Vec3 ViewDir = vX * fX + vY * fY - vZ * fNear; - ViewDir.Normalize(); - return ViewDir; -} - -inline Vec3 CameraViewParameters::WorldToCam(const Vec3& wP) const -{ - Vec3 sP(wP - vOrigin); - Vec3 cP(vX | sP, vY | sP, vZ | sP); - return cP; -} - -inline float CameraViewParameters::WorldToCamZ(const Vec3& wP) const -{ - Vec3 sP(wP - vOrigin); - float zdist = vZ | sP; - return zdist; -} - -inline Vec3 CameraViewParameters::CamToWorld(const Vec3& cP) const -{ - Vec3 wP(vX * cP.x + vY * cP.y + vZ * cP.z + vOrigin); - return wP; -} - -inline void CameraViewParameters::LoadIdentityXform() -{ - vX.Set(1, 0, 0); - vY.Set(0, 1, 0); - vZ.Set(0, 0, 1); - vOrigin.Set(0, 0, 0); -} - -inline void CameraViewParameters::Xform(const float M[16]) -{ - vX.Set(vX.x * M[0] + vX.y * M[4] + vX.z * M[8], - vX.x * M[1] + vX.y * M[5] + vX.z * M[9], - vX.x * M[2] + vX.y * M[6] + vX.z * M[10]); - vY.Set(vY.x * M[0] + vY.y * M[4] + vY.z * M[8], - vY.x * M[1] + vY.y * M[5] + vY.z * M[9], - vY.x * M[2] + vY.y * M[6] + vY.z * M[10]); - vZ.Set(vZ.x * M[0] + vZ.y * M[4] + vZ.z * M[8], - vZ.x * M[1] + vZ.y * M[5] + vZ.z * M[9], - vZ.x * M[2] + vZ.y * M[6] + vZ.z * M[10]); - vOrigin.Set(vOrigin.x * M[0] + vOrigin.y * M[4] + vOrigin.z * M[8] + M[12], - vOrigin.x * M[1] + vOrigin.y * M[5] + vOrigin.z * M[9] + M[13], - vOrigin.x * M[2] + vOrigin.y * M[6] + vOrigin.z * M[10] + M[14]); - - float Scale = vX.GetLength(); - vX /= Scale; - vY /= Scale; - vZ /= Scale; - - fWL *= Scale; - fWR *= Scale; - fWB *= Scale; - fWT *= Scale; - fNear *= Scale; - fFar *= Scale; -}; - -inline void CameraViewParameters::Translate(const Vec3& trans) -{ - vOrigin += trans; -} - -inline void CameraViewParameters::Rotate(const float M[9]) -{ - vX.Set(vX.x * M[0] + vX.y * M[3] + vX.z * M[6], - vX.x * M[1] + vX.y * M[4] + vX.z * M[7], - vX.x * M[2] + vX.y * M[5] + vX.z * M[8]); - vY.Set(vY.x * M[0] + vY.y * M[3] + vY.z * M[6], - vY.x * M[1] + vY.y * M[4] + vY.z * M[7], - vY.x * M[2] + vY.y * M[5] + vY.z * M[8]); - vZ.Set(vZ.x * M[0] + vZ.y * M[3] + vZ.z * M[6], - vZ.x * M[1] + vZ.y * M[4] + vZ.z * M[7], - vZ.x * M[2] + vZ.y * M[5] + vZ.z * M[8]); -} - -inline float* CameraViewParameters::GetModelviewMatrix(float* M) const -{ - Viewing16fv(M, vX, vY, vZ, vOrigin); - return M; -} - -inline float* CameraViewParameters::GetProjectionMatrix(float* M) const -{ - Frustum16fv(M, fWL, fWR, fWB, fWT, fNear, fFar); - return(M); -} - -inline void CameraViewParameters::GetPixelRay(float sx, float sy, int ww, int wh, Vec3* Start, Vec3* Dir) const -{ - Vec3 wTL = vOrigin + (vX * fWL) + (vY * fWT) - (vZ * fNear); // FIND LOWER-LEFT - Vec3 dX = (vX * (fWR - fWL)) / (float)ww; // WORLD WIDTH OF PIXEL - Vec3 dY = (vY * (fWT - fWB)) / (float)wh; // WORLD HEIGHT OF PIXEL - wTL += (dX * sx - dY * sy); // INCR TO WORLD PIXEL - wTL += (dX * 0.5f - dY * 0.5f); // INCR TO PIXEL CNTR - *Start = vOrigin; - *Dir = wTL - vOrigin; -} - -inline void CameraViewParameters::CalcVerts(Vec3* V) const -{ - float NearZ = -fNear; - V[0].Set(fWR, fWT, NearZ); - V[1].Set(fWL, fWT, NearZ); - V[2].Set(fWL, fWB, NearZ); - V[3].Set(fWR, fWB, NearZ); - - float FarZ = -fFar, FN = fFar / fNear; - float fwL = fWL * FN, fwR = fWR * FN, fwB = fWB * FN, fwT = fWT * FN; - V[4].Set(fwR, fwT, FarZ); - V[5].Set(fwL, fwT, FarZ); - V[6].Set(fwL, fwB, FarZ); - V[7].Set(fwR, fwB, FarZ); - - for (int i = 0; i < 8; i++) - { - V[i] = CamToWorld(V[i]); - } -} - -inline void CameraViewParameters::CalcTileVerts(Vec3* V, f32 nPosX, f32 nPosY, f32 nGridSizeX, f32 nGridSizeY) const -{ - float NearZ = -fNear; - - float TileWidth = abs(fWR - fWL) / nGridSizeX; - float TileHeight = abs(fWT - fWB) / nGridSizeY; - float TileL = fWL + TileWidth * nPosX; - float TileR = fWL + TileWidth * (nPosX + 1); - float TileB = fWB + TileHeight * nPosY; - float TileT = fWB + TileHeight * (nPosY + 1); - - V[0].Set(TileR, TileT, NearZ); - V[1].Set(TileL, TileT, NearZ); - V[2].Set(TileL, TileB, NearZ); - V[3].Set(TileR, TileB, NearZ); - - float FarZ = -fFar, FN = fFar / fNear; - float fwL = fWL * FN, fwR = fWR * FN, fwB = fWB * FN, fwT = fWT * FN; - - float TileFarWidth = abs(fwR - fwL) / nGridSizeX; - float TileFarHeight = abs(fwT - fwB) / nGridSizeY; - float TileFarL = fwL + TileFarWidth * nPosX; - float TileFarR = fwL + TileFarWidth * (nPosX + 1); - float TileFarB = fwB + TileFarHeight * nPosY; - float TileFarT = fwB + TileFarHeight * (nPosY + 1); - - V[4].Set(TileFarR, TileFarT, FarZ); - V[5].Set(TileFarL, TileFarT, FarZ); - V[6].Set(TileFarL, TileFarB, FarZ); - V[7].Set(TileFarR, TileFarB, FarZ); - - for (int i = 0; i < 8; i++) - { - V[i] = CamToWorld(V[i]); - } -} - -inline void CameraViewParameters::CalcTiledRegionVerts(Vec3* V, Vec2& vMin, Vec2& vMax, f32 nPosX, f32 nPosY, f32 nGridSizeX, f32 nGridSizeY) const -{ - float NearZ = -fNear; - - Vec2 vTileMin, vTileMax; - - vMin.x = max(vMin.x, nPosX / nGridSizeX); - vMax.x = min(vMax.x, (nPosX + 1) / nGridSizeX); - - vMin.y = max(vMin.y, nPosY / nGridSizeY); - vMax.y = min(vMax.y, (nPosY + 1) / nGridSizeY); - - vTileMin.x = abs(fWR - fWL) * vMin.x; - vTileMin.y = abs(fWT - fWB) * vMin.y; - vTileMax.x = abs(fWR - fWL) * vMax.x; - vTileMax.y = abs(fWT - fWB) * vMax.y; - - - float TileL = fWL + vTileMin.x; - float TileR = fWL + vTileMax.x; - float TileB = fWB + vTileMin.y; - float TileT = fWB + vTileMax.y; - - V[0].Set(TileR, TileT, NearZ); - V[1].Set(TileL, TileT, NearZ); - V[2].Set(TileL, TileB, NearZ); - V[3].Set(TileR, TileB, NearZ); - - float FarZ = -fFar, FN = fFar / fNear; - float fwL = fWL * FN, fwR = fWR * FN, fwB = fWB * FN, fwT = fWT * FN; - - Vec2 vTileFarMin, vTileFarMax; - - vTileFarMin.x = abs(fwR - fwL) * vMin.x; - vTileFarMin.y = abs(fwT - fwB) * vMin.y; - vTileFarMax.x = abs(fwR - fwL) * vMax.x; - vTileFarMax.y = abs(fwT - fwB) * vMax.y; - - - float TileFarL = fwL + vTileFarMin.x; - float TileFarR = fwL + vTileFarMax.x; - float TileFarB = fwB + vTileFarMin.y; - float TileFarT = fwB + vTileFarMax.y; - - V[4].Set(TileFarR, TileFarT, FarZ); - V[5].Set(TileFarL, TileFarT, FarZ); - V[6].Set(TileFarL, TileFarB, FarZ); - V[7].Set(TileFarR, TileFarB, FarZ); - - for (int i = 0; i < 8; i++) - { - V[i] = CamToWorld(V[i]); - } -} - - -inline void CameraViewParameters::CalcRegionVerts(Vec3* V, const Vec2& vMin, const Vec2& vMax) const -{ - float NearZ = -fNear; - - Vec2 vTileMin, vTileMax; - - vTileMin.x = abs(fWR - fWL) * vMin.x; - vTileMin.y = abs(fWT - fWB) * vMin.y; - vTileMax.x = abs(fWR - fWL) * vMax.x; - vTileMax.y = abs(fWT - fWB) * vMax.y; - - float TileL = fWL + vTileMin.x; - float TileR = fWL + vTileMax.x; - float TileB = fWB + vTileMin.y; - float TileT = fWB + vTileMax.y; - - V[0].Set(TileR, TileT, NearZ); - V[1].Set(TileL, TileT, NearZ); - V[2].Set(TileL, TileB, NearZ); - V[3].Set(TileR, TileB, NearZ); - - float FarZ = -fFar, FN = fFar / fNear; - float fwL = fWL * FN, fwR = fWR * FN, fwB = fWB * FN, fwT = fWT * FN; - - Vec2 vTileFarMin, vTileFarMax; - - vTileFarMin.x = abs(fwR - fwL) * vMin.x; - vTileFarMin.y = abs(fwT - fwB) * vMin.y; - vTileFarMax.x = abs(fwR - fwL) * vMax.x; - vTileFarMax.y = abs(fwT - fwB) * vMax.y; - - float TileFarL = fwL + vTileFarMin.x; - float TileFarR = fwL + vTileFarMax.x; - float TileFarB = fwB + vTileFarMin.y; - float TileFarT = fwB + vTileFarMax.y; - - V[4].Set(TileFarR, TileFarT, FarZ); - V[5].Set(TileFarL, TileFarT, FarZ); - V[6].Set(TileFarL, TileFarB, FarZ); - V[7].Set(TileFarR, TileFarB, FarZ); - - for (int i = 0; i < 8; i++) - { - V[i] = CamToWorld(V[i]); - } -} - /////////////////////////////////////////////////////////////////////////////// // Implements essential operations like calculation of a view-matrix and // frustum-culling with simple geometric primitives (Point, Sphere, AABB, OBB). @@ -538,98 +91,31 @@ public: ILINE static Matrix33 CreateOrientationYPR(const Ang3& ypr); ILINE static Ang3 CreateAnglesYPR(const Matrix33& m); ILINE static Ang3 CreateAnglesYPR(const Vec3& vdir, f32 r = 0); - ILINE static Vec3 CreateViewdir(const Ang3& ypr); - ILINE static Vec3 CreateViewdir(const Matrix33& m) { return m.GetColumn1(); }; ILINE void SetMatrix(const Matrix34& mat) { assert(mat.IsOrthonormal()); m_Matrix = mat; UpdateFrustum(); }; - ILINE void SetMatrixNoUpdate(const Matrix34& mat) { assert(mat.IsOrthonormal()); m_Matrix = mat; }; ILINE const Matrix34& GetMatrix() const { return m_Matrix; }; ILINE Vec3 GetViewdir() const { return m_Matrix.GetColumn1(); }; - ILINE void SetEntityRotation(const Quat& entityRot) { m_entityRot = entityRot; } - ILINE Quat GetEntityRotation() { return m_entityRot; } - ILINE void SetEntityPos(const Vec3& entityPos) { m_entityPos = entityPos; } - ILINE Vec3 GetEntityPos() const { return m_entityPos; }; - - ILINE Matrix34 GetViewMatrix() const { return m_Matrix.GetInverted(); }; ILINE Vec3 GetPosition() const { return m_Matrix.GetTranslation(); } ILINE void SetPosition(const Vec3& p) { m_Matrix.SetTranslation(p); UpdateFrustum(); } - ILINE void SetPositionNoUpdate(const Vec3& p) { m_Matrix.SetTranslation(p); } - ILINE Vec3 GetUp() const { return m_Matrix.GetColumn2(); } //------------------------------------------------------------ void SetFrustum(int nWidth, int nHeight, f32 FOV = DEFAULT_FOV, f32 nearplane = DEFAULT_NEAR, f32 farplane = DEFAULT_FAR, f32 fPixelAspectRatio = 1.0f); - ILINE void SetAsymmetry(float l, float r, float b, float t) { m_asymLeft = l; m_asymRight = r; m_asymBottom = b; m_asymTop = t; UpdateFrustum(); } - ILINE int GetViewSurfaceX() const { return m_Width; } ILINE int GetViewSurfaceZ() const { return m_Height; } ILINE f32 GetFov() const { return m_fov; } - ILINE float GetHorizontalFov() const; - ILINE f32 GetNearPlane() const { return m_edge_nlt.y; } - ILINE f32 GetFarPlane() const { return m_edge_flt.y; } - ILINE f32 GetProjRatio() const { return(m_ProjectionRatio); } - ILINE f32 GetAngularResolution() const { return m_Height / m_fov; } ILINE f32 GetPixelAspectRatio() const { return m_PixelAspectRatio; } - ILINE Vec3 GetEdgeP() const { return m_edge_plt; } - ILINE Vec3 GetEdgeN() const { return m_edge_nlt; } - ILINE Vec3 GetEdgeF() const { return m_edge_flt; } - - ILINE f32 GetAsymL() const { return m_asymLeft; } - ILINE f32 GetAsymR() const { return m_asymRight; } - ILINE f32 GetAsymB() const { return m_asymBottom; } - ILINE f32 GetAsymT() const { return m_asymTop; } - - ILINE const Vec3& GetNPVertex(int nId) const; //get near-plane vertices - ILINE const Vec3& GetFPVertex(int nId) const; //get far-plane vertices - ILINE const Vec3& GetPPVertex(int nId) const; //get projection-plane vertices - - ILINE const Plane_tpl* GetFrustumPlane(int numplane) const { return &m_fp[numplane]; } - - ////////////////////////////////////////////////////////////////////////// - // Z-Buffer ranges. - // This values are defining near/far clipping plane, it only used to specify z-buffer range. - // Use it only when you want to override default z-buffer range. - // Valid values for are: 0 <= zrange <= 1 - ////////////////////////////////////////////////////////////////////////// - ILINE void SetZRange(float zmin, float zmax) - { - // Clamp to 0-1 range. - m_zrangeMin = min(1.0f, max(0.0f, zmin)); - m_zrangeMax = min(1.0f, max(0.0f, zmax)); - }; - ILINE float GetZRangeMin() const { return m_zrangeMin; } - ILINE float GetZRangeMax() const { return m_zrangeMax; } ////////////////////////////////////////////////////////////////////////// //----------------------------------------------------------------------------------- //-------- Frustum-Culling ---------------------------- //----------------------------------------------------------------------------------- - //Check if a point lies within camera's frustum - bool IsPointVisible(const Vec3& p) const; - - //sphere-frustum test - bool IsSphereVisible_F(const ::Sphere& s) const; - uint8 IsSphereVisible_FH(const ::Sphere& s) const; //this is going to be the exact version of sphere-culling - // AABB-frustum test // Fast bool IsAABBVisible_F(const ::AABB& aabb) const; - uint8 IsAABBVisible_FH(const ::AABB& aabb, bool* pAllInside) const; - uint8 IsAABBVisible_FH(const ::AABB& aabb) const; - - // Exact - bool IsAABBVisible_E(const ::AABB& aabb) const; - uint8 IsAABBVisible_EH(const ::AABB& aabb, bool* pAllInside) const; - uint8 IsAABBVisible_EH(const ::AABB& aabb) const; - - //OBB-frustum test - bool IsOBBVisible_F(const Vec3& wpos, const OBB& obb) const; - uint8 IsOBBVisible_FH(const Vec3& wpos, const OBB& obb) const; - bool IsOBBVisible_E(const Vec3& wpos, const OBB& obb, f32 uscale) const; - uint8 IsOBBVisible_EH(const Vec3& wpos, const OBB& obb, f32 uscale) const; //## constructor/destructor CCamera() @@ -640,56 +126,23 @@ public: m_asymBottom = 0; m_asymTop = 0; SetFrustum(640, 480); - m_zrangeMin = 0.0f; - m_zrangeMax = 1.0f; - m_pPortal = NULL; - m_JustActivated = 0; m_nPosX = m_nPosY = m_nSizeX = m_nSizeY = 0; m_entityPos = Vec3(0, 0, 0); - m_entityRot = Quat(0, 0, 0, 1); } ~CCamera() {} - void GetFrustumVertices(Vec3* pVerts) const; - void GetFrustumVerticesCam(Vec3* pVerts) const; - - void SetJustActivated(const bool justActivated) {m_JustActivated = (int)justActivated; } - bool IsJustActivated() const {return m_JustActivated != 0; } - - void SetViewPort(int nPosX, int nPosY, int nSizeX, int nSizeY) - { - m_nPosX = nPosX; - m_nPosY = nPosY; - m_nSizeX = nSizeX; - m_nSizeY = nSizeY; - } - - void GetViewPort(int& nPosX, int& nPosY, int& nSizeX, int& nSizeY) const - { - nPosX = m_nPosX; - nPosY = m_nPosY; - nSizeX = m_nSizeX; - nSizeY = m_nSizeY; - } + void SetJustActivated([[maybe_unused]] const bool justActivated) {} void UpdateFrustum(); - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const { /*nothing*/} - - CameraViewParameters m_viewParameters; private: - bool AdditionalCheck(const AABB& aabb) const; - bool AdditionalCheck(const Vec3& wpos, const OBB& obb, f32 uscale) const; - Matrix34 m_Matrix; // world space-matrix f32 m_fov; // vertical fov in radiants [0..1*PI[ int m_Width; // surface width-resolution int m_Height; // surface height-resolution - f32 m_ProjectionRatio; // ratio between width and height of view-surface f32 m_PixelAspectRatio; // accounts for aspect ratio and non-square pixels - Quat m_entityRot; //The rotation of this camera's entity (does not include HMD orientation) Vec3 m_entityPos; //The position of this camera's entity (does not include HMD position or stereo offsets) Vec3 m_edge_nlt; // this is the left/upper vertex of the near-plane @@ -709,81 +162,9 @@ private: uint32 m_idx1[FRUSTUM_PLANES], m_idy1[FRUSTUM_PLANES], m_idz1[FRUSTUM_PLANES]; // uint32 m_idx2[FRUSTUM_PLANES], m_idy2[FRUSTUM_PLANES], m_idz2[FRUSTUM_PLANES]; // - // Near Far range of the z-buffer to use for this camera. - float m_zrangeMin; - float m_zrangeMax; - int m_nPosX, m_nPosY, m_nSizeX, m_nSizeY; - - //------------------------------------------------------------------------ - //--- OLD STUFF - //------------------------------------------------------------------------ -public: - - void SetFrustumVertices(Vec3* arrvVerts) - { - m_clbp = arrvVerts[0]; - m_cltp = arrvVerts[1]; - m_crtp = arrvVerts[2]; - m_crbp = arrvVerts[3]; - } - inline void SetFrustumPlane(int i, const Plane_tpl& plane) - { - m_fp[i] = plane; - //do not break strict aliasing rules, use union instead of reinterpret_casts - union f32_u - { - float floatVal; - uint32 uintVal; - }; - - { - f32_u ux; - ux.floatVal = m_fp[i].n.x; - f32_u uy; - uy.floatVal = m_fp[i].n.y; - f32_u uz; - uz.floatVal = m_fp[i].n.z; - uint32 bitX = ux.uintVal >> 31; - uint32 bitY = uy.uintVal >> 31; - uint32 bitZ = uz.uintVal >> 31; - m_idx1[i] = bitX * 3 + 0; - m_idx2[i] = (1 - bitX) * 3 + 0; - m_idy1[i] = bitY * 3 + 1; - m_idy2[i] = (1 - bitY) * 3 + 1; - m_idz1[i] = bitZ * 3 + 2; - m_idz2[i] = (1 - bitZ) * 3 + 2; - } - } - - inline Ang3 GetAngles() const { return CreateAnglesYPR(Matrix33(m_Matrix)); } - void SetAngles(const Ang3& angles) { SetMatrix(Matrix34::CreateRotationXYZ(angles)); } - - - struct IVisArea* m_pPortal; // pointer to portal used to create this camera - struct ScissorInfo - { - ScissorInfo() { x1 = y1 = x2 = y2 = 0; } - uint16 x1, y1, x2, y2; - }; - ScissorInfo m_ScissorInfo; - - Vec3 m_OccPosition; //Position for calculate occlusions (needed for portals rendering) - inline const Vec3& GetOccPos() const { return(m_OccPosition); } - - int m_JustActivated; //Camera activated in this frame, used for disabling motion blur effect at camera changes in movies }; -inline float CCamera::GetHorizontalFov() const -{ - float fFractionVert = tanf(m_fov * 0.5f); - float fFractionHoriz = fFractionVert * GetProjRatio(); - float fHorizFov = atanf(fFractionHoriz) * 2; - - return fHorizFov; -} - - // Description // This function builds a 3x3 orientation matrix using YPR-angles // Rotation order for the orientation-matrix is Z-X-Y. (Zaxis=YAW / Xaxis=PITCH / Yaxis=ROLL) @@ -866,23 +247,6 @@ ILINE Ang3 CCamera::CreateAnglesYPR(const Vec3& vdir, f32 r) } } -// Description -//
-//x=yaw
-//y=pitch
-//z=roll (we ignore this element, since its not possible to convert the roll-component into a vector)
-// 
-ILINE Vec3 CCamera::CreateViewdir(const Ang3& ypr) -{ - assert(ypr.IsInRangePI()); //all angles need to be in range between -pi and +pi - f32 sz, cz; - sincos_tpl(ypr.x, &sz, &cz); //YAW - f32 sx, cx; - sincos_tpl(ypr.y, &sx, &cx); //PITCH - return Vec3(-sz * cx, cz * cx, sx); //calculate the view-direction -} - - //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -901,7 +265,6 @@ inline void CCamera::SetFrustum(int nWidth, int nHeight, f32 FOV, f32 nearplane, f32 fWidth = (((f32)nWidth) / fPixelAspectRatio); f32 fHeight = (f32) nHeight; - m_ProjectionRatio = fWidth / fHeight; // projection ratio (1.0 for square pixels) m_PixelAspectRatio = fPixelAspectRatio; @@ -916,8 +279,6 @@ inline void CCamera::SetFrustum(int nWidth, int nHeight, f32 FOV, f32 nearplane, m_edge_plt.y = projLeftTopY; m_edge_plt.z = projLeftTopZ; - assert(fabs(acos_tpl(Vec3d(0, m_edge_plt.y, m_edge_plt.z).GetNormalized().y) * 2 - m_fov) < 0.001); - float invProjLeftTopY = 1.0f / projLeftTopY; //Apply asym shift to the camera frustum - Necessary for properly culling tessellated objects in VR @@ -1022,272 +383,8 @@ inline void CCamera::UpdateFrustum() m_idz1[i] = bitZ * 3 + 2; m_idz2[i] = (1 - bitZ) * 3 + 2; } - m_OccPosition = GetPosition(); } -// Summary -// Return frustum vertices in world space -// Description -// Takes pointer to array of 8 elements -inline void CCamera::GetFrustumVertices(Vec3* pVerts) const -{ - Matrix33 m33 = Matrix33(m_Matrix); - - /* - The frustum array contains points in the following order - - frustum[0] = far left top - frustum[1] = far left bottom - frustum[2] = far right bottom - frustum[3] = far right top - - frustum[4] = near left top - frustum[5] = near left bottom - frustum[6] = near right bottom - frustum[7] = near right top - */ - - int i = 0; - - pVerts[i++] = m33 * Vec3(+m_edge_flt.x, +m_edge_flt.y, +m_edge_flt.z) + GetPosition(); - pVerts[i++] = m33 * Vec3(+m_edge_flt.x, +m_edge_flt.y, -m_edge_flt.z) + GetPosition(); - pVerts[i++] = m33 * Vec3(-m_edge_flt.x, +m_edge_flt.y, -m_edge_flt.z) + GetPosition(); - pVerts[i++] = m33 * Vec3(-m_edge_flt.x, +m_edge_flt.y, +m_edge_flt.z) + GetPosition(); - - pVerts[i++] = m33 * Vec3(+m_edge_nlt.x, +m_edge_nlt.y, +m_edge_nlt.z) + GetPosition(); - pVerts[i++] = m33 * Vec3(+m_edge_nlt.x, +m_edge_nlt.y, -m_edge_nlt.z) + GetPosition(); - pVerts[i++] = m33 * Vec3(-m_edge_nlt.x, +m_edge_nlt.y, -m_edge_nlt.z) + GetPosition(); - pVerts[i++] = m33 * Vec3(-m_edge_nlt.x, +m_edge_nlt.y, +m_edge_nlt.z) + GetPosition(); -} - -inline void CCamera::GetFrustumVerticesCam(Vec3* pVerts) const -{ - int i = 0; - - //near plane - pVerts[i++] = Vec3(+m_edge_nlt.x, +m_edge_nlt.y, +m_edge_nlt.z); - pVerts[i++] = Vec3(+m_edge_nlt.x, +m_edge_nlt.y, -m_edge_nlt.z); - pVerts[i++] = Vec3(-m_edge_nlt.x, +m_edge_nlt.y, -m_edge_nlt.z); - pVerts[i++] = Vec3(-m_edge_nlt.x, +m_edge_nlt.y, +m_edge_nlt.z); - - //far plane - pVerts[i++] = Vec3(+m_edge_flt.x, +m_edge_flt.y, +m_edge_flt.z); - pVerts[i++] = Vec3(+m_edge_flt.x, +m_edge_flt.y, -m_edge_flt.z); - pVerts[i++] = Vec3(-m_edge_flt.x, +m_edge_flt.y, -m_edge_flt.z); - pVerts[i++] = Vec3(-m_edge_flt.x, +m_edge_flt.y, +m_edge_flt.z); -} - -//get near-plane vertices -ILINE const Vec3& CCamera::GetNPVertex(int nId) const -{ - switch (nId) - { - case 0: - return m_clbn; - case 1: - return m_cltn; - case 2: - return m_crtn; - case 3: - return m_crbn; - } - assert(0); - return m_clbn; -} -//get far-plane vertices -ILINE const Vec3& CCamera::GetFPVertex(int nId) const -{ - switch (nId) - { - case 0: - return m_clbf; - case 1: - return m_cltf; - case 2: - return m_crtf; - case 3: - return m_crbf; - } - assert(0); - return m_clbf; -} -ILINE const Vec3& CCamera::GetPPVertex(int nId) const -{ - switch (nId) - { - case 0: - return m_clbp; - case 1: - return m_cltp; - case 2: - return m_crtp; - case 3: - return m_crbp; - } - assert(0); - return m_clbp; -} - - - - -// Description -// Check if a point lies within camera's frustum -// -// Example -// u8 InOut=camera.IsPointVisible(point); -// -// return values -// CULL_EXCLUSION = point outside of frustum -// CULL_INTERSECT = point inside of frustum -inline bool CCamera::IsPointVisible(const Vec3& p) const -{ - if ((m_fp[FR_PLANE_NEAR ] | p) > 0) - { - return CULL_EXCLUSION; - } - if ((m_fp[FR_PLANE_RIGHT ] | p) > 0) - { - return CULL_EXCLUSION; - } - if ((m_fp[FR_PLANE_LEFT ] | p) > 0) - { - return CULL_EXCLUSION; - } - if ((m_fp[FR_PLANE_TOP ] | p) > 0) - { - return CULL_EXCLUSION; - } - if ((m_fp[FR_PLANE_BOTTOM] | p) > 0) - { - return CULL_EXCLUSION; - } - if ((m_fp[FR_PLANE_FAR ] | p) > 0) - { - return CULL_EXCLUSION; - } - return CULL_OVERLAP; -} - - - - - - - - -// Description -// Conventional method to check if a sphere and the camera-frustum overlap -// The center of the sphere is assumed to be in world-space. -// -// Example -// u8 InOut=camera.IsSphereVisible_F(sphere); -// -// return values -// CULL_EXCLUSION = sphere outside of frustum (very fast rejection-test) -// CULL_INTERSECT = sphere and frustum intersects or sphere in completely inside frustum -inline bool CCamera::IsSphereVisible_F(const ::Sphere& s) const -{ - if ((m_fp[0] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((m_fp[1] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((m_fp[2] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((m_fp[3] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((m_fp[4] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((m_fp[5] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - return CULL_OVERLAP; -} - -// Description -// Conventional method to check if a sphere and the camera-frustum overlap, or -// if the sphere is completely inside the camera-frustum. The center of the -// sphere is assumed to be in world-space. -// -// Example -// u8 InOut=camera.IsSphereVisible_FH(sphere); -// -// return values -// CULL_EXCLUSION = sphere outside of frustum (very fast rejection-test) -// CULL_INTERSECT = sphere intersects the borders of the frustum, further checks necessary -// CULL_INCLUSION = sphere is complete inside the frustum, no further checks necessary -inline uint8 CCamera::IsSphereVisible_FH(const ::Sphere& s) const -{ - f32 nc, rc, lc, tc, bc, cc; - if ((nc = m_fp[0] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((rc = m_fp[1] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((lc = m_fp[2] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((tc = m_fp[3] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((bc = m_fp[4] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - if ((cc = m_fp[5] | s.center) > s.radius) - { - return CULL_EXCLUSION; - } - - //now we have to check if it is completely in frustum - f32 r = -s.radius; - if (nc > r) - { - return CULL_OVERLAP; - } - if (lc > r) - { - return CULL_OVERLAP; - } - if (rc > r) - { - return CULL_OVERLAP; - } - if (tc > r) - { - return CULL_OVERLAP; - } - if (bc > r) - { - return CULL_OVERLAP; - } - if (cc > r) - { - return CULL_OVERLAP; - } - return CULL_INCLUSION; -} - - - - - // Description // Simple approach to check if an AABB and the camera-frustum overlap. The AABB // is assumed to be in world-space. This is a very fast method, just one single @@ -1349,789 +446,3 @@ inline bool CCamera::IsAABBVisible_F(const AABB& aabb) const } return CULL_OVERLAP; } - - -// Description -// Hierarchical approach to check if an AABB and the camera-frustum overlap, or if the AABB -// is totally inside the camera-frustum. The AABB is assumed to be in world-space. -// -// Example -// int InOut=camera.IsAABBVisible_FH(aabb); -// -// return values -// CULL_EXCLUSION = AABB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = AABB intersects the borders of the frustum, further checks necessary -// CULL_INCLUSION = AABB is complete inside the frustum, no further checks necessary - -inline uint8 CCamera::IsAABBVisible_FH(const AABB& aabb, bool* pAllInside) const -{ - assert(pAllInside && *pAllInside == false); - if (IsAABBVisible_F(aabb) == CULL_EXCLUSION) - { - return CULL_EXCLUSION; - } - const f32* p = &aabb.min.x; - uint32 x, y, z; - x = m_idx2[0]; - y = m_idy2[0]; - z = m_idz2[0]; - if ((m_fp[0] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[1]; - y = m_idy2[1]; - z = m_idz2[1]; - if ((m_fp[1] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[2]; - y = m_idy2[2]; - z = m_idz2[2]; - if ((m_fp[2] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[3]; - y = m_idy2[3]; - z = m_idz2[3]; - if ((m_fp[3] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[4]; - y = m_idy2[4]; - z = m_idz2[4]; - if ((m_fp[4] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[5]; - y = m_idy2[5]; - z = m_idz2[5]; - if ((m_fp[5] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - *pAllInside = true; - return CULL_INCLUSION; -} - -// Description -// Hierarchical approach to check if an AABB and the camera-frustum overlap, or if the AABB -// is totally inside the camera-frustum. The AABB is assumed to be in world-space. -// -// Example -// int InOut=camera.IsAABBVisible_FH(aabb); -// -// return values -// CULL_EXCLUSION = AABB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = AABB intersects the borders of the frustum, further checks necessary -// CULL_INCLUSION = AABB is complete inside the frustum, no further checks necessary -inline uint8 CCamera::IsAABBVisible_FH(const AABB& aabb) const -{ - if (IsAABBVisible_F(aabb) == CULL_EXCLUSION) - { - return CULL_EXCLUSION; - } - const f32* p = &aabb.min.x; - uint32 x, y, z; - x = m_idx2[0]; - y = m_idy2[0]; - z = m_idz2[0]; - if ((m_fp[0] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[1]; - y = m_idy2[1]; - z = m_idz2[1]; - if ((m_fp[1] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[2]; - y = m_idy2[2]; - z = m_idz2[2]; - if ((m_fp[2] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[3]; - y = m_idy2[3]; - z = m_idz2[3]; - if ((m_fp[3] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[4]; - y = m_idy2[4]; - z = m_idz2[4]; - if ((m_fp[4] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - x = m_idx2[5]; - y = m_idy2[5]; - z = m_idz2[5]; - if ((m_fp[5] | Vec3(p[x], p[y], p[z])) > 0) - { - return CULL_OVERLAP; - } - return CULL_INCLUSION; -} - - -// Description -// This function checks if an AABB and the camera-frustum overlap. The AABB is assumed to be in world-space. -// This test can reject even such AABBs that overlap a frustum-plane far outside the view-frustum. -// IMPORTANT: -// This function is only useful if you really need exact-culling. -// It's about 30% slower then "IsAABBVisible_F(aabb)" -// -// Example: -// int InOut=camera.IsAABBVisible_E(aabb); -// -// return values: -// CULL_EXCLUSION = AABB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = AABB either intersects the borders of the frustum or is totally inside -inline bool CCamera::IsAABBVisible_E(const AABB& aabb) const -{ - uint8 o = IsAABBVisible_FH(aabb); - if (o == CULL_EXCLUSION) - { - return CULL_EXCLUSION; - } - if (o == CULL_INCLUSION) - { - return CULL_OVERLAP; - } - return AdditionalCheck(aabb); //result is either "exclusion" or "overlap" -} - -// Description: -// Improved approach to check if an AABB and the camera-frustum overlap, or if the AABB -// is totally inside the camera-frustum. The AABB is assumed to be in world-space. This -// test can reject even such AABBs that overlap a frustum-plane far outside the view-frustum. -// IMPORTANT: -// This function is only useful if you really need exact-culling. -// It's about 30% slower then "IsAABBVisible_FH(aabb)" -// -// Example: -// int InOut=camera.IsAABBVisible_EH(aabb); -// -// return values: -// CULL_EXCLUSION = AABB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = AABB intersects the borders of the frustum, further checks necessary -// CULL_INCLUSION = AABB is complete inside the frustum, no further checks necessary -inline uint8 CCamera::IsAABBVisible_EH(const AABB& aabb, bool* pAllInside) const -{ - uint8 o = IsAABBVisible_FH(aabb, pAllInside); - if (o == CULL_EXCLUSION) - { - return CULL_EXCLUSION; - } - if (o == CULL_INCLUSION) - { - return CULL_INCLUSION; - } - return AdditionalCheck(aabb); //result is either "exclusion" or "overlap" -} - -// Description: -// Improved approach to check if an AABB and the camera-frustum overlap, or if the AABB -// is totally inside the camera-frustum. The AABB is assumed to be in world-space. This -// test can reject even such AABBs that overlap a frustum-plane far outside the view-frustum. -// IMPORTANT: -// This function is only useful if you really need exact-culling. -// It's about 30% slower then "IsAABBVisible_FH(aabb)" -// -// Example: -// int InOut=camera.IsAABBVisible_EH(aabb); -// -// return values: -// CULL_EXCLUSION = AABB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = AABB intersects the borders of the frustum, further checks necessary -// CULL_INCLUSION = AABB is complete inside the frustum, no further checks necessary -inline uint8 CCamera::IsAABBVisible_EH(const AABB& aabb) const -{ - uint8 o = IsAABBVisible_FH(aabb); - if (o == CULL_EXCLUSION) - { - return CULL_EXCLUSION; - } - if (o == CULL_INCLUSION) - { - return CULL_INCLUSION; - } - return AdditionalCheck(aabb); //result is either "exclusion" or "overlap" -} - - - -// Description -// Fast check if an OBB and the camera-frustum overlap, using the separating-axis-theorem (SAT) -// The center of the OOBB is assumed to be in world-space. -// NOTE: even if the OBB is totally inside the frustum, this function returns CULL_OVERLAP -// For hierarchical frustum-culling this function is not perfect. -// -// Example: -// bool InOut=camera.IsOBBVisibleFast(obb); -// -// return values: -// CULL_EXCLUSION = OBB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = OBB and frustum intersects or OBB in totally inside frustum -inline bool CCamera::IsOBBVisible_F(const Vec3& wpos, const OBB& obb) const -{ - CRY_ASSERT(obb.m33.IsOrthonormalRH(0.001f)); - - //transform the obb-center into world-space - Vec3 p = obb.m33 * obb.c + wpos; - - //extract the orientation-vectors from the columns of the 3x3 matrix - //and scale them by the half-lengths - Vec3 ax = obb.m33.GetColumn0() * obb.h.x; - Vec3 ay = obb.m33.GetColumn1() * obb.h.y; - Vec3 az = obb.m33.GetColumn2() * obb.h.z; - - //we project the axes of the OBB onto the normal of each of the 6 planes. - //If the absolute value of the distance from the center of the OBB to the plane - //is larger then the "radius" of the OBB, then the OBB is outside the frustum. - f32 t; - if ((t = m_fp[0] | p) > 0.0f) - { - if (t > (fabsf(m_fp[0].n | ax) + fabsf(m_fp[0].n | ay) + fabsf(m_fp[0].n | az))) - { - return CULL_EXCLUSION; - } - } - if ((t = m_fp[1] | p) > 0.0f) - { - if (t > (fabsf(m_fp[1].n | ax) + fabsf(m_fp[1].n | ay) + fabsf(m_fp[1].n | az))) - { - return CULL_EXCLUSION; - } - } - if ((t = m_fp[2] | p) > 0.0f) - { - if (t > (fabsf(m_fp[2].n | ax) + fabsf(m_fp[2].n | ay) + fabsf(m_fp[2].n | az))) - { - return CULL_EXCLUSION; - } - } - if ((t = m_fp[3] | p) > 0.0f) - { - if (t > (fabsf(m_fp[3].n | ax) + fabsf(m_fp[3].n | ay) + fabsf(m_fp[3].n | az))) - { - return CULL_EXCLUSION; - } - } - if ((t = m_fp[4] | p) > 0.0f) - { - if (t > (fabsf(m_fp[4].n | ax) + fabsf(m_fp[4].n | ay) + fabsf(m_fp[4].n | az))) - { - return CULL_EXCLUSION; - } - } - if ((t = m_fp[5] | p) > 0.0f) - { - if (t > (fabsf(m_fp[5].n | ax) + fabsf(m_fp[5].n | ay) + fabsf(m_fp[5].n | az))) - { - return CULL_EXCLUSION; - } - } - - //probably the OBB is visible! - //With this test we can't be sure if the OBB partially visible or totally included or - //totally outside the frustum but still intersecting one of the 6 planes (=worst case) - return CULL_OVERLAP; -} - -ILINE uint8 CCamera::IsOBBVisible_FH([[maybe_unused]] const Vec3& wpos, [[maybe_unused]] const OBB& obb) const -{ - //not implemented yet - return CULL_EXCLUSION; -} - -// Description: -// This function checks if an OBB and the camera-frustum overlap. -// This test can reject even such OBBs that overlap a frustum-plane -// far outside the view-frustum. -// IMPORTANT: It is about 10% slower then "IsOBBVisibleFast(obb)" -// -// Example: -// int InOut=camera.IsOBBVisible_E(OBB); -// -// return values: -// CULL_EXCLUSION = OBB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = OBB intersects the borders of the frustum or is totally inside -inline bool CCamera::IsOBBVisible_E(const Vec3& wpos, const OBB& obb, f32 uscale = 1.0f) const -{ - assert(obb.m33.IsOrthonormalRH(0.001f)); - - //transform the obb-center into world-space - Vec3 p = obb.m33 * obb.c * uscale + wpos; - - //extract the orientation-vectors from the columns of the 3x3 matrix - //and scale them by the half-lengths - Vec3 ax = obb.m33.GetColumn0() * obb.h.x * uscale; - Vec3 ay = obb.m33.GetColumn1() * obb.h.y * uscale; - Vec3 az = obb.m33.GetColumn2() * obb.h.z * uscale; - - //we project the axes of the OBB onto the normal of each of the 6 planes. - //If the absolute value of the distance from the center of the OBB to the plane - //is larger then the "radius" of the OBB, then the OBB is outside the frustum. - f32 t0, t1, t2, t3, t4, t5; - bool mt0, mt1, mt2, mt3, mt4, mt5; - mt0 = (t0 = m_fp[0] | p) > 0.0f; - if (mt0) - { - if (t0 > (fabsf(m_fp[0].n | ax) + fabsf(m_fp[0].n | ay) + fabsf(m_fp[0].n | az))) - { - return CULL_EXCLUSION; - } - } - mt1 = (t1 = m_fp[1] | p) > 0.0f; - if (mt1) - { - if (t1 > (fabsf(m_fp[1].n | ax) + fabsf(m_fp[1].n | ay) + fabsf(m_fp[1].n | az))) - { - return CULL_EXCLUSION; - } - } - mt2 = (t2 = m_fp[2] | p) > 0.0f; - if (mt2) - { - if (t2 > (fabsf(m_fp[2].n | ax) + fabsf(m_fp[2].n | ay) + fabsf(m_fp[2].n | az))) - { - return CULL_EXCLUSION; - } - } - mt3 = (t3 = m_fp[3] | p) > 0.0f; - if (mt3) - { - if (t3 > (fabsf(m_fp[3].n | ax) + fabsf(m_fp[3].n | ay) + fabsf(m_fp[3].n | az))) - { - return CULL_EXCLUSION; - } - } - mt4 = (t4 = m_fp[4] | p) > 0.0f; - if (mt4) - { - if (t4 > (fabsf(m_fp[4].n | ax) + fabsf(m_fp[4].n | ay) + fabsf(m_fp[4].n | az))) - { - return CULL_EXCLUSION; - } - } - mt5 = (t5 = m_fp[5] | p) > 0.0f; - if (mt5) - { - if (t5 > (fabsf(m_fp[5].n | ax) + fabsf(m_fp[5].n | ay) + fabsf(m_fp[5].n | az))) - { - return CULL_EXCLUSION; - } - } - - //if obb-center is in view-frustum, then stop further calculation - if (!(mt0 | mt1 | mt2 | mt3 | mt4 | mt5)) - { - return CULL_OVERLAP; - } - - return AdditionalCheck(wpos, obb, uscale); -} - - -// Description: -// Improved approach to check if an OBB and the camera-frustum intersect, or if the OBB -// is totally inside the camera-frustum. The bounding-box of the OBB is assumed to be -// in world-space. This test can reject even such OBBs that intersect a frustum-plane far -// outside the view-frustum -// -// Example: -// int InOut=camera.IsOBBVisible_EH(obb); -// -// return values: -// CULL_EXCLUSION = OBB outside of frustum (very fast rejection-test) -// CULL_OVERLAP = OBB intersects the borders of the frustum, further checks necessary -// CULL_INCLUSION = OBB is complete inside the frustum, no further checks necessary -inline uint8 CCamera::IsOBBVisible_EH(const Vec3& wpos, const OBB& obb, f32 uscale = 1.0f) const -{ - assert(obb.m33.IsOrthonormalRH(0.001f)); - //transform the obb-center into world-space - Vec3 p = obb.m33 * obb.c * uscale + wpos; - - //extract the orientation-vectors from the columns of the 3x3 matrix - //and scale them by the half-lengths - Vec3 ax = obb.m33.GetColumn0() * obb.h.x * uscale; - Vec3 ay = obb.m33.GetColumn1() * obb.h.y * uscale; - Vec3 az = obb.m33.GetColumn2() * obb.h.z * uscale; - - //we project the axes of the OBB onto the normal of each of the 6 planes. - //If the absolute value of the distance from the center of the OBB to the plane - //is larger then the "radius" of the OBB, then the OBB is outside the frustum. - f32 t0, t1, t2, t3, t4, t5; - bool mt0, mt1, mt2, mt3, mt4, mt5; - if (mt0 = (t0 = m_fp[0] | p) > 0.0f) - { - if (t0 > (fabsf(m_fp[0].n | ax) + fabsf(m_fp[0].n | ay) + fabsf(m_fp[0].n | az))) - { - return CULL_EXCLUSION; - } - } - if (mt1 = (t1 = m_fp[1] | p) > 0.0f) - { - if (t1 > (fabsf(m_fp[1].n | ax) + fabsf(m_fp[1].n | ay) + fabsf(m_fp[1].n | az))) - { - return CULL_EXCLUSION; - } - } - if (mt2 = (t2 = m_fp[2] | p) > 0.0f) - { - if (t2 > (fabsf(m_fp[2].n | ax) + fabsf(m_fp[2].n | ay) + fabsf(m_fp[2].n | az))) - { - return CULL_EXCLUSION; - } - } - if (mt3 = (t3 = m_fp[3] | p) > 0.0f) - { - if (t3 > (fabsf(m_fp[3].n | ax) + fabsf(m_fp[3].n | ay) + fabsf(m_fp[3].n | az))) - { - return CULL_EXCLUSION; - } - } - if (mt4 = (t4 = m_fp[4] | p) > 0.0f) - { - if (t4 > (fabsf(m_fp[4].n | ax) + fabsf(m_fp[4].n | ay) + fabsf(m_fp[4].n | az))) - { - return CULL_EXCLUSION; - } - } - if (mt5 = (t5 = m_fp[5] | p) > 0.0f) - { - if (t5 > (fabsf(m_fp[5].n | ax) + fabsf(m_fp[5].n | ay) + fabsf(m_fp[5].n | az))) - { - return CULL_EXCLUSION; - } - } - - //check if obb-center is in view-frustum - if (!(mt0 | mt1 | mt2 | mt3 | mt4 | mt5)) - { - //yes, it is! - //and now check if OBB is totally included - if (-t0 < (fabsf(m_fp[0].n | ax) + fabsf(m_fp[0].n | ay) + fabsf(m_fp[0].n | az))) - { - return CULL_OVERLAP; - } - if (-t1 < (fabsf(m_fp[1].n | ax) + fabsf(m_fp[1].n | ay) + fabsf(m_fp[1].n | az))) - { - return CULL_OVERLAP; - } - if (-t2 < (fabsf(m_fp[2].n | ax) + fabsf(m_fp[2].n | ay) + fabsf(m_fp[2].n | az))) - { - return CULL_OVERLAP; - } - if (-t3 < (fabsf(m_fp[3].n | ax) + fabsf(m_fp[3].n | ay) + fabsf(m_fp[3].n | az))) - { - return CULL_OVERLAP; - } - if (-t4 < (fabsf(m_fp[4].n | ax) + fabsf(m_fp[4].n | ay) + fabsf(m_fp[4].n | az))) - { - return CULL_OVERLAP; - } - if (-t5 < (fabsf(m_fp[5].n | ax) + fabsf(m_fp[5].n | ay) + fabsf(m_fp[5].n | az))) - { - return CULL_OVERLAP; - } - return CULL_INCLUSION; - } - return AdditionalCheck(wpos, obb, uscale); -} - -//------------------------------------------------------------------------------ -//--- ADDITIONAL-TEST --- -//------------------------------------------------------------------------------ - -alignas(64) extern uint32 BoxSides[]; - -// Description: -// A box can easily straddle one of the view-frustum planes far -// outside the view-frustum and in this case the previous test would -// return CULL_OVERLAP. -// -// Note: With this check, we make sure the AABB is really not visble -NO_INLINE_WEAK bool CCamera::AdditionalCheck(const AABB& aabb) const -{ - Vec3d m = (aabb.min + aabb.max) * 0.5; - uint32 o = 1; //will be reset to 0 if center is outside - o &= isneg(m_fp[0] | m); - o &= isneg(m_fp[2] | m); - o &= isneg(m_fp[3] | m); - o &= isneg(m_fp[4] | m); - o &= isneg(m_fp[5] | m); - o &= isneg(m_fp[1] | m); - if (o) - { - return CULL_OVERLAP; //if obb-center is in view-frustum, then stop further calculation - } - Vec3d vmin(aabb.min - GetPosition()); //AABB in camera-space - Vec3d vmax(aabb.max - GetPosition()); //AABB in camera-space - - uint32 frontx8 = 0; // make the flags using the fact that the upper bit in f32 is its sign - - union f64_u - { - f64 floatVal; - int64 intVal; - }; - f64_u uminx, uminy, uminz, umaxx, umaxy, umaxz; - uminx.floatVal = vmin.x; - uminy.floatVal = vmin.y; - uminz.floatVal = vmin.z; - umaxx.floatVal = vmax.x; - umaxy.floatVal = vmax.y; - umaxz.floatVal = vmax.z; - - frontx8 |= (-uminx.intVal >> 0x3f) & 0x008; //if (AABB.min.x>0.0f) frontx8|=0x008; - frontx8 |= (umaxx.intVal >> 0x3f) & 0x010; //if (AABB.max.x<0.0f) frontx8|=0x010; - frontx8 |= (-uminy.intVal >> 0x3f) & 0x020; //if (AABB.min.y>0.0f) frontx8|=0x020; - frontx8 |= (umaxy.intVal >> 0x3f) & 0x040; //if (AABB.max.y<0.0f) frontx8|=0x040; - frontx8 |= (-uminz.intVal >> 0x3f) & 0x080; //if (AABB.min.z>0.0f) frontx8|=0x080; - frontx8 |= (umaxz.intVal >> 0x3f) & 0x100; //if (AABB.max.z<0.0f) frontx8|=0x100; - - //check if camera is inside the aabb - if (frontx8 == 0) - { - return CULL_OVERLAP; //AABB is patially visible - } - Vec3d v[8] = { - Vec3d(vmin.x, vmin.y, vmin.z), - Vec3d(vmax.x, vmin.y, vmin.z), - Vec3d(vmin.x, vmax.y, vmin.z), - Vec3d(vmax.x, vmax.y, vmin.z), - Vec3d(vmin.x, vmin.y, vmax.z), - Vec3d(vmax.x, vmin.y, vmax.z), - Vec3d(vmin.x, vmax.y, vmax.z), - Vec3d(vmax.x, vmax.y, vmax.z) - }; - - //--------------------------------------------------------------------- - //--- find the silhouette-vertices of the AABB --- - //--------------------------------------------------------------------- - uint32 p0 = BoxSides[frontx8 + 0]; - uint32 p1 = BoxSides[frontx8 + 1]; - uint32 p2 = BoxSides[frontx8 + 2]; - uint32 p3 = BoxSides[frontx8 + 3]; - uint32 p4 = BoxSides[frontx8 + 4]; - uint32 p5 = BoxSides[frontx8 + 5]; - uint32 sideamount = BoxSides[frontx8 + 7]; - - if (sideamount == 4) - { - //-------------------------------------------------------------------------- - //--- we take the 4 vertices of projection-plane in cam-space, --- - //----- and clip them against the 4 side-frustum-planes of the AABB - - //-------------------------------------------------------------------------- - Vec3d s0 = v[p0] % v[p1]; - if ((s0 | m_cltp) > 0 && (s0 | m_crtp) > 0 && (s0 | m_crbp) > 0 && (s0 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s1 = v[p1] % v[p2]; - if ((s1 | m_cltp) > 0 && (s1 | m_crtp) > 0 && (s1 | m_crbp) > 0 && (s1 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s2 = v[p2] % v[p3]; - if ((s2 | m_cltp) > 0 && (s2 | m_crtp) > 0 && (s2 | m_crbp) > 0 && (s2 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s3 = v[p3] % v[p0]; - if ((s3 | m_cltp) > 0 && (s3 | m_crtp) > 0 && (s3 | m_crbp) > 0 && (s3 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - } - - if (sideamount == 6) - { - //-------------------------------------------------------------------------- - //--- we take the 4 vertices of projection-plane in cam-space, --- - //--- and clip them against the 6 side-frustum-planes of the AABB --- - //-------------------------------------------------------------------------- - Vec3d s0 = v[p0] % v[p1]; - if ((s0 | m_cltp) > 0 && (s0 | m_crtp) > 0 && (s0 | m_crbp) > 0 && (s0 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s1 = v[p1] % v[p2]; - if ((s1 | m_cltp) > 0 && (s1 | m_crtp) > 0 && (s1 | m_crbp) > 0 && (s1 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s2 = v[p2] % v[p3]; - if ((s2 | m_cltp) > 0 && (s2 | m_crtp) > 0 && (s2 | m_crbp) > 0 && (s2 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s3 = v[p3] % v[p4]; - if ((s3 | m_cltp) > 0 && (s3 | m_crtp) > 0 && (s3 | m_crbp) > 0 && (s3 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s4 = v[p4] % v[p5]; - if ((s4 | m_cltp) > 0 && (s4 | m_crtp) > 0 && (s4 | m_crbp) > 0 && (s4 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - Vec3d s5 = v[p5] % v[p0]; - if ((s5 | m_cltp) > 0 && (s5 | m_crtp) > 0 && (s5 | m_crbp) > 0 && (s5 | m_clbp) > 0) - { - return CULL_EXCLUSION; - } - } - return CULL_OVERLAP; //AABB is patially visible -} - -//------------------------------------------------------------------------------ -//--- ADDITIONAL-TEST --- -//------------------------------------------------------------------------------ - -// Description: -// A box can easily straddle one of the view-frustum planes far -// outside the view-frustum and in this case the previous test would -// return CULL_OVERLAP. -// Note: -// With this check, we make sure the OBB is really not visible -NO_INLINE_WEAK bool CCamera::AdditionalCheck(const Vec3& wpos, const OBB& obb, f32 uscale) const -{ - Vec3 CamInOBBSpace = wpos - GetPosition(); - Vec3 iCamPos = -CamInOBBSpace * obb.m33; - uint32 front8 = 0; - AABB aabb = AABB((obb.c - obb.h) * uscale, (obb.c + obb.h) * uscale); - if (iCamPos.x < aabb.min.x) - { - front8 |= 0x008; - } - if (iCamPos.x > aabb.max.x) - { - front8 |= 0x010; - } - if (iCamPos.y < aabb.min.y) - { - front8 |= 0x020; - } - if (iCamPos.y > aabb.max.y) - { - front8 |= 0x040; - } - if (iCamPos.z < aabb.min.z) - { - front8 |= 0x080; - } - if (iCamPos.z > aabb.max.z) - { - front8 |= 0x100; - } - - if (front8 == 0) - { - return CULL_OVERLAP; - } - - //the transformed OBB-vertices in cam-space - Vec3 v[8] = { - obb.m33 * Vec3(aabb.min.x, aabb.min.y, aabb.min.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.max.x, aabb.min.y, aabb.min.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.min.x, aabb.max.y, aabb.min.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.max.x, aabb.max.y, aabb.min.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.min.x, aabb.min.y, aabb.max.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.max.x, aabb.min.y, aabb.max.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.min.x, aabb.max.y, aabb.max.z) + CamInOBBSpace, - obb.m33 * Vec3(aabb.max.x, aabb.max.y, aabb.max.z) + CamInOBBSpace - }; - - //--------------------------------------------------------------------- - //--- find the silhouette-vertices of the OBB --- - //--------------------------------------------------------------------- - uint32 p0 = BoxSides[front8 + 0]; - uint32 p1 = BoxSides[front8 + 1]; - uint32 p2 = BoxSides[front8 + 2]; - uint32 p3 = BoxSides[front8 + 3]; - uint32 p4 = BoxSides[front8 + 4]; - uint32 p5 = BoxSides[front8 + 5]; - uint32 sideamount = BoxSides[front8 + 7]; - - if (sideamount == 4) - { - //-------------------------------------------------------------------------- - //--- we take the 4 vertices of projection-plane in cam-space, --- - //----- and clip them against the 4 side-frustum-planes of the OBB - - //-------------------------------------------------------------------------- - Vec3 s0 = v[p0] % v[p1]; - if (((s0 | m_cltp) >= 0) && ((s0 | m_crtp) >= 0) && ((s0 | m_crbp) >= 0) && ((s0 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s1 = v[p1] % v[p2]; - if (((s1 | m_cltp) >= 0) && ((s1 | m_crtp) >= 0) && ((s1 | m_crbp) >= 0) && ((s1 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s2 = v[p2] % v[p3]; - if (((s2 | m_cltp) >= 0) && ((s2 | m_crtp) >= 0) && ((s2 | m_crbp) >= 0) && ((s2 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s3 = v[p3] % v[p0]; - if (((s3 | m_cltp) >= 0) && ((s3 | m_crtp) >= 0) && ((s3 | m_crbp) >= 0) && ((s3 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - } - - if (sideamount == 6) - { - //-------------------------------------------------------------------------- - //--- we take the 4 vertices of projection-plane in cam-space, --- - //--- and clip them against the 6 side-frustum-planes of the OBB --- - //-------------------------------------------------------------------------- - Vec3 s0 = v[p0] % v[p1]; - if (((s0 | m_cltp) >= 0) && ((s0 | m_crtp) >= 0) && ((s0 | m_crbp) >= 0) && ((s0 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s1 = v[p1] % v[p2]; - if (((s1 | m_cltp) >= 0) && ((s1 | m_crtp) >= 0) && ((s1 | m_crbp) >= 0) && ((s1 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s2 = v[p2] % v[p3]; - if (((s2 | m_cltp) >= 0) && ((s2 | m_crtp) >= 0) && ((s2 | m_crbp) >= 0) && ((s2 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s3 = v[p3] % v[p4]; - if (((s3 | m_cltp) >= 0) && ((s3 | m_crtp) >= 0) && ((s3 | m_crbp) >= 0) && ((s3 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s4 = v[p4] % v[p5]; - if (((s4 | m_cltp) >= 0) && ((s4 | m_crtp) >= 0) && ((s4 | m_crbp) >= 0) && ((s4 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - Vec3 s5 = v[p5] % v[p0]; - if (((s5 | m_cltp) >= 0) && ((s5 | m_crtp) >= 0) && ((s5 | m_crbp) >= 0) && ((s5 | m_clbp) >= 0)) - { - return CULL_EXCLUSION; - } - } - //now we are 100% sure that the OBB is visible on the screen - return CULL_OVERLAP; -} - -#endif // CRYINCLUDE_CRYCOMMON_CRY_CAMERA_H diff --git a/Code/Legacy/CryCommon/Cry_Color.h b/Code/Legacy/CryCommon/Cry_Color.h index 4f00f0c373..7fae67c284 100644 --- a/Code/Legacy/CryCommon/Cry_Color.h +++ b/Code/Legacy/CryCommon/Cry_Color.h @@ -8,21 +8,12 @@ // Description : 4D Color template. - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_COLOR_H -#define CRYINCLUDE_CRYCOMMON_CRY_COLOR_H #pragma once #include #include #include "Cry_Math.h" -ILINE float FClamp(float X, float Min, float Max) -{ - return X < Min ? Min : X < Max ? X : Max; -} - template struct Color_tpl; @@ -54,44 +45,6 @@ struct Color_tpl ILINE Color_tpl(const Vec3& c, float fAlpha); ILINE Color_tpl(const Vec4& c); - void Clamp(float Min = 0, float Max = 1.0f) - { - r = ::FClamp(r, Min, Max); - g = ::FClamp(g, Min, Max); - b = ::FClamp(b, Min, Max); - a = ::FClamp(a, Min, Max); - } - void ScaleCol (float f) - { - r = static_cast(r * f); - g = static_cast(g * f); - b = static_cast(b * f); - } - - float Luminance() const - { - return r * 0.30f + g * 0.59f + b * 0.11f; - } - - ILINE float Max() const - { - return max(r, max(b, g)); - } - - float NormalizeCol (ColorF& out) const - { - float max = Max(); - - if (max == 0) - { - return 0; - } - - out = *this / max; - - return max; - } - ILINE Color_tpl(const Vec3& vVec) { r = (T)vVec.x; @@ -114,20 +67,6 @@ struct Color_tpl a = static_cast(fA); } - ILINE void set(T _x, T _y = 0, T _z = 0, T _w = 0) - { - r = _x; - g = _y; - b = _z; - a = _w; - } - ILINE void set(T _x, T _y = 0, T _z = 0) - { - r = _x; - g = _y; - b = _z; - a = 1; - } ILINE Color_tpl operator + () const { return *this; @@ -227,117 +166,12 @@ struct Color_tpl return (r != v.r) || (g != v.g) || (b != v.b) || (a != v.a); } - ILINE unsigned char pack_rgb332() const; - ILINE unsigned short pack_argb4444() const; - ILINE unsigned short pack_rgb555() const; - ILINE unsigned short pack_rgb565() const; - ILINE unsigned int pack_bgr888() const; - ILINE unsigned int pack_rgb888() const; ILINE unsigned int pack_abgr8888() const; ILINE unsigned int pack_argb8888() const; - inline Vec4 toVec4() const { return Vec4(r, g, b, a); } inline Vec3 toVec3() const { return Vec3(r, g, b); } - inline void toFloat4(f32* out) const; - - inline void toHSV(f32& h, f32& s, f32& v) const; - inline void fromHSV(f32 h, f32 s, f32 v); inline void clamp(T bottom = 0.0f, T top = 1.0f); - inline void maximum(const Color_tpl& ca, const Color_tpl& cb); - inline void minimum(const Color_tpl& ca, const Color_tpl& cb); - inline void abs(); - - inline void adjust_contrast(T c); - inline void adjust_saturation(T s); - inline void adjust_luminance(float newLum); - - inline void lerpFloat(const Color_tpl& ca, const Color_tpl& cb, float s); - inline void negative(const Color_tpl& c); - inline void grey(const Color_tpl& c); - - // helper function - maybe we can improve the integration - static inline uint32 ComputeAvgCol_Fast(const uint32 dwCol0, const uint32 dwCol1) - { - uint32 dwHalfCol0 = (dwCol0 / 2) & 0x7f7f7f7f; // each component /2 - uint32 dwHalfCol1 = (dwCol1 / 2) & 0x7f7f7f7f; // each component /2 - - return dwHalfCol0 + dwHalfCol1; - } - - // mCIE: adjusted to compensate problems of DXT compression (extra bit in green channel causes green/purple artifacts) - // explained in CryEngine wiki: ColorSpaces - Color_tpl RGB2mCIE() const - { - Color_tpl in = *this; - - // to get grey chrominance for dark colors - in.r += 0.000001f; - in.g += 0.000001f; - in.b += 0.000001f; - - float RGBSum = in.r + in.g + in.b; - - float fInv = 1.0f / RGBSum; - - float RNorm = 3 * 10.0f / 31.0f * in.r * fInv; - float GNorm = 3 * 21.0f / 63.0f * in.g * fInv; - float Scale = RGBSum / 3.0f; - - // test grey - // out.r = 10.0f/31.0f; // 1/3 = 10/30 Red range 0..30, 31 unused - // out.g = 21.0f/63.0f; // 1/3 = 21/63 Green range 0..63 - - RNorm = max(0.0f, min(1.0f, RNorm)); - GNorm = max(0.0f, min(1.0f, GNorm)); - - return Color_tpl(RNorm, GNorm, Scale); - } - - // mCIE: adjusted to compensate problems of DXT compression (extra bit in green channel causes green/purple artefacts) - // explained in CryEngine wiki: ColorSpaces - Color_tpl mCIE2RGB() const - { - Color_tpl out = *this; - - float fScale = out.b; // Blue range 0..31 - - // test grey - // out.r = 10.0f/31.0f; // 1/3 = 10/30 Red range 0..30, 31 unused - // out.g = 21.0f/63.0f; // 1/3 = 21/63 Green range 0..63 - - out.r *= 31.0f / 30.0f; // - out.g *= 63.0f / 63.0f; // - out.b = 0.999f - out.r - out.g; - - float s = 3.0f * fScale; - - out.r *= s; - out.g *= s; - out.b *= s; - - out.Clamp(); - - return out; - } - - void rgb2srgb() - { - for (int i = 0; i < 3; i++) - { - T& c = (*this)[i]; - - if (c < 0.0031308f) - { - c = 12.92f * c; - } - else - { - c = 1.055f * pow(c, 1.0f / 2.4f) - 0.055f; - } - } - } - void srgb2rgb() { for (int i = 0; i < 3; i++) @@ -355,8 +189,6 @@ struct Color_tpl } } - void GetMemoryUsage([[maybe_unused]] class ICrySizer* pSizer) const { /*nothing*/} - AZStd::array GetAsArray() const { AZStd::array primitiveArray = { { r, g, b, a } }; @@ -512,35 +344,10 @@ ILINE Color_tpl::Color_tpl(const Vec4& c) a = (uint8)(c.w * 255); } -template<> -inline void Color_tpl::toFloat4(f32* out) const -{ - out[0] = r / 255.0f; - out[1] = g / 255.0f; - out[2] = b / 255.0f; - out[3] = a / 255.0f; -} - -template<> -inline void Color_tpl::toFloat4(f32* out) const -{ - out[0] = r; - out[1] = g; - out[2] = b; - out[3] = a; -} - ////////////////////////////////////////////////////////////////////////////////////////////// // functions implementation /////////////////////////////////////////////// -/////////////////////////////////////////////// -/*template -inline Color_tpl::Color_tpl(const T *p_elts) -{ -r = p_elts[0]; g = p_elts[1]; b = p_elts[2]; a = p_elts[3]; -}*/ - /////////////////////////////////////////////// /////////////////////////////////////////////// template @@ -549,178 +356,6 @@ ILINE Color_tpl operator * (T s, const Color_tpl& v) return Color_tpl(v.r * s, v.g * s, v.b * s, v.a * s); } -/////////////////////////////////////////////// -template -ILINE unsigned char Color_tpl::pack_rgb332() const -{ - unsigned char cr; - unsigned char cg; - unsigned char cb; - if constexpr (sizeof(r) == 1) // char and unsigned char - { - cr = (unsigned char)r; - cg = (unsigned char)g; - cb = (unsigned char)b; - } - else if constexpr (sizeof(r) == 2) // short and unsigned short - { - cr = (unsigned short)(r) >> 8; - cg = (unsigned short)(g) >> 8; - cb = (unsigned short)(b) >> 8; - } - else // float or double - { - cr = (unsigned char)(r * 255.0f); - cg = (unsigned char)(g * 255.0f); - cb = (unsigned char)(b * 255.0f); - } - return ((cr >> 5) << 5) | ((cg >> 5) << 2) | (cb >> 5); -} - -/////////////////////////////////////////////// -template -ILINE unsigned short Color_tpl::pack_argb4444() const -{ - unsigned char cr; - unsigned char cg; - unsigned char cb; - unsigned char ca; - if constexpr (sizeof(r) == 1) // char and unsigned char - { - cr = (unsigned char)r; - cg = (unsigned char)g; - cb = (unsigned char)b; - ca = (unsigned char)a; - } - else if constexpr (sizeof(r) == 2) // short and unsigned short - { - cr = (unsigned short)(r) >> 8; - cg = (unsigned short)(g) >> 8; - cb = (unsigned short)(b) >> 8; - ca = (unsigned short)(a) >> 8; - } - else // float or double - { - cr = (unsigned char)(r * 255.0f); - cg = (unsigned char)(g * 255.0f); - cb = (unsigned char)(b * 255.0f); - ca = (unsigned char)(a * 255.0f); - } - return ((ca >> 4) << 12) | ((cr >> 4) << 8) | ((cg >> 4) << 4) | (cb >> 4); -} - -/////////////////////////////////////////////// -template -ILINE unsigned short Color_tpl::pack_rgb555() const -{ - unsigned char cr; - unsigned char cg; - unsigned char cb; - if constexpr (sizeof(r) == 1) // char and unsigned char - { - cr = (unsigned char)r; - cg = (unsigned char)g; - cb = (unsigned char)b; - } - else if constexpr (sizeof(r) == 2) // short and unsigned short - { - cr = (unsigned short)(r) >> 8; - cg = (unsigned short)(g) >> 8; - cb = (unsigned short)(b) >> 8; - } - else // float or double - { - cr = (unsigned char)(r * 255.0f); - cg = (unsigned char)(g * 255.0f); - cb = (unsigned char)(b * 255.0f); - } - return ((cr >> 3) << 10) | ((cg >> 3) << 5) | (cb >> 3); -} - -/////////////////////////////////////////////// -template -ILINE unsigned short Color_tpl::pack_rgb565() const -{ - unsigned short cr; - unsigned short cg; - unsigned short cb; - if constexpr (sizeof(r) == 1) // char and unsigned char - { - cr = (unsigned short)r; - cg = (unsigned short)g; - cb = (unsigned short)b; - } - else if constexpr (sizeof(r) == 2) // short and unsigned short - { - cr = (unsigned short)(r) >> 8; - cg = (unsigned short)(g) >> 8; - cb = (unsigned short)(b) >> 8; - } - else // float or double - { - cr = (unsigned short)(r * 255.0f); - cg = (unsigned short)(g * 255.0f); - cb = (unsigned short)(b * 255.0f); - } - return ((cr >> 3) << 11) | ((cg >> 2) << 5) | (cb >> 3); -} - -/////////////////////////////////////////////// -template -ILINE unsigned int Color_tpl::pack_bgr888() const -{ - unsigned char cr; - unsigned char cg; - unsigned char cb; - if constexpr (sizeof(r) == 1) // char and unsigned char - { - cr = (unsigned char)r; - cg = (unsigned char)g; - cb = (unsigned char)b; - } - else if constexpr (sizeof(r) == 2) // short and unsigned short - { - cr = (unsigned short)(r) >> 8; - cg = (unsigned short)(g) >> 8; - cb = (unsigned short)(b) >> 8; - } - else // float or double - { - cr = (unsigned char)(r * 255.0f); - cg = (unsigned char)(g * 255.0f); - cb = (unsigned char)(b * 255.0f); - } - return (cb << 16) | (cg << 8) | cr; -} - -/////////////////////////////////////////////// -template -ILINE unsigned int Color_tpl::pack_rgb888() const -{ - unsigned char cr; - unsigned char cg; - unsigned char cb; - if constexpr (sizeof(r) == 1) // char and unsigned char - { - cr = (unsigned char)r; - cg = (unsigned char)g; - cb = (unsigned char)b; - } - else if constexpr (sizeof(r) == 2) // short and unsigned short - { - cr = (unsigned short)(r) >> 8; - cg = (unsigned short)(g) >> 8; - cb = (unsigned short)(b) >> 8; - } - else // float or double - { - cr = (unsigned char)(r * 255.0f); - cg = (unsigned char)(g * 255.0f); - cb = (unsigned char)(b * 255.0f); - } - return (cr << 16) | (cg << 8) | cb; -} - /////////////////////////////////////////////// template ILINE unsigned int Color_tpl::pack_abgr8888() const @@ -786,211 +421,6 @@ ILINE unsigned int Color_tpl::pack_argb8888() const return (ca << 24) | (cr << 16) | (cg << 8) | cb; } -/////////////////////////////////////////////// -template -inline void Color_tpl::toHSV(f32& h, f32& s, f32& v) const -{ - f32 red, green, blue; - if constexpr (sizeof(this->r) == 1) // 8bit integer - { - red = this->r * (1.0f / f32(0xff)); - green = this->g * (1.0f / f32(0xff)); - blue = this->b * (1.0f / f32(0xff)); - } - else if constexpr (sizeof(this->r) == 2) // 16bit integer - { - red = this->r * (1.0f / f32(0xffff)); - green = this->g * (1.0f / f32(0xffff)); - blue = this->b * (1.0f / f32(0xffff)); - } - else // floating point - { - red = this->r; - green = this->g; - blue = this->b; - } - - if ((blue > green) && (blue > red)) - { - if (!::iszero(v = blue)) - { - const f32 min = red < green ? red : green; - const f32 delta = v - min; - if (!::iszero(delta)) - { - s = delta / v; - h = (240.0f / 360.0f) + (red - green) / delta * (60.0f / 360.0f); - } - else - { - s = 0.0f; - h = (240.0f / 360.0f) + (red - green) * (60.0f / 360.0f); - } - if (h < 0.0f) - { - h += 1.0f; - } - } - else - { - s = 0.0f; - h = 0.0f; - } - } - else if (green > red) - { - if (!::iszero(v = green)) - { - const f32 min = red < blue ? red : blue; - const f32 delta = v - min; - if (!::iszero(delta)) - { - s = delta / v; - h = (120.0f / 360.0f) + (blue - red) / delta * (60.0f / 360.0f); - } - else - { - s = 0.0f; - h = (120.0f / 360.0f) + (blue - red) * (60.0f / 360.0f); - } - if (h < 0.0f) - { - h += 1.0f; - } - } - else - { - s = 0.0f; - h = 0.0f; - } - } - else - { - if (!::iszero(v = red)) - { - const f32 min = green < blue ? green : blue; - const f32 delta = v - min; - if (!::iszero(delta)) - { - s = delta / v; - h = (green - blue) / delta * (60.0f / 360.0f); - } - else - { - s = 0.0f; - h = (green - blue) * (60.0f / 360.0f); - } - if (h < 0.0f) - { - h += 1.0f; - } - } - else - { - s = 0.0f; - h = 0.0f; - } - } -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::fromHSV(f32 h, f32 s, f32 v) -{ - f32 red, green, blue; - if (::iszero(v)) - { - red = 0.0f; - green = 0.0f; - blue = 0.0f; - } - else if (::iszero(s)) - { - red = v; - green = v; - blue = v; - } - else - { - const f32 hi = h * 6.0f; - const int32 i = (int32)::floor(hi); - const f32 f = hi - i; - - const f32 v0 = v * (1.0f - s); - const f32 v1 = v * (1.0f - s * f); - const f32 v2 = v * (1.0f - s * (1.0f - f)); - - switch (i) - { - case 0: - red = v; - green = v2; - blue = v0; - break; - case 1: - red = v1; - green = v; - blue = v0; - break; - case 2: - red = v0; - green = v; - blue = v2; - break; - case 3: - red = v0; - green = v1; - blue = v; - break; - case 4: - red = v2; - green = v0; - blue = v; - break; - case 5: - red = v; - green = v0; - blue = v1; - break; - - case 6: - red = v; - green = v2; - blue = v0; - break; - case -1: - red = v; - green = v0; - blue = v1; - break; - default: - red = 0.0f; - green = 0.0f; - blue = 0.0f; - break; - } - } - - if constexpr (sizeof(this->r) == 1) // 8bit integer - { - this->r = red * f32(0xff); - this->g = green * f32(0xff); - this->b = blue * f32(0xff); - } - else if constexpr (sizeof(this->r) == 2) // 16bit integer - { - this->r = red * f32(0xffff); - this->g = green * f32(0xffff); - this->b = blue * f32(0xffff); - } - else // floating point - { - this->r = red; - this->g = green; - this->b = blue; - } -} - /////////////////////////////////////////////// template inline void Color_tpl::clamp(T bottom, T top) @@ -1001,214 +431,5 @@ inline void Color_tpl::clamp(T bottom, T top) a = min(top, max(bottom, a)); } -/////////////////////////////////////////////// -template -inline void Color_tpl::maximum(const Color_tpl& ca, const Color_tpl& cb) -{ - r = max(ca.r, cb.r); - g = max(ca.g, cb.g); - b = max(ca.b, cb.b); - a = max(ca.a, cb.a); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::minimum(const Color_tpl& ca, const Color_tpl& cb) -{ - r = min(ca.r, cb.r); - g = min(ca.g, cb.g); - b = min(ca.b, cb.b); - a = min(ca.a, cb.a); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::abs() -{ - r = fabs_tpl(r); - g = fabs_tpl(g); - b = fabs_tpl(b); - a = fabs_tpl(a); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::adjust_contrast(T c) -{ - r = 0.5f + c * (r - 0.5f); - g = 0.5f + c * (g - 0.5f); - b = 0.5f + c * (b - 0.5f); - a = 0.5f + c * (a - 0.5f); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::adjust_saturation(T s) -{ - // Approximate values for each component's contribution to luminance. - // Based upon the NTSC standard described in ITU-R Recommendation BT.709. - T grey = r * 0.2125f + g * 0.7154f + b * 0.0721f; - r = grey + s * (r - grey); - g = grey + s * (g - grey); - b = grey + s * (b - grey); - a = grey + s * (a - grey); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::adjust_luminance(float newLum) -{ - // Optimized yet equivalent version of replacing luminance in XYZ space. - // Color and luminance are expected to be linear. - - Color_tpl colF(r, g, b, a); - - float lum = colF.r * 0.212671f + colF.g * 0.715160f + colF.b * 0.072169f; - if (iszero(lum)) - { - return; - } - - *this = Color_tpl(colF * newLum / lum); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::lerpFloat(const Color_tpl& ca, const Color_tpl& cb, float s) -{ - r = (T)(ca.r + s * (cb.r - ca.r)); - g = (T)(ca.g + s * (cb.g - ca.g)); - b = (T)(ca.b + s * (cb.b - ca.b)); - a = (T)(ca.a + s * (cb.a - ca.a)); -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::negative([[maybe_unused]] const Color_tpl& c) -{ - r = T(1.0f) - r; - g = T(1.0f) - g; - b = T(1.0f) - b; - a = T(1.0f) - a; -} - -/////////////////////////////////////////////// -template -inline void Color_tpl::grey([[maybe_unused]] const Color_tpl& c) -{ - T m = (r + g + b) / T(3); - - r = m; - g = m; - b = m; -} - -////////////////////////////////////////////////////////////////////////////////////////////// -//#define RGBA8(r,g,b,a) (ColorB((uint8)(r),(uint8)(g),(uint8)(b),(uint8)(a))) -#if defined(NEED_ENDIAN_SWAP) - #define RGBA8(a, b, g, r) ((uint32)(((uint8)(r) | ((uint16)((uint8)(g)) << 8)) | (((uint32)(uint8)(b)) << 16)) | (((uint32)(uint8)(a)) << 24)) -#else - #define RGBA8(r, g, b, a) ((uint32)(((uint8)(r) | ((uint16)((uint8)(g)) << 8)) | (((uint32)(uint8)(b)) << 16)) | (((uint32)(uint8)(a)) << 24)) -#endif -#define Col_Black ColorF (0.000f, 0.000f, 0.000f) // 0xFF000000 RGB: 0, 0, 0 -#define Col_White ColorF (1.000f, 1.000f, 1.000f) // 0xFFFFFFFF RGB: 255, 255, 255 -#define Col_Aquamarine ColorF (0.498f, 1.000f, 0.831f) // 0xFF7FFFD4 RGB: 127, 255, 212 -#define Col_Azure ColorF (0.000f, 0.498f, 1.000f) // 0xFF007FFF RGB: 0, 127, 255 -#define Col_Blue ColorF (0.000f, 0.000f, 1.000f) // 0xFF0000FF RGB: 0, 0, 255 -#define Col_BlueViolet ColorF (0.541f, 0.169f, 0.886f) // 0xFF8A2BE2 RGB: 138, 43, 226 -#define Col_Brown ColorF (0.647f, 0.165f, 0.165f) // 0xFFA52A2A RGB: 165, 42, 42 -#define Col_CadetBlue ColorF (0.373f, 0.620f, 0.627f) // 0xFF5F9EA0 RGB: 95, 158, 160 -#define Col_Coral ColorF (1.000f, 0.498f, 0.314f) // 0xFFFF7F50 RGB: 255, 127, 80 -#define Col_CornflowerBlue ColorF (0.392f, 0.584f, 0.929f) // 0xFF6495ED RGB: 100, 149, 237 -#define Col_Cyan ColorF (0.000f, 1.000f, 1.000f) // 0xFF00FFFF RGB: 0, 255, 255 -#define Col_DarkGray ColorF (0.663f, 0.663f, 0.663f) // 0xFFA9A9A9 RGB: 169, 169, 169 -#define Col_DarkGrey ColorF (0.663f, 0.663f, 0.663f) // 0xFFA9A9A9 RGB: 169, 169, 169 -#define Col_DarkGreen ColorF (0.000f, 0.392f, 0.000f) // 0xFF006400 RGB: 0, 100, 0 -#define Col_DarkOliveGreen ColorF (0.333f, 0.420f, 0.184f) // 0xFF556B2F RGB: 85, 107, 47 -#define Col_DarkOrchid ColorF (0.600f, 0.196f, 0.800f) // 0xFF9932CC RGB: 153, 50, 204 -#define Col_DarkSlateBlue ColorF (0.282f, 0.239f, 0.545f) // 0xFF483D8B RGB: 72, 61, 139 -#define Col_DarkSlateGray ColorF (0.184f, 0.310f, 0.310f) // 0xFF2F4F4F RGB: 47, 79, 79 -#define Col_DarkSlateGrey ColorF (0.184f, 0.310f, 0.310f) // 0xFF2F4F4F RGB: 47, 79, 79 -#define Col_DarkTurquoise ColorF (0.000f, 0.808f, 0.820f) // 0xFF00CED1 RGB: 0, 206, 209 -#define Col_DarkWood ColorF (0.050f, 0.010f, 0.005f) // 0xFF0D0301 RGB: 13, 3, 1 -#define Col_DeepPink ColorF (1.000f, 0.078f, 0.576f) // 0xFFFF1493 RGB: 255, 20, 147 -#define Col_DimGray ColorF (0.412f, 0.412f, 0.412f) // 0xFF696969 RGB: 105, 105, 105 -#define Col_DimGrey ColorF (0.412f, 0.412f, 0.412f) // 0xFF696969 RGB: 105, 105, 105 -#define Col_FireBrick ColorF (0.698f, 0.133f, 0.133f) // 0xFFB22222 RGB: 178, 34, 34 -#define Col_ForestGreen ColorF (0.133f, 0.545f, 0.133f) // 0xFF228B22 RGB: 34, 139, 34 -#define Col_Gold ColorF (1.000f, 0.843f, 0.000f) // 0xFFFFD700 RGB: 255, 215, 0 -#define Col_Goldenrod ColorF (0.855f, 0.647f, 0.125f) // 0xFFDAA520 RGB: 218, 165, 32 -#define Col_Gray ColorF (0.502f, 0.502f, 0.502f) // 0xFF808080 RGB: 128, 128, 128 -#define Col_Grey ColorF (0.502f, 0.502f, 0.502f) // 0xFF808080 RGB: 128, 128, 128 -#define Col_Green ColorF (0.000f, 0.502f, 0.000f) // 0xFF008000 RGB: 0, 128, 0 -#define Col_GreenYellow ColorF (0.678f, 1.000f, 0.184f) // 0xFFADFF2F RGB: 173, 255, 47 -#define Col_IndianRed ColorF (0.804f, 0.361f, 0.361f) // 0xFFCD5C5C RGB: 205, 92, 92 -#define Col_Khaki ColorF (0.941f, 0.902f, 0.549f) // 0xFFF0E68C RGB: 240, 230, 140 -#define Col_LightBlue ColorF (0.678f, 0.847f, 0.902f) // 0xFFADD8E6 RGB: 173, 216, 230 -#define Col_LightGray ColorF (0.827f, 0.827f, 0.827f) // 0xFFD3D3D3 RGB: 211, 211, 211 -#define Col_LightGrey ColorF (0.827f, 0.827f, 0.827f) // 0xFFD3D3D3 RGB: 211, 211, 211 -#define Col_LightSteelBlue ColorF (0.690f, 0.769f, 0.871f) // 0xFFB0C4DE RGB: 176, 196, 222 -#define Col_LightWood ColorF (0.600f, 0.240f, 0.100f) // 0xFF993D1A RGB: 153, 61, 26 -#define Col_Lime ColorF (0.000f, 1.000f, 0.000f) // 0xFF00FF00 RGB: 0, 255, 0 -#define Col_LimeGreen ColorF (0.196f, 0.804f, 0.196f) // 0xFF32CD32 RGB: 50, 205, 50 -#define Col_Magenta ColorF (1.000f, 0.000f, 1.000f) // 0xFFFF00FF RGB: 255, 0, 255 -#define Col_Maroon ColorF (0.502f, 0.000f, 0.000f) // 0xFF800000 RGB: 128, 0, 0 -#define Col_MedianWood ColorF (0.300f, 0.120f, 0.030f) // 0xFF4D1F09 RGB: 77, 31, 9 -#define Col_MediumAquamarine ColorF (0.400f, 0.804f, 0.667f) // 0xFF66CDAA RGB: 102, 205, 170 -#define Col_MediumBlue ColorF (0.000f, 0.000f, 0.804f) // 0xFF0000CD RGB: 0, 0, 205 -#define Col_MediumForestGreen ColorF (0.420f, 0.557f, 0.137f) // 0xFF6B8E23 RGB: 107, 142, 35 -#define Col_MediumGoldenrod ColorF (0.918f, 0.918f, 0.678f) // 0xFFEAEAAD RGB: 234, 234, 173 -#define Col_MediumOrchid ColorF (0.729f, 0.333f, 0.827f) // 0xFFBA55D3 RGB: 186, 85, 211 -#define Col_MediumSeaGreen ColorF (0.235f, 0.702f, 0.443f) // 0xFF3CB371 RGB: 60, 179, 113 -#define Col_MediumSlateBlue ColorF (0.482f, 0.408f, 0.933f) // 0xFF7B68EE RGB: 123, 104, 238 -#define Col_MediumSpringGreen ColorF (0.000f, 0.980f, 0.604f) // 0xFF00FA9A RGB: 0, 250, 154 -#define Col_MediumTurquoise ColorF (0.282f, 0.820f, 0.800f) // 0xFF48D1CC RGB: 72, 209, 204 -#define Col_MediumVioletRed ColorF (0.780f, 0.082f, 0.522f) // 0xFFC71585 RGB: 199, 21, 133 -#define Col_MidnightBlue ColorF (0.098f, 0.098f, 0.439f) // 0xFF191970 RGB: 25, 25, 112 -#define Col_Navy ColorF (0.000f, 0.000f, 0.502f) // 0xFF000080 RGB: 0, 0, 128 -#define Col_NavyBlue ColorF (0.137f, 0.137f, 0.557f) // 0xFF23238E RGB: 35, 35, 142 -#define Col_Orange ColorF (1.000f, 0.647f, 0.000f) // 0xFFFFA500 RGB: 255, 165, 0 -#define Col_OrangeRed ColorF (1.000f, 0.271f, 0.000f) // 0xFFFF4500 RGB: 255, 69, 0 -#define Col_Orchid ColorF (0.855f, 0.439f, 0.839f) // 0xFFDA70D6 RGB: 218, 112, 214 -#define Col_PaleGreen ColorF (0.596f, 0.984f, 0.596f) // 0xFF98FB98 RGB: 152, 251, 152 -#define Col_Pink ColorF (1.000f, 0.753f, 0.796f) // 0xFFFFC0CB RGB: 255, 192, 203 -#define Col_Plum ColorF (0.867f, 0.627f, 0.867f) // 0xFFDDA0DD RGB: 221, 160, 221 -#define Col_Red ColorF (1.000f, 0.000f, 0.000f) // 0xFFFF0000 RGB: 255, 0, 0 -#define Col_Salmon ColorF (0.980f, 0.502f, 0.447f) // 0xFFFA8072 RGB: 250, 128, 114 -#define Col_SeaGreen ColorF (0.180f, 0.545f, 0.341f) // 0xFF2E8B57 RGB: 46, 139, 87 -#define Col_Sienna ColorF (0.627f, 0.322f, 0.176f) // 0xFFA0522D RGB: 160, 82, 45 -#define Col_SkyBlue ColorF (0.529f, 0.808f, 0.922f) // 0xFF87CEEB RGB: 135, 206, 235 -#define Col_SlateBlue ColorF (0.416f, 0.353f, 0.804f) // 0xFF6A5ACD RGB: 106, 90, 205 -#define Col_SpringGreen ColorF (0.000f, 1.000f, 0.498f) // 0xFF00FF7F RGB: 0, 255, 127 -#define Col_SteelBlue ColorF (0.275f, 0.510f, 0.706f) // 0xFF4682B4 RGB: 70, 130, 180 -#define Col_Tan ColorF (0.824f, 0.706f, 0.549f) // 0xFFD2B48C RGB: 210, 180, 140 -#define Col_Thistle ColorF (0.847f, 0.749f, 0.847f) // 0xFFD8BFD8 RGB: 216, 191, 216 -#define Col_Transparent ColorF (0.0f, 0.0f, 0.0f, 0.0f) // 0x00000000 RGB: 0, 0, 0 -#define Col_Turquoise ColorF (0.251f, 0.878f, 0.816f) // 0xFF40E0D0 RGB: 64, 224, 208 -#define Col_Violet ColorF (0.933f, 0.510f, 0.933f) // 0xFFEE82EE RGB: 238, 130, 238 -#define Col_VioletRed ColorF (0.800f, 0.196f, 0.600f) // 0xFFCC3299 RGB: 204, 50, 153 -#define Col_Wheat ColorF (0.961f, 0.871f, 0.702f) // 0xFFF5DEB3 RGB: 245, 222, 179 -#define Col_Yellow ColorF (1.000f, 1.000f, 0.000f) // 0xFFFFFF00 RGB: 255, 255, 0 -#define Col_YellowGreen ColorF (0.604f, 0.804f, 0.196f) // 0xFF9ACD32 RGB: 154, 205, 50 #define Col_TrackviewDefault ColorF (0.187820792f, 0.187820792f, 1.0f) - #define Clr_Empty ColorF(0.0f, 0.0f, 0.0f, 1.0f) -#define Clr_Dark ColorF(0.15f, 0.15f, 0.15f, 1.0f) -#define Clr_White ColorF(1.0f, 1.0f, 1.0f, 1.0f) -#define Clr_WhiteTrans ColorF(1.0f, 1.0f, 1.0f, 0.0f) -#define Clr_Full ColorF(1.0f, 1.0f, 1.0f, 1.0f) -#define Clr_Neutral ColorF(1.0f, 1.0f, 1.0f, 1.0f) -#define Clr_Transparent ColorF(0.0f, 0.0f, 0.0f, 0.0f) -#define Clr_FrontVector ColorF(0.0f, 0.0f, 0.5f, 1.0f) -#define Clr_Static ColorF(127.0f / 255.0f, 127.0f / 255.0f, 0.0f, 0.0f) -#define Clr_Median ColorF(0.5f, 0.5f, 0.5f, 0.0f) -#define Clr_MedianHalf ColorF(0.5f, 0.5f, 0.5f, 0.5f) -#define Clr_FarPlane ColorF(1.0f, 0.0f, 0.0f, 0.0f) -#define Clr_FarPlane_R ColorF(bReverseDepth ? 0.0f : 1.0f, 0.0f, 0.0f, 0.0f) -#define Clr_Unknown ColorF(0.0f, 0.0f, 0.0f, 0.0f) -#define Clr_Unused ColorF(0.0f, 0.0f, 0.0f, 0.0f) -#define Clr_Debug ColorF(1.0f, 0.0f, 0.0f, 1.0f) - -#endif // CRYINCLUDE_CRYCOMMON_CRY_COLOR_H - - diff --git a/Code/Legacy/CryCommon/Cry_Geo.h b/Code/Legacy/CryCommon/Cry_Geo.h index 95213c62dc..7c85b2bdf4 100644 --- a/Code/Legacy/CryCommon/Cry_Geo.h +++ b/Code/Legacy/CryCommon/Cry_Geo.h @@ -8,10 +8,6 @@ // Description : Common structures for geometry computations - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_GEO_H -#define CRYINCLUDE_CRYCOMMON_CRY_GEO_H #pragma once #include "Cry_Math.h" @@ -29,11 +25,6 @@ struct AABB; template struct OBB_tpl; -struct Sphere; -struct AAEllipsoid; -struct Ellipsoid; -struct Cone; - //----------------------------------------------------- @@ -41,127 +32,12 @@ struct Cone; // Definitions // /////////////////////////////////////////////////////////////////////////////// -// -// Random geometry generation functions. -// - -enum EGeomForm -{ - GeomForm_Vertices, - GeomForm_Edges, - GeomForm_Surface, - GeomForm_Volume, - - MaxGeomForm -}; - -enum EGeomType -{ - GeomType_None, - GeomType_BoundingBox, - GeomType_Physics, - GeomType_Render, -}; - struct PosNorm { Vec3 vPos; Vec3 vNorm; - - void zero() - { - vPos.zero(); - vNorm.zero(); - } - - // transform by matrix, etc - void operator <<= (Matrix34 const& mx) - { - vPos = mx * vPos; - vNorm = Matrix33(mx) * vNorm; - } - void operator <<= (QuatTS const& qts) - { - vPos = qts * vPos; - vNorm = qts.q * vNorm; - } - void operator <<= (DualQuat const& dq) - { - vPos = dq * vPos; - vNorm = dq.nq * vNorm; - } }; -struct RectF -{ - float x, y, w, h; - RectF() - : x(0) - , y(0) - , w(1) - , h(1) - { - } -}; - -struct RectI -{ - int x, y, w, h; - RectI() - : x(0) - , y(0) - , w(1) - , h(1) - { - } - RectI(int inX, int inY, int inW, int inH) - : x(inX) - , y(inY) - , w(inW) - , h(inH) - { - } - _inline void Add(RectI rcAdd) - { - int x2 = x + w; - int y2 = y + h; - int x22 = rcAdd.x + rcAdd.w; - int y22 = rcAdd.y + rcAdd.h; - x = min(x, rcAdd.x); - y = min(y, rcAdd.y); - x2 = max(x2, x22); - y2 = max(y2, y22); - w = x2 - x; - h = y2 - y; - } - _inline void Add(int inX, int inY, int inW, int inH) - { - Add(RectI(inX, inY, inW, inH)); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// struct Line -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -struct Line -{ - Vec3 pointonline; - Vec3 direction; //caution: the direction is important for any intersection test - - //default Line constructor (without initialisation) - inline Line(void) {} - inline Line(const Vec3& o, const Vec3& d) { pointonline = o; direction = d; } - inline void operator () (const Vec3& o, const Vec3& d) { pointonline = o; direction = d; } - - ~Line(void) {}; -}; - - - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// @@ -190,26 +66,18 @@ struct Ray /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -template -struct Lineseg_tpl +struct Lineseg { - Vec3_tpl start; - Vec3_tpl end; + Vec3_tpl start; + Vec3_tpl end; //default Lineseg constructor (without initialisation) - inline Lineseg_tpl(void) {} - inline Lineseg_tpl(const Vec3_tpl& s, const Vec3_tpl& e) { start = s; end = e; } - inline void operator () (const Vec3_tpl& s, const Vec3_tpl& e) { start = s; end = e; } + inline Lineseg(void) {} + inline Lineseg(const Vec3_tpl& s, const Vec3_tpl& e) { start = s; end = e; } - Vec3 GetPoint(F t) const {return t * end + (F(1.0) - t) * start; } - - ~Lineseg_tpl(void) {}; + ~Lineseg(void) {}; }; -typedef Lineseg_tpl Lineseg; -typedef Lineseg_tpl Linesegr; - - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// @@ -240,33 +108,6 @@ struct Triangle_tpl } }; - - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// struct Cone -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -struct Cone -{ - Vec3 mTip; - Vec3 mDir; - Vec3 mBase; - - float mHeight; - float mBaseRadius; - - Cone() {} - Cone(const Vec3& tip, const Vec3& dir, float height, float baseRadius) - : mTip(tip) - , mDir(dir) - , mBase(tip + dir * height) - , mHeight(height) - , mBaseRadius(baseRadius) {} -}; - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// @@ -343,12 +184,6 @@ struct AABB ILINE float GetRadius() const { return IsResetSel(0.0f, (max - min).GetLengthFloat() * 0.5f); } - ILINE float GetRadiusSqr() const - { return IsResetSel(0.0f, ((max - min) * 0.5f).GetLengthSquaredFloat()); } - - ILINE float GetVolume() const - { return IsResetSel(0.0f, (max.x - min.x) * (max.y - min.y) * (max.z - min.z)); } - ILINE void Add(const Vec3& v) { min.CheckMin(v); @@ -368,133 +203,6 @@ struct AABB max.CheckMax(bb.max); } - inline void Move(const Vec3& v) - { - const float moveMult = IsResetSel(0.0f, 1.0f); - const Vec3 vMove = v * moveMult; - min += vMove; - max += vMove; - } - - inline void Expand(Vec3 const& v) - { - if (!IsReset()) - { - min -= v; - max += v; - } - } - - // Augment the box on all sides by a box. - inline void Augment(AABB const& bb) - { - if (!IsReset() && !bb.IsReset()) - { - Add(min + bb.min); - Add(max + bb.max); - } - } - - void ClipToBox(AABB const& bb) - { - min.CheckMax(bb.min); - max.CheckMin(bb.max); - } - - void ClipMoveToBox(AABB const& bb) - { - for (int a = 0; a < 3; a++) - { - if (max[a] - min[a] > bb.max[a] - bb.min[a]) - { - min[a] = bb.min[a]; - max[a] = bb.max[a]; - } - else if (min[a] < bb.min[a]) - { - max[a] += bb.min[a] - min[a]; - min[a] = bb.min[a]; - } - else if (max[a] > bb.max[a]) - { - min[a] += bb.max[a] - max[a]; - max[a] = bb.max[a]; - } - } - } - - //! Check if this bounding box overlap with bounding box of sphere. - bool IsOverlapSphereBounds(const Vec3& pos, float radius) const - { - assert(min.IsValid()); - assert(max.IsValid()); - assert(pos.IsValid()); - - if (pos.x > min.x && pos.x < max.x && pos.y > min.y && pos.y < max.y && pos.z > min.z && pos.z < max.z) - { - return true; - } - - if (pos.x + radius < min.x) - { - return false; - } - if (pos.y + radius < min.y) - { - return false; - } - if (pos.z + radius < min.z) - { - return false; - } - if (pos.x - radius > max.x) - { - return false; - } - if (pos.y - radius > max.y) - { - return false; - } - if (pos.z - radius > max.z) - { - return false; - } - return true; - } - - //! Check if this bounding box contain sphere within itself. - bool IsContainSphere(const Vec3& pos, float radius) const - { - assert(min.IsValid()); - assert(max.IsValid()); - assert(pos.IsValid()); - if (pos.x - radius < min.x) - { - return false; - } - if (pos.y - radius < min.y) - { - return false; - } - if (pos.z - radius < min.z) - { - return false; - } - if (pos.x + radius > max.x) - { - return false; - } - if (pos.y + radius > max.y) - { - return false; - } - if (pos.z + radius > max.z) - { - return false; - } - return true; - } - //! Check if this bounding box contains a point within itself. bool IsContainPoint(const Vec3& pos) const { @@ -541,27 +249,6 @@ struct AABB return sqrt(GetDistanceSqr(v)); } - bool ContainsBox(AABB const& b) const - { - assert(min.IsValid()); - assert(max.IsValid()); - assert(b.min.IsValid()); - assert(b.max.IsValid()); - return min.x <= b.min.x && min.y <= b.min.y && min.z <= b.min.z - && max.x >= b.max.x && max.y >= b.max.y && max.z >= b.max.z; - } - - bool ContainsBox2D(AABB const& b) const - { - assert(min.IsValid()); - assert(max.IsValid()); - assert(b.min.IsValid()); - assert(b.max.IsValid()); - return min.x <= b.min.x && min.y <= b.min.y - && max.x >= b.max.x && max.y >= b.max.y; - } - - // Check two bounding boxes for intersection. inline bool IsIntersectBox(const AABB& b) const { @@ -622,86 +309,6 @@ struct AABB max = pos + sz; } } - ILINE static AABB CreateTransformedAABB(const Matrix34& m34, const AABB& aabb) - { AABB taabb; taabb.SetTransformedAABB(m34, aabb); return taabb; } - - - - ILINE void SetTransformedAABB(const QuatT& qt, const AABB& aabb) - { - if (aabb.IsReset()) - { - Reset(); - } - else - { - Matrix33 m33 = Matrix33(qt.q); - m33.m00 = fabs_tpl(m33.m00); - m33.m01 = fabs_tpl(m33.m01); - m33.m02 = fabs_tpl(m33.m02); - m33.m10 = fabs_tpl(m33.m10); - m33.m11 = fabs_tpl(m33.m11); - m33.m12 = fabs_tpl(m33.m12); - m33.m20 = fabs_tpl(m33.m20); - m33.m21 = fabs_tpl(m33.m21); - m33.m22 = fabs_tpl(m33.m22); - Vec3 sz = m33 * ((aabb.max - aabb.min) * 0.5f); - Vec3 pos = qt * ((aabb.max + aabb.min) * 0.5f); - min = pos - sz; - max = pos + sz; - } - } - ILINE static AABB CreateTransformedAABB(const QuatT& qt, const AABB& aabb) - { AABB taabb; taabb.SetTransformedAABB(qt, aabb); return taabb; } - - - //create an AABB using just the extensions of the OBB and ignore the orientation. - template - ILINE void SetAABBfromOBB(const OBB_tpl& obb) - { min = obb.c - obb.h; max = obb.c + obb.h; } - template - ILINE static AABB CreateAABBfromOBB(const OBB_tpl& obb) - { return AABB(obb.c - obb.h, obb.c + obb.h); } - - /*! - * converts an OBB into an tight fitting AABB - * - * Example: - * AABB aabb = AABB::CreateAABBfromOBB(wposition,obb,1.0f); - * - * return values: - * expanded AABB in world-space - */ - template - ILINE void SetAABBfromOBB(const Vec3& wpos, const OBB_tpl& obb, f32 scaling = 1.0f) - { - Vec3 pos = obb.m33 * obb.c * scaling + wpos; - Vec3 sz = obb.m33.GetFabs() * obb.h * scaling; - min = pos - sz; - max = pos + sz; - } - template - ILINE static AABB CreateAABBfromOBB(const Vec3& wpos, const OBB_tpl& obb, f32 scaling = 1.0f) - { AABB taabb; taabb.SetAABBfromOBB(wpos, obb, scaling); return taabb; } - - /* Converts a Cone into a tight fitting AABB */ - ILINE static AABB CreateAABBfromCone(const Cone& c) - { - // Construct AABB for cone base - Vec3 baseX = Vec3(1.f - c.mDir.x * c.mDir.x, c.mDir.x * c.mDir.y, c.mDir.x * c.mDir.z).GetNormalized() * c.mBaseRadius; - Vec3 baseY = Vec3(c.mDir.y * c.mDir.x, 1.f - c.mDir.y * c.mDir.y, c.mDir.y * c.mDir.z).GetNormalized() * c.mBaseRadius; - Vec3 baseZ = Vec3(c.mDir.z * c.mDir.x, c.mDir.z * c.mDir.y, 1.f - c.mDir.z * c.mDir.z).GetNormalized() * c.mBaseRadius; - - Vec3 aabbMax = Vec3(baseX.x, baseY.y, baseZ.z).abs(); - Vec3 aabbMin = -aabbMax; - - AABB result(aabbMin, aabbMax); - result.Move(c.mBase); - - // add tip - result.Add(c.mTip); - return result; - } }; ILINE bool IsEquivalent(const AABB& a, const AABB& b, float epsilon = VEC_EPSILON) @@ -710,9 +317,6 @@ ILINE bool IsEquivalent(const AABB& a, const AABB& b, float epsilon = VEC_EPSILO } - - - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// @@ -752,6 +356,7 @@ struct OBB_tpl ~OBB_tpl(void) {}; }; +typedef OBB_tpl OBB; @@ -774,392 +379,4 @@ struct Sphere void operator()(const Vec3& c, float r) { center = c; radius = r; } }; -struct HWVSphere -{ - hwvec3 center; - simdf radius; - - ILINE HWVSphere(const hwvec3& c, const simdf& r) - { - center = c; - radius = r; - } - - ILINE HWVSphere(const ::Sphere& sp) - { - center = HWVLoadVecUnaligned(&sp.center); - radius = SIMDFLoadFloat(sp.radius); - } -}; - - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// struct AAEllipsoid -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -struct AAEllipsoid -{ - Vec3 center; - Vec3 radius_vec; - - //default AAEllipsoid constructor (without initialisation) - inline AAEllipsoid(void) {} - inline AAEllipsoid(const Vec3& c, const Vec3& rv) { radius_vec = rv; center = c; } - inline void operator () (const Vec3& c, const Vec3& rv) { radius_vec = rv; center = c; } - - ~AAEllipsoid(void) {}; -}; - - - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// struct Ellipsoid -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -struct Ellipsoid -{ - Matrix34 ExtensionPos; - - //default Ellipsoid constructor (without initialisation) - inline Ellipsoid(void) {} - inline Ellipsoid(const Matrix34& ep) { ExtensionPos = ep; } - inline void operator () (const Matrix34& ep) { ExtensionPos = ep; } - - ~Ellipsoid(void) {}; -}; - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// struct TRect -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -template -struct TRect_tpl -{ - typedef Vec2_tpl Vec; - - Vec Min, Max; - - inline TRect_tpl() {} - inline TRect_tpl(Num x1, Num y1, Num x2, Num y2) - : Min(x1, y1) - , Max(x2, y2) {} - inline TRect_tpl(const TRect_tpl& rc) - : Min(rc.Min) - , Max(rc.Max) {} - inline TRect_tpl(const Vec& min, const Vec& max) - : Min(min) - , Max(max) {} - - inline TRect_tpl operator * (Num k) const - { - return TRect_tpl(Min.x * k, Min.y * k, Max.x * k, Max.y * k); - } - inline TRect_tpl operator / (Num k) const - { - return TRect_tpl(Min.x / k, Min.y / k, Max.x / k, Max.y / k); - } - - inline bool IsEmpty() const { return Max.x < Min.x && Max.y < Min.y; } - inline TRect_tpl& SetEmpty() { Max = Vec(-1, -1); Min = Vec(0, 0); return *this; } - - inline Vec GetDim() const { return Max - Min; } - inline Num GetWidth() const { return Max.x - Min.x; } - inline Num GetHeight() const { return Max.y - Min.y; } - - inline bool IsEqual(const TRect_tpl& rc) const { return Min.x == rc.Min.x && Min.y == rc.Min.y && Max.x == rc.Max.x && Max.y == rc.Max.y; } - - inline bool InRect(const TRect_tpl& rc) const { return rc.Min.x >= Min.x && rc.Max.x <= Max.x && rc.Min.y >= Min.y && rc.Max.y <= Max.y; } - inline bool InRect(Vec pt) const { return pt.x >= Min.x && pt.x <= Max.x && pt.y >= Min.y && pt.y <= Max.y; } - inline Vec& IntoRect(Vec& pt) const - { - if (pt.x < Min.x) - { - pt.x = Min.x; - } - else if (pt.x > Max.x) - { - pt.x = Max.x; - } - if (pt.y < Min.y) - { - pt.y = Min.y; - } - else if (pt.y > Max.y) - { - pt.y = Max.y; - } - return pt; - } - - inline bool Intersects(const TRect_tpl& rc) const - { - return !IsEmpty() && !rc.IsEmpty() && - !(Min.x > rc.Max.x || Max.x < rc.Min.x || - Min.y > rc.Max.y || Max.y < rc.Min.y); - } - - inline TRect_tpl& DoUnite(const TRect_tpl& rc) - { - if (IsEmpty()) - { - Min = rc.Min; - Max = rc.Max; - return *this; - } - if (rc.IsEmpty()) - { - return *this; - } - if (Min.x > rc.Min.x) - { - Min.x = rc.Min.x; - } - if (Min.y > rc.Min.y) - { - Min.y = rc.Min.y; - } - if (Max.x < rc.Max.x) - { - Max.x = rc.Max.x; - } - if (Max.y < rc.Max.y) - { - Max.y = rc.Max.y; - } - return *this; - } - - inline TRect_tpl& DoIntersect(const TRect_tpl& rc) - { - if (IsEmpty()) - { - return *this; - } - if (rc.IsEmpty()) - { - return SetEmpty(); - } - if (Min.x < rc.Min.x) - { - Min.x = rc.Min.x; - } - if (Min.y < rc.Min.y) - { - Min.y = rc.Min.y; - } - if (Max.x > rc.Max.x) - { - Max.x = rc.Max.x; - } - if (Max.y > rc.Max.y) - { - Max.y = rc.Max.y; - } - - if (Min.x == Max.x || Min.y == Max.y) - { - return SetEmpty(); - } - - return *this; - } - - inline TRect_tpl GetSubRect(const TRect_tpl& rc) const - { - if (IsEmpty()) - { - return *this; - } - if (rc.IsEmpty()) - { - return rc; - } - return TRect_tpl(Min.x + rc.Min.x * GetWidth(), - Min.y + rc.Min.y * GetHeight(), - Min.x + rc.Max.x * GetWidth(), - Min.y + rc.Max.y * GetHeight()); - } - - inline TRect_tpl GetSubRectInv(const TRect_tpl& rcSub) const - { - if (IsEmpty()) - { - return *this; - } - if (rcSub.IsEmpty()) - { - return rcSub; - } - return TRect_tpl((rcSub.Min.x - Min.x) / GetWidth(), - (rcSub.Min.y - Min.y) / GetHeight(), - (rcSub.Max.x - Min.x) / GetWidth(), - (rcSub.Max.y - Min.y) / GetHeight()); - } -}; - -typedef TRect_tpl Rectf; -typedef TRect_tpl Recti; - typedef Triangle_tpl Triangle; -typedef Triangle_tpl Triangle_f64; -typedef OBB_tpl OBB; - -////////////////////////////////////////////////////////////////////////// -// Manage linear and rotational 3D velocity in a class -class Velocity3 -{ -public: - Vec3 vLin, vRot; - - Velocity3() - {} - Velocity3(type_zero) - : vLin(ZERO) - , vRot(ZERO) {} - Velocity3(Vec3 const& lin) - : vLin(lin) - , vRot(ZERO) {} - Velocity3(Vec3 const& lin, Vec3 const& rot) - : vLin(lin) - , vRot(rot) {} - - void FromDelta(QuatT const& loc0, QuatT const& loc1, float fTime) - { - float fInvT = 1.f / fTime; - vLin = (loc1.t - loc0.t) * fInvT; - vRot = Quat::log(loc1.q * loc0.q.GetInverted()) * fInvT; - } - - Vec3 VelocityAt(Vec3 const& vPosRel) const - { return vLin + (vRot % vPosRel); } - - void operator += (Velocity3 const& vv) - { - vLin += vv.vLin; - vRot += vv.vRot; - } - void operator *= (float f) - { - vLin *= f; - vRot *= f; - } - void Interp(Velocity3 const& vv, float f) - { - vLin += (vv.vLin - vLin) * f; - vRot += (vv.vRot - vRot) * f; - } -}; - -///////////////////////////////////////////////////////////////////////// -//this is some special engine stuff, should be moved to a better location -///////////////////////////////////////////////////////////////////////// - -// for bbox's checks and calculations -#define MAX_BB +99999.0f -#define MIN_BB -99999.0f - -//! checks if this has been set to minBB -inline bool IsMinBB(const Vec3& v) -{ - if (v.x <= MIN_BB) - { - return (true); - } - if (v.y <= MIN_BB) - { - return (true); - } - if (v.z <= MIN_BB) - { - return (true); - } - return (false); -} - -//! checks if this has been set to maxBB -inline bool IsMaxBB(const Vec3& v) -{ - if (v.x >= MAX_BB) - { - return (true); - } - if (v.y >= MAX_BB) - { - return (true); - } - if (v.z >= MAX_BB) - { - return (true); - } - return (false); -} - -inline Vec3 SetMaxBB(void) { return Vec3(MAX_BB, MAX_BB, MAX_BB); } -inline Vec3 SetMinBB(void) { return Vec3(MIN_BB, MIN_BB, MIN_BB); } - -inline void AddToBounds (const Vec3& v, Vec3& mins, Vec3& maxs) -{ - if (v.x < mins.x) - { - mins.x = v.x; - } - if (v.x > maxs.x) - { - maxs.x = v.x; - } - if (v.y < mins.y) - { - mins.y = v.y; - } - if (v.y > maxs.y) - { - maxs.y = v.y; - } - if (v.z < mins.z) - { - mins.z = v.z; - } - if (v.z > maxs.z) - { - maxs.z = v.z; - } -} - - -//////////////////////////////////////////////////////////////// -//! calc the area of a polygon giving a list of vertices and normal -inline float CalcArea(const Vec3* vertices, int numvertices, const Vec3& normal) -{ - Vec3 csum(0, 0, 0); - - int n = numvertices; - for (int i = 0, j = 1; i <= n - 2; i++, j++) - { - csum.x += vertices[i].y * vertices[j].z - vertices[i].z * vertices[j].y; - csum.y += vertices[i].z * vertices[j].x - vertices[i].x * vertices[j].z; - csum.z += vertices[i].x * vertices[j].y - vertices[i].y * vertices[j].x; - } - - csum.x += vertices[n - 1].y * vertices[0].z - vertices[n - 1].z * vertices[0].y; - csum.y += vertices[n - 1].z * vertices[0].x - vertices[n - 1].x * vertices[0].z; - csum.z += vertices[n - 1].x * vertices[0].y - vertices[n - 1].y * vertices[0].x; - - float area = 0.5f * (float)fabs(normal | csum); - return (area); -} - - - -#endif // CRYINCLUDE_CRYCOMMON_CRY_GEO_H diff --git a/Code/Legacy/CryCommon/Cry_HWMatrix.h b/Code/Legacy/CryCommon/Cry_HWMatrix.h deleted file mode 100644 index 853dbcc2c2..0000000000 --- a/Code/Legacy/CryCommon/Cry_HWMatrix.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Scalar implementation of hardware vector based matrix - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_HWMATRIX_H -#define CRYINCLUDE_CRYCOMMON_CRY_HWMATRIX_H -#pragma once - -struct hwmtx33 -{ - hwvec3 m0, m1, m2; -}; - -ILINE void HWMtx33LoadAligned(hwmtx33& out, const Matrix34A& inMtx) -{ - out.m0 = HWVLoadVecAligned(reinterpret_cast(&inMtx.m00)); - out.m1 = HWVLoadVecAligned(reinterpret_cast(&inMtx.m10)); - out.m2 = HWVLoadVecAligned(reinterpret_cast(&inMtx.m20)); -} - -ILINE hwvec3 HWMtx33RotateVec(const hwmtx33& m, const hwvec3& v) -{ - return Vec3((m.m0[0] * v.x) + (m.m0[1] * v.y) + (m.m0[2] * v.z), - (m.m1[0] * v.x) + (m.m1[1] * v.y) + (m.m1[2] * v.z), - (m.m2[0] * v.x) + (m.m2[1] * v.y) + (m.m2[2] * v.z)); -} - -ILINE hwvec3 HWMtx33RotateVecOpt(const hwmtx33& m, const hwvec3& v) -{ - return HWMtx33RotateVec(m, v); -} - -ILINE hwmtx33 HWMtx33CreateRotationV0V1(const hwvec3& v0, const hwvec3& v1) -{ - assert((fabs_tpl(1 - (v0 | v0))) < 0.01); //check if unit-vector - assert((fabs_tpl(1 - (v1 | v1))) < 0.01); //check if unit-vector - hwmtx33 m; - float dot = v0 | v1; - if (dot < -0.9999f) - { - Vec3 axis = v0.GetOrthogonal().GetNormalized(); - m.m0[0] = (2.0f * axis.x * axis.x - 1); - m.m0[1] = (2.0f * axis.x * axis.y); - m.m0[2] = (2.0f * axis.x * axis.z); - m.m1[0] = (2.0f * axis.y * axis.x); - m.m1[1] = (2.0f * axis.y * axis.y - 1); - m.m1[2] = (2.0f * axis.y * axis.z); - m.m2[0] = (2.0f * axis.z * axis.x); - m.m2[1] = (2.0f * axis.z * axis.y); - m.m2[2] = (2.0f * axis.z * axis.z - 1); - } - else - { - Vec3 v = v0 % v1; - f32 h = 1.0f / (1.0f + dot); - m.m0[0] = (dot + h * v.x * v.x); - m.m0[1] = (h * v.x * v.y - v.z); - m.m0[2] = (h * v.x * v.z + v.y); - m.m1[0] = (h * v.x * v.y + v.z); - m.m1[1] = (dot + h * v.y * v.y); - m.m1[2] = (h * v.y * v.z - v.x); - m.m2[0] = (h * v.x * v.z - v.y); - m.m2[1] = (h * v.y * v.z + v.x); - m.m2[2] = (dot + h * v.z * v.z); - } - - return m; -} - -//Returns a matrix optimized for this platform's matrix ops, in this case, not doing a thing; -ILINE hwmtx33 HWMtx33GetOptimized(const hwmtx33& m) -{ - return (hwmtx33)m; -} - -#endif // CRYINCLUDE_CRYCOMMON_CRY_HWMATRIX_H - diff --git a/Code/Legacy/CryCommon/Cry_HWVector3.h b/Code/Legacy/CryCommon/Cry_HWVector3.h deleted file mode 100644 index cf2beb9a01..0000000000 --- a/Code/Legacy/CryCommon/Cry_HWVector3.h +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description: Hardware vector class - scalar implementation - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_HWVECTOR3_H -#define CRYINCLUDE_CRYCOMMON_CRY_HWVECTOR3_H -#pragma once - - -#define HWV_PERMUTE_0X 0 -#define HWV_PERMUTE_0Y 1 -#define HWV_PERMUTE_0Z 2 -#define HWV_PERMUTE_0W 3 -#define HWV_PERMUTE_1X 4 -#define HWV_PERMUTE_1Y 5 -#define HWV_PERMUTE_1Z 6 -#define HWV_PERMUTE_1W 7 - -typedef Vec3 hwvec3; -typedef Vec4 hwvec4; -typedef float simdf; -typedef Vec4 hwvec4fconst; -typedef int hwvec4i[4]; - -#define HWV3Constant(name, f0, f1, f2) const Vec3 name(f0, f1, f2) -#define SIMDFConstant(name, f0) const simdf name = f0 -#define HWV4PermuteControl(name, i0, i1, i2, i3) static const hwvec4i name = {i0, i1, i2, i3}; -#define SIMDFAsVec3(a) (hwvec3)a -#define HWV3AsSIMDF(a) (simdf)a.x - -ILINE hwvec3 HWVLoadVecUnaligned(const Vec3* pLoadFrom) -{ - return *pLoadFrom; -} - -ILINE hwvec3 HWVLoadVecAligned(const Vec4A* pLoadFrom) -{ - return Vec3(pLoadFrom->x, pLoadFrom->y, pLoadFrom->z); -} - -ILINE void HWVSaveVecUnaligned(Vec3* pSaveTo, const hwvec3& pLoadFrom) -{ - *pSaveTo = pLoadFrom; -} - -ILINE void HWVSaveVecAligned(Vec4* pSaveTo, const hwvec4& pLoadFrom) -{ - *pSaveTo = pLoadFrom; -} - -ILINE hwvec3 HWVAdd(const hwvec3& a, const hwvec3& b) -{ - return hwvec3(a.x + b.x, a.y + b.y, a.z + b.z); -} - -ILINE hwvec3 HWVMultiply(const hwvec3& a, const hwvec3& b) -{ - return hwvec3(a.x * b.x, a.y * b.y, a.z * b.z); -} - -ILINE hwvec3 HWVMultiplySIMDF(const hwvec3& a, const simdf& b) -{ - return hwvec3(a.x * b, a.y * b, a.z * b); -} - -ILINE hwvec3 HWVMultiplyAdd(const hwvec3& a, const hwvec3& b, const hwvec3& c) -{ - return hwvec3((a.x * b.x) + c.x, (a.y * b.y) + c.y, (a.z * b.z) + c.z); -} - -ILINE hwvec3 HWVMultiplySIMDFAdd(const hwvec3& a, const simdf& b, const hwvec3& c) -{ - return hwvec3((a.x * b) + c.x, (a.y * b) + c.y, (a.z * b) + c.z); -} - -ILINE hwvec3 HWVSub(const hwvec3& a, const hwvec3& b) -{ - return (a - b); -} - -ILINE hwvec3 HWVCross(const hwvec3& a, const hwvec3& b) -{ - return hwvec3((a.y * b.z) - (a.z * b.y) - , (a.z * b.x) - (a.x * b.z) - , (a.x * b.y) - (a.y * b.x)); -} - -ILINE simdf HWV3Dot(const hwvec3& a, const hwvec3& b) -{ - return (a.x * b.x) + (a.y * b.y) + (a.z * b.z); -} - -ILINE hwvec3 HWVMax(const hwvec3& a, const hwvec3& b) -{ - return Vec3(a.x > b.x ? a.x : b.x, - a.y > b.y ? a.y : b.y, - a.z > b.z ? a.z : b.z); -} - -ILINE hwvec3 HWVMin(const hwvec3& a, const hwvec3& b) -{ - return Vec3(a.x < b.x ? a.x : b.x, - a.y < b.y ? a.y : b.y, - a.z < b.z ? a.z : b.z); -} - -ILINE hwvec3 HWVClamp(const hwvec3& a, const hwvec3& min, const hwvec3& max) -{ - return HWVMax(min, HWVMin(a, max)); -} - -ILINE hwvec3 HWV3Normalize(const hwvec3& a) -{ - float fInvLen = isqrt_safe_tpl((a.x * a.x) + (a.y * a.y) + (a.z * a.z)); - return Vec3(a.x * fInvLen, a.y * fInvLen, a.z * fInvLen); -} - -ILINE hwvec3 HWVGetOrthogonal(const hwvec3& a) -{ - hwvec3 result = a; - - //int i = isneg(square(0.9f)*a.GetLengthSquared()-(a.x*a.x)); - int i = isneg(square(0.9f) * a.GetLengthSquared() - a.x * a.x); - result[i] = 0; - result[incm3(i)] = a[decm3(i)]; - result[decm3(i)] = -a[incm3(i)]; - return result; -} - -ILINE simdf HWV3SplatXToSIMDF(const hwvec3& a) -{ - return a.x; -} - -ILINE simdf HWV3SplatYToSIMDF(const hwvec3& a) -{ - return a.y; -} - -ILINE hwvec3 HWV3PermuteWord(const hwvec3& a, const hwvec3& b, const hwvec4i& p) -{ - hwvec3 selection[2] = {a, b}; - float* fSelection = (float*)selection; - return Vec3(fSelection[p[0]], fSelection[p[1]], fSelection[p[2]]); -} - -ILINE hwvec3 HWV3Zero() -{ - return Vec3(0.0f, 0.0f, 0.0f); -} - -ILINE hwvec4 HWV4Zero() -{ - return Vec4(0.0f, 0.0f, 0.0f, 0.0f); -} - - -ILINE hwvec3 HWV3Negate(const hwvec3& a) -{ - return Vec3(-a.x, -a.y, -a.z); -} - -ILINE hwvec3 HWVSelect(const hwvec3& a, const hwvec3& b, const hwvec3& control) -{ - return Vec3(control[0] > 0.0f ? b[0] : a[0], - control[1] > 0.0f ? b[1] : a[1], - control[2] > 0.0f ? b[2] : a[2]); -} - -ILINE hwvec3 HWVSelectSIMDF(const hwvec3& a, const hwvec3& b, const bool& control) -{ - return control ? b : a; -} - -ILINE simdf HWV3LengthSq(const hwvec3& a) -{ - return a.len2(); -} - - -////////////////////////////////////////////////// -//SIMDF functions for float stored in HWVEC4 data -////////////////////////////////////////////////// - -ILINE simdf SIMDFLoadFloat(const float& f) -{ - return f; -} - -ILINE void SIMDFSaveFloat(float* f, const simdf& a) -{ - *f = a; -} - -ILINE bool SIMDFGreaterThan(const simdf& a, const simdf& b) -{ - return (a > b); -} - -ILINE bool SIMDFLessThanEqualB(const simdf& a, const simdf& b) -{ - return (a <= b); -} - -ILINE bool SIMDFLessThanEqual(const simdf& a, const simdf& b) -{ - return (a <= b); -} - -ILINE bool SIMDFLessThanB(const simdf& a, const simdf& b) -{ - return (a < b); -} - -ILINE bool SIMDFLessThan(const simdf& a, const simdf& b) -{ - return (a < b); -} - -ILINE simdf SIMDFAdd(const simdf& a, const simdf& b) -{ - return a + b; -} - -ILINE simdf SIMDFMult(const simdf& a, const simdf& b) -{ - return a * b; -} - -ILINE simdf SIMDFReciprocal(const simdf& a) -{ - return 1.0f / a; -} - -ILINE simdf SIMDFSqrt(const simdf& a) -{ - return sqrt_tpl(a); -} - -ILINE simdf SIMDFSqrtEst(const simdf& a) -{ - return sqrt_tpl(a); -} - -ILINE simdf SIMDFSqrtEstFast(const simdf& a) -{ - return sqrt_tpl(a); -} - -ILINE simdf SIMDFMax(const simdf& a, const simdf& b) -{ - return max(a, b); -} - -ILINE simdf SIMDFMin(const simdf& a, const simdf& b) -{ - return min(a, b); -} - -ILINE simdf SIMDFClamp(const simdf& a, const simdf& min, const simdf& max) -{ - return clamp_tpl(a, min, max); -} - -ILINE simdf SIMDFAbs(const simdf& a) -{ - return fabsf(a); -} - -#endif // CRYINCLUDE_CRYCOMMON_CRY_HWVECTOR3_H diff --git a/Code/Legacy/CryCommon/Cry_Math.h b/Code/Legacy/CryCommon/Cry_Math.h index 74a18e8910..a96b83a1bf 100644 --- a/Code/Legacy/CryCommon/Cry_Math.h +++ b/Code/Legacy/CryCommon/Cry_Math.h @@ -8,8 +8,6 @@ // Description : Common math class - - #pragma once //======================================================================================== @@ -18,7 +16,6 @@ #include "Cry_ValidNumber.h" #include // eLittleEndian #include -//#include #include /////////////////////////////////////////////////////////////////////////////// // Forward declarations // @@ -27,8 +24,7 @@ template struct Vec2_tpl; template struct Vec3_tpl; -template -struct Vec4_tpl; +struct Vec4; template struct Ang3_tpl; @@ -38,14 +34,6 @@ template struct AngleAxis_tpl; template struct Quat_tpl; -template -struct QuatT_tpl; -template -struct DualQuat_tpl; -template -struct QuatTS_tpl; -template -struct QuatTNS_tpl; template struct Diag33_tpl; @@ -94,14 +82,8 @@ const f32 gf_halfPI = f32(1.57079632679489661923132169163975144209858469968755); #define TANGENT30_2 0.57735026918962576450914878050196f * 2 // 2*tan(30) #define LN2 0.69314718055994530941723212145818f // ln(2) - - - - ILINE f32 fsel(const f32 _a, const f32 _b, const f32 _c) { return (_a < 0.0f) ? _c : _b; } ILINE f64 fsel(const f64 _a, const f64 _b, const f64 _c) { return (_a < 0.0f) ? _c : _b; } -ILINE f32 fself(const f32 _a, const f32 _b, const f32 _c) { return (_a < 0.0f) ? _c : _b; } -ILINE f32 fsels(const f32 _a, const f32 _b, const f32 _c) { return (_a < 0.0f) ? _c : _b; } ILINE f32 fres(const f32 _a) { return 1.f / _a; } template ILINE T isel(int c, T a, T b) { return (c < 0) ? b : a; } @@ -319,13 +301,6 @@ ILINE int64 pos_round(f64 f) { return int64(f + 0.5); } ILINE int32 int_ceil(f32 f) { int32 i = int32(f); return (f > f32(i)) ? i + 1 : i; } ILINE int64 int_ceil(f64 f) { int64 i = int64(f); return (f > f64(i)) ? i + 1 : i; } -ILINE float ufrac8_to_float(float u) { return u * (1.f / 255.f); } -ILINE float ifrac8_to_float(float i) { return i * (1.f / 127.f); } -ILINE uint8 float_to_ufrac8(float f) { int i = pos_round(f * 255.f); assert(i >= 0 && i < 256); return uint8(i); } -ILINE int8 float_to_ifrac8(float f) { int i = int_round(f * 127.f); assert(abs(i) <= 127); return int8(i); } - - - template ILINE F sqr(const F& op) { return op * op; } template @@ -490,11 +465,8 @@ ILINE int64 iszero(long int x) { return -(x >> 63 ^ (x - 1) >> 63); } #endif ILINE float if_neg_else(float test, float val_neg, float val_nonneg) { return (float)fsel(test, val_nonneg, val_neg); } -ILINE float if_pos_else(float test, float val_pos, float val_nonpos) { return (float)fsel(-test, val_nonpos, val_pos); } template ILINE int32 inrange(F x, F end1, F end2) { return isneg(fabs_tpl(end1 + end2 - x * (F)2) - fabs_tpl(end1 - end2)); } -template -ILINE F cond_select(int32 bFirst, F op1, F op2) { F arg[2] = { op1, op2 }; return arg[bFirst ^ 1]; } template ILINE int32 idxmax3(const F* pdata) @@ -510,56 +482,6 @@ ILINE int32 idxmax3(const Vec3_tpl& vec) imax |= isneg(vec[imax] - vec.z) << 1; return imax & (2 | (imax >> 1 ^ 1)); } -template -ILINE int32 idxmin3(const F* pdata) -{ - int32 imin = isneg(pdata[1] - pdata[0]); - imin |= isneg(pdata[2] - pdata[imin]) << 1; - return imin & (2 | (imin >> 1 ^ 1)); -} -template -ILINE int32 idxmin3(const Vec3_tpl& vec) -{ - int32 imin = isneg(vec.y - vec.x); - imin |= isneg(vec.z - vec[imin]) << 1; - return imin & (2 | (imin >> 1 ^ 1)); -} -// Approximation of exp(-x) -ILINE float approxExp(float x) { return fres(1.f + x); } -// Approximation of 1.f - exp(-x) -ILINE float approxOneExp(float x) { return x * fres(1.f + x); } - - -ILINE int ilog2(uint64 x) // if x==1<> 23) - 127; -#endif -} - static int32 inc_mod3[] = {1, 2, 0}, dec_mod3[] = {2, 0, 1}; #ifdef PHYSICS_EXPORTS @@ -596,114 +518,6 @@ enum type_identity #include "Cry_Matrix34.h" #include "Cry_Matrix44.h" #include "Cry_Quat.h" -#include "Cry_HWVector3.h" -#include "Cry_HWMatrix.h" - -////////////////////////////////////////////////////////////////////////// - -/// This function relaxes a value (val) towards a desired value (to) whilst maintaining continuity -/// of val and its rate of change (valRate). timeDelta is the time between this call and the previous one. -/// The caller would normally keep val and valRate as working variables, and smoothTime is normally -/// a fixed parameter. The to/timeDelta values can change. -/// -/// Implementation details: -/// -/// This is a critically damped spring system. A linear spring is attached between "val" and "to" that -/// drags "val" to "to". At the same time a damper between the two removes oscillations; it's tweaked -/// so it doesn't dampen more than necessary. In combination this gives smooth ease-in and ease-out behavior. -/// -/// smoothTime can be interpreted in a couple of ways: -/// - it's the "expected time to reach the target when at maximum velocity" (the target will, however, not be reached -/// in that time because the speed will decrease the closer it gets to the target) -/// - it's the 'lag time', how many seconds "val" lags behind "to". If your -/// target has a certain speed, the lag distance is simply the smoothTime times that speed. -/// - it's 2/omega, where omega is the spring's natural frequency (or less formally a measure of the spring stiffness) -/// -/// The implementation is stable for varying timeDelta, but for performance reasons it uses a polynomial approximation -/// to the exponential function. The approximation works well (within 0.1% of accuracy) when smoothTime > 2*deltaTime, -/// which is usually the case. (but it might be troublesome when you want a stiff spring or have frame hikes!) -/// The implementation handles cases where smoothTime==0 separately and reliably. In that case the target will be -/// reached immediately, and valRate is updated appropriately. -/// -/// Based on "Critically Damped Ease-In/Ease-Out Smoothing", Thomas Lowe, Game Programming Gems IV -/// - - -template -ILINE void SmoothCD( - T& val, ///< in/out: value to be smoothed - T& valRate, ///< in/out: rate of change of the value - const float timeDelta, ///< in: time interval - const T& to, ///< in: the target value - const float smoothTime) ///< in: timescale for smoothing -{ - if (smoothTime > 0.0f) - { - const float omega = 2.0f / smoothTime; - const float x = omega * timeDelta; - const float exp = 1.0f / (1.0f + x + 0.48f * x * x + 0.235f * x * x * x); - const T change = (val - to); - const T temp = (T)((valRate + change * omega) * timeDelta); - valRate = (T)((valRate - temp * omega) * exp); - val = (T)(to + (change + temp) * exp); - } - else if (timeDelta > 0.0f) - { - valRate = (T)((to - val) / timeDelta); - val = to; - } - else - { - val = to; - T zeroizeAmount = valRate; - valRate -= zeroizeAmount; // zero it... - } -} - - -template -ILINE void SmoothCDWithMaxRate( - T& val, ///< in/out: value to be smoothed - T& valRate, ///< in/out: rate of change of the value - const float timeDelta, ///< in: time interval - const T& to, ///< in: the target value - const float smoothTime, ///< in: timescale for smoothing - const T& maxValRate) ///< in: maximum allowed rate of change -{ - if (smoothTime > 0.0f) - { - const float omega = 2.0f / smoothTime; - const float x = omega * timeDelta; - const float exp = 1.0f / (1.0f + x + 0.48f * x * x + 0.235f * x * x * x); - const T unclampedChange = val - to; - const T maxChange = maxValRate * smoothTime; - const T clampedChange = clamp_tpl(unclampedChange, -maxChange, maxChange); - const T clampedTo = val - clampedChange; - const T temp = (T)((valRate + clampedChange * omega) * timeDelta); - valRate = (T)((valRate - temp * omega) * exp); - val = (T)(clampedTo + (clampedChange + temp) * exp); - } - else if (timeDelta > 0.0f) - { - const T unclampedRate = (T)((to - val) / timeDelta); - valRate = clamp_tpl(unclampedRate, -maxValRate, maxValRate); - val += valRate * timeDelta; - } - else - { - val = to; - T zeroizeAmount = valRate; - valRate -= zeroizeAmount; // zero it... - } -} - -// Smoothes linear blending into cubic (b-spline) with 0-derivatives -// near 0 and 1 -inline f32 SmoothBlendValue (const f32 fBlend) -{ - const f32 fBlendAdj = fBlend - 0.5f; - return (f32)fsel(-fBlend, 0.f, fsel(fBlend - 1.f, 1.f, 0.5f - 2.f * (fBlendAdj * fBlendAdj * fBlendAdj) + 1.5f * fBlendAdj)); -} // function for safe comparsion of floating point values ILINE bool fcmp(f32 fA, f32 fB, f32 fEpsilon = FLT_EPSILON) diff --git a/Code/Legacy/CryCommon/Cry_Matrix33.h b/Code/Legacy/CryCommon/Cry_Matrix33.h index 9e0b12fafa..74004c15e0 100644 --- a/Code/Legacy/CryCommon/Cry_Matrix33.h +++ b/Code/Legacy/CryCommon/Cry_Matrix33.h @@ -8,10 +8,6 @@ // Description : Common matrix class - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_MATRIX33_H -#define CRYINCLUDE_CRYCOMMON_CRY_MATRIX33_H #pragma once @@ -64,7 +60,6 @@ struct Matrix33_tpl #else ILINE Matrix33_tpl(){}; #endif - //set matrix to Identity ILINE Matrix33_tpl(type_identity) { @@ -78,21 +73,6 @@ struct Matrix33_tpl m21 = 0; m22 = 1; } - //set matrix to Zero - ILINE Matrix33_tpl(type_zero) - { - m00 = 0; - m01 = 0; - m02 = 0; - m10 = 0; - m11 = 0; - m12 = 0; - m20 = 0; - m21 = 0; - m22 = 0; - } - - //ASSIGNMENT OPERATOR of identical Matrix33 types. //The assignment operator has precedence over assignment constructor //Matrix33 m; m=m33; @@ -118,7 +98,7 @@ struct Matrix33_tpl //CONSTRUCTOR for identical float-types. It initializes a Matrix33 with 9 floats. //Matrix33(0,1,2, 3,4,5, 6,7,8); - explicit ILINE Matrix33_tpl(F x00, F x01, F x02, F x10, F x11, F x12, F x20, F x21, F x22) + explicit ILINE Matrix33_tpl(F x00, F x01, F x02, F x10, F x11, F x12, F x20, F x21, F x22) { m00 = x00; m01 = x01; @@ -130,26 +110,11 @@ struct Matrix33_tpl m21 = x21; m22 = x22; } - //CONSTRUCTOR for different float-types. It initializes a Matrix33 with 9 floats. - //Matrix33(0.0,1.0,2.0, 3.0,4.0,5.0, 6.0,7.0,8.0); - template - explicit ILINE Matrix33_tpl(F1 x00, F1 x01, F1 x02, F1 x10, F1 x11, F1 x12, F1 x20, F1 x21, F1 x22) - { - m00 = F(x00); - m01 = F(x01); - m02 = F(x02); - m10 = F(x10); - m11 = F(x11); - m12 = F(x12); - m20 = F(x20); - m21 = F(x21); - m22 = F(x22); - } //CONSTRUCTOR for identical float-types. It initializes a Matrix33 with 3 vectors stored in the columns. //Matrix33(v0,v1,v2); - explicit ILINE Matrix33_tpl(const Vec3_tpl&vx, const Vec3_tpl&vy, const Vec3_tpl&vz) + explicit ILINE Matrix33_tpl(const Vec3_tpl&vx, const Vec3_tpl&vy, const Vec3_tpl&vz) { m00 = vx.x; m01 = vy.x; @@ -164,7 +129,7 @@ struct Matrix33_tpl //CONSTRUCTOR for different float-types. It initializes a Matrix33 with 3 vectors stored in the columns and converts between floats/doubles. //Matrix33r(v0,v1,v2); template - explicit ILINE Matrix33_tpl(const Vec3_tpl&vx, const Vec3_tpl&vy, const Vec3_tpl&vz) + explicit ILINE Matrix33_tpl(const Vec3_tpl&vx, const Vec3_tpl&vy, const Vec3_tpl&vz) { m00 = F(vx.x); m01 = F(vy.x); @@ -209,8 +174,6 @@ struct Matrix33_tpl m22 = F(m.m22); } - - //CONSTRUCTOR for identical float-types. It converts a Matrix34 into a Matrix33. //Needs to be 'explicit' because we loose the translation vector in the conversion process //Matrix33(m34); @@ -245,9 +208,6 @@ struct Matrix33_tpl m22 = F(m.m22); } - - - //CONSTRUCTOR for identical float-types. It converts a Matrix44 into a Matrix33. //Needs to be 'explicit' because we loose the translation vector and the 3rd row in the conversion process //Matrix33(m44); @@ -356,26 +316,6 @@ struct Matrix33_tpl SetRotationXYZ(Ang3_tpl(F(ang.x), F(ang.y), F(ang.z))); } - - - - //Bracket OPERATOR: initializes a Matrix33 with 9 floats. - //Matrix33 m; m(0,1,2, 3,4,5, 6,7,8); - ILINE void operator () (F x00, F x01, F x02, F x10, F x11, F x12, F x20, F x21, F x22) - { - m00 = x00; - m01 = x01; - m02 = x02; - m10 = x10; - m11 = x11; - m12 = x12; - m20 = x20; - m21 = x21; - m22 = x22; - assert(IsValid()); - } - - //--------------------------------------------------------------------------------------- ILINE void SetIdentity(void) @@ -391,27 +331,6 @@ struct Matrix33_tpl m22 = 1; } - ILINE static Matrix33_tpl CreateIdentity() - { - Matrix33_tpl m33; - m33.SetIdentity(); - return m33; - } - - ILINE void SetZero() - { - m00 = 0; - m01 = 0; - m02 = 0; - m10 = 0; - m11 = 0; - m12 = 0; - m20 = 0; - m21 = 0; - m22 = 0; - } - - /*! * Create a rotation matrix around an arbitrary axis (Eulers Theorem). * The axis is specified as a normalized Vec3. The angle is assumed to be in radians. @@ -597,7 +516,7 @@ struct Matrix33_tpl F dot = v0 | v1; if (dot < F(-0.9999f)) { - Vec3d axis = v0.GetOrthogonal().GetNormalized(); + Vec3_tpl axis = v0.GetOrthogonal().GetNormalized(); m00 = F(2 * axis.x * axis.x - 1); m01 = F(2 * axis.x * axis.y); m02 = F(2 * axis.x * axis.z); @@ -723,28 +642,6 @@ struct Matrix33_tpl return m33; } - - //! calculate 2 vector that form a orthogonal base with a given input vector (by M.M.) - //! /param invDirection input direction (has to be normalized) - //! /param outvA first output vector that is perpendicular to the input direction - //! /param outvB second output vector that is perpendicular the input vector and the first output vector - ILINE static Matrix33_tpl CreateOrthogonalBase(const Vec3& invDirection) - { - Vec3 outvA; - if (invDirection.z < -0.5f || invDirection.z > 0.5f) - { - outvA = Vec3(invDirection.z, invDirection.y, -invDirection.x); - } - else - { - outvA = Vec3(invDirection.y, -invDirection.x, invDirection.z); - } - Vec3 outvB = (invDirection % outvA).GetNormalized(); - outvA = (invDirection % outvB).GetNormalized(); - return CreateFromVectors(invDirection, outvA, outvB); - } - - ////////////////////////////////////////////////////////////////////////// ILINE static Matrix33_tpl CreateOrientation(const Vec3_tpl& dir, const Vec3_tpl& up, float rollAngle) { @@ -779,77 +676,6 @@ struct Matrix33_tpl return tm; } - - /*! - * Direct-Matrix-Slerp: for the sake of completeness, I have included the following expression - * for Spherical-Linear-Interpolation without using quaternions. This is much faster then converting - * both matrices into quaternions in order to do a quaternion slerp and then converting the slerped - * quaternion back into a matrix. - * This is a high-precision calculation. Given two orthonormal 3x3 matrices this function calculates - * the shortest possible interpolation-path between the two rotations. The interpolation curve forms - * a great arc on the rotation sphere (geodesic). Not only does Slerp follow a great arc it follows - * the shortest great arc. Furthermore Slerp has constant angular velocity. All in all Slerp is the - * optimal interpolation curve between two rotations. - * - * STABILITY PROBLEM: There are two singularities at angle=0 and angle=PI. At 0 the interpolation-axis - * is arbitrary, which means any axis will produce the same result because we have no rotation. Thats - * why I'm using (1,0,0). At PI the rotations point away from each other and the interpolation-axis - * is unpredictable. In this case I'm also using the axis (1,0,0). If the angle is ~0 or ~PI, then we - * have to normalize a very small vector and this can cause numerical instability. The quaternion-slerp - * has exactly the same problems. - * Ivo - * Example: - * Matrix33 slerp=Matrix33::CreateSlerp( m,n,0.333f ); - */ - ILINE void SetSlerp(const Matrix33_tpl& m, const Matrix33_tpl& n, F t) - { - assert(m.IsValid()); - assert(n.IsValid()); - //calculate delta-rotation between m and n (=39 flops) - Matrix33_tpl d, i; - d.m00 = m.m00 * n.m00 + m.m10 * n.m10 + m.m20 * n.m20; - d.m01 = m.m00 * n.m01 + m.m10 * n.m11 + m.m20 * n.m21; - d.m02 = m.m00 * n.m02 + m.m10 * n.m12 + m.m20 * n.m22; - d.m10 = m.m01 * n.m00 + m.m11 * n.m10 + m.m21 * n.m20; - d.m11 = m.m01 * n.m01 + m.m11 * n.m11 + m.m21 * n.m21; - d.m12 = m.m01 * n.m02 + m.m11 * n.m12 + m.m21 * n.m22; - d.m20 = d.m01 * d.m12 - d.m02 * d.m11; - d.m21 = d.m02 * d.m10 - d.m00 * d.m12; - d.m22 = d.m00 * d.m11 - d.m01 * d.m10; - assert(d.IsOrthonormalRH(0.0001f)); - - Vec3_tpl axis(d.m21 - d.m12, d.m02 - d.m20, d.m10 - d.m01); - F l = sqrt(axis | axis); - if (l > F(0.00001)) - { - axis /= l; - } - else - { - axis(1, 0, 0); - } - i.SetRotationAA(acos(clamp_tpl((d.m00 + d.m11 + d.m22 - 1) * 0.5f, F(-1), F(+1))) * t, axis); //angle interpolation and calculation of new delta-matrix (=26 flops) - - //final concatenation (=39 flops) - m00 = F(m.m00 * i.m00 + m.m01 * i.m10 + m.m02 * i.m20); - m01 = F(m.m00 * i.m01 + m.m01 * i.m11 + m.m02 * i.m21); - m02 = F(m.m00 * i.m02 + m.m01 * i.m12 + m.m02 * i.m22); - m10 = F(m.m10 * i.m00 + m.m11 * i.m10 + m.m12 * i.m20); - m11 = F(m.m10 * i.m01 + m.m11 * i.m11 + m.m12 * i.m21); - m12 = F(m.m10 * i.m02 + m.m11 * i.m12 + m.m12 * i.m22); - m20 = m01 * m12 - m02 * m11; - m21 = m02 * m10 - m00 * m12; - m22 = m00 * m11 - m01 * m10; - assert(this->IsOrthonormalRH(0.0001f)); - } - ILINE static Matrix33_tpl CreateSlerp(const Matrix33_tpl m, const Matrix33_tpl n, F t) - { - Matrix33_tpl m33; - m33.SetSlerp(m, n, t); - return m33; - } - - ILINE void SetScale(const Vec3_tpl& s) { m00 = s.x; @@ -880,9 +706,6 @@ struct Matrix33_tpl } ILINE static Matrix33_tpl CreateFromVectors(const Vec3_tpl& vx, const Vec3_tpl& vy, const Vec3_tpl& vz) { Matrix33_tpl dst; dst.SetFromVectors(vx, vy, vz); return dst; } - - - ILINE void Transpose() // in-place transposition { F t; @@ -896,56 +719,6 @@ struct Matrix33_tpl m12 = m21; m21 = t; } - ILINE Matrix33_tpl GetTransposed() const - { - Matrix33_tpl dst; - dst.m00 = m00; - dst.m01 = m10; - dst.m02 = m20; - dst.m10 = m01; - dst.m11 = m11; - dst.m12 = m21; - dst.m20 = m02; - dst.m21 = m12; - dst.m22 = m22; - return dst; - } - ILINE Matrix33_tpl T() const { return GetTransposed(); } - - ILINE Matrix33_tpl& Fabs() - { - m00 = fabs_tpl(m00); - m01 = fabs_tpl(m01); - m02 = fabs_tpl(m02); - m10 = fabs_tpl(m10); - m11 = fabs_tpl(m11); - m12 = fabs_tpl(m12); - m20 = fabs_tpl(m20); - m21 = fabs_tpl(m21); - m22 = fabs_tpl(m22); - return *this; - } - ILINE Matrix33_tpl GetFabs() const { Matrix33_tpl m = *this; m.Fabs(); return m; } - - - ILINE void Adjoint(void) - { - //rescue members - Matrix33_tpl m = *this; - //calculate the adjoint-matrix - m00 = m.m11 * m.m22 - m.m12 * m.m21; - m01 = m.m12 * m.m20 - m.m10 * m.m22; - m02 = m.m10 * m.m21 - m.m11 * m.m20; - m10 = m.m21 * m.m02 - m.m22 * m.m01; - m11 = m.m22 * m.m00 - m.m20 * m.m02; - m12 = m.m20 * m.m01 - m.m21 * m.m00; - m20 = m.m01 * m.m12 - m.m02 * m.m11; - m21 = m.m02 * m.m10 - m.m00 * m.m12; - m22 = m.m00 * m.m11 - m.m01 * m.m10; - } - ILINE Matrix33_tpl GetAdjoint() const { Matrix33_tpl dst = *this; dst.Adjoint(); return dst; } - - /*! * @@ -1201,8 +974,6 @@ struct Matrix33_tpl /////////////////////////////////////////////////////////////////////////////// typedef Matrix33_tpl Matrix33; //always 32 bit -typedef Matrix33_tpl Matrix33d; //always 64 bit -typedef Matrix33_tpl Matrix33r; //variable float precision. depending on the target system it can be between 32, 64 or 80 bit //---------------------------------------------------------------------------------- //---------------------------------------------------------------------------------- @@ -1360,9 +1131,6 @@ ILINE Matrix33_tpl& operator+=(Matrix33_tpl& l, const Matrix33_tpl& return l; } - - - template ILINE Matrix33_tpl operator - (const Matrix33_tpl& l, const Matrix33_tpl& r) { @@ -1397,9 +1165,6 @@ ILINE Matrix33_tpl& operator-=(Matrix33_tpl& l, const Matrix33_tpl& return l; } - - - template ILINE Matrix33_tpl operator*(const Matrix33_tpl& m, F op) { @@ -1462,37 +1227,3 @@ ILINE Vec2_tpl operator*(const Vec2_tpl& v, const Matrix33_tpl& m) assert(v.IsValid()); return Vec2_tpl(v.x * m.m00 + v.y * m.m10, v.x * m.m01 + v.y * m.m11); } - -template -ILINE Matrix33_tpl& crossproduct_matrix(const Vec3_tpl& v, Matrix33_tpl& m) -{ - m.m00 = 0; - m.m01 = -v.z; - m.m02 = v.y; - m.m10 = v.z; - m.m11 = 0; - m.m12 = -v.x; - m.m20 = -v.y; - m.m21 = v.x; - m.m22 = 0; - return m; -} - -template -ILINE Matrix33_tpl& dotproduct_matrix(const Vec3_tpl& v, const Vec3_tpl& op, Matrix33_tpl& m) -{ - m.m00 = v.x * op.x; - m.m10 = v.y * op.x; - m.m20 = v.z * op.x; - m.m01 = v.x * op.y; - m.m11 = v.y * op.y; - m.m21 = v.z * op.y; - m.m02 = v.x * op.z; - m.m12 = v.y * op.z; - m.m22 = v.z * op.z; - return m; -} - - -#endif // CRYINCLUDE_CRYCOMMON_CRY_MATRIX33_H - diff --git a/Code/Legacy/CryCommon/Cry_Matrix34.h b/Code/Legacy/CryCommon/Cry_Matrix34.h index 0659d3bc47..eb9c22086b 100644 --- a/Code/Legacy/CryCommon/Cry_Matrix34.h +++ b/Code/Legacy/CryCommon/Cry_Matrix34.h @@ -8,16 +8,8 @@ // Description : Common matrix class - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_MATRIX34_H -#define CRYINCLUDE_CRYCOMMON_CRY_MATRIX34_H #pragma once - - - - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// @@ -347,220 +339,6 @@ struct Matrix34_tpl *this = Matrix33_tpl(q); } - - - //CONSTRUCTOR for identical float-types. It converts a QuatT into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - explicit ILINE Matrix34_tpl(const QuatT_tpl &q) - { - *this = Matrix34_tpl(Matrix33_tpl(q.q), q.t); - } - //CONSTRUCTOR for different float-types. It converts a QuatT into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - template - ILINE explicit Matrix34_tpl(const QuatT_tpl q) - { - *this = Matrix34_tpl(Matrix33_tpl(q.q), q.t); - } - - - - - //CONSTRUCTOR for identical float-types. It converts a QuatTS into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - explicit ILINE Matrix34_tpl(const QuatTS_tpl &q) - { - assert(q.q.IsValid()); - Vec3_tpl v2 = q.q.v + q.q.v; - F xx = 1 - v2.x * q.q.v.x; - F yy = v2.y * q.q.v.y; - F xw = v2.x * q.q.w; - F xy = v2.y * q.q.v.x; - F yz = v2.z * q.q.v.y; - F yw = v2.y * q.q.w; - F xz = v2.z * q.q.v.x; - F zz = v2.z * q.q.v.z; - F zw = v2.z * q.q.w; - m00 = (1 - yy - zz) * q.s; - m01 = (xy - zw) * q.s; - m02 = (xz + yw) * q.s; - m03 = q.t.x; - m10 = (xy + zw) * q.s; - m11 = (xx - zz) * q.s; - m12 = (yz - xw) * q.s; - m13 = q.t.y; - m20 = (xz - yw) * q.s; - m21 = (yz + xw) * q.s; - m22 = (xx - yy) * q.s; - m23 = q.t.z; - } - //CONSTRUCTOR for different float-types. It converts a QuatTS into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - template - ILINE explicit Matrix34_tpl(const QuatTS_tpl &q) - { - assert(q.q.IsValid()); - Vec3_tpl v2 = q.q.v + q.q.v; - F1 xx = 1 - v2.x * q.q.v.x; - F1 yy = v2.y * q.q.v.y; - F1 xw = v2.x * q.q.w; - F1 xy = v2.y * q.q.v.x; - F1 yz = v2.z * q.q.v.y; - F1 yw = v2.y * q.q.w; - F1 xz = v2.z * q.q.v.x; - F1 zz = v2.z * q.q.v.z; - F1 zw = v2.z * q.q.w; - m00 = F((1 - yy - zz) * q.s); - m01 = F((xy - zw) * q.s); - m02 = F((xz + yw) * q.s); - m03 = F(q.t.x); - m10 = F((xy + zw) * q.s); - m11 = F((xx - zz) * q.s); - m12 = F((yz - xw) * q.s); - m13 = F(q.t.y); - m20 = F((xz - yw) * q.s); - m21 = F((yz + xw) * q.s); - m22 = F((xx - yy) * q.s); - m23 = F(q.t.z); - } - - - - - //CONSTRUCTOR for identical float-types. It converts a QuatTNS into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - explicit ILINE Matrix34_tpl(const QuatTNS_tpl &q) - { - assert(q.q.IsValid()); - Vec3_tpl v2 = q.q.v + q.q.v; - F xx = 1 - v2.x * q.q.v.x; - F yy = v2.y * q.q.v.y; - F xw = v2.x * q.q.w; - F xy = v2.y * q.q.v.x; - F yz = v2.z * q.q.v.y; - F yw = v2.y * q.q.w; - F xz = v2.z * q.q.v.x; - F zz = v2.z * q.q.v.z; - F zw = v2.z * q.q.w; - m00 = (1 - yy - zz) * q.s.x; - m01 = (xy - zw) * q.s.y; - m02 = (xz + yw) * q.s.z; - m03 = q.t.x; - m10 = (xy + zw) * q.s.x; - m11 = (xx - zz) * q.s.y; - m12 = (yz - xw) * q.s.z; - m13 = q.t.y; - m20 = (xz - yw) * q.s.x; - m21 = (yz + xw) * q.s.y; - m22 = (xx - yy) * q.s.z; - m23 = q.t.z; - } - //CONSTRUCTOR for different float-types. It converts a QuatTNS into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - template - ILINE explicit Matrix34_tpl(const QuatTNS_tpl &q) - { - assert(q.q.IsValid()); - Vec3_tpl v2 = q.q.v + q.q.v; - F1 xx = 1 - v2.x * q.q.v.x; - F1 yy = v2.y * q.q.v.y; - F1 xw = v2.x * q.q.w; - F1 xy = v2.y * q.q.v.x; - F1 yz = v2.z * q.q.v.y; - F1 yw = v2.y * q.q.w; - F1 xz = v2.z * q.q.v.x; - F1 zz = v2.z * q.q.v.z; - F1 zw = v2.z * q.q.w; - m00 = F((1 - yy - zz) * q.s.x); - m01 = F((xy - zw) * q.s.y); - m02 = F((xz + yw) * q.s.z); - m03 = F(q.t.x); - m10 = F((xy + zw) * q.s.x); - m11 = F((xx - zz) * q.s.y); - m12 = F((yz - xw) * q.s.z); - m13 = F(q.t.y); - m20 = F((xz - yw) * q.s.x); - m21 = F((yz + xw) * q.s.y); - m22 = F((xx - yy) * q.s.z); - m23 = F(q.t.z); - } - - - - - //CONSTRUCTOR for identical float-types. It converts a DualQuat into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - ILINE explicit Matrix34_tpl(const DualQuat_tpl &q) - { - assert((fabs_tpl(1 - (q.nq | q.nq))) < 0.01); //check if unit-quaternion - Vec3_tpl t = (q.nq.w * q.dq.v - q.dq.w * q.nq.v + q.nq.v % q.dq.v); //perfect for HLSL - Vec3_tpl v2 = q.nq.v + q.nq.v; - F xx = 1 - v2.x * q.nq.v.x; - F yy = v2.y * q.nq.v.y; - F xw = v2.x * q.nq.w; - F xy = v2.y * q.nq.v.x; - F yz = v2.z * q.nq.v.y; - F yw = v2.y * q.nq.w; - F xz = v2.z * q.nq.v.x; - F zz = v2.z * q.nq.v.z; - F zw = v2.z * q.nq.w; - m00 = 1 - yy - zz; - m01 = xy - zw; - m02 = xz + yw; - m03 = t.x + t.x; - m10 = xy + zw; - m11 = xx - zz; - m12 = yz - xw; - m13 = t.y + t.y; - m20 = xz - yw; - m21 = yz + xw; - m22 = xx - yy; - m23 = t.z + t.z; - } - //CONSTRUCTOR for different float-types. It converts a DualQuat into a Matrix34. - //Needs to be 'explicit' because we loose float-precision in the conversion process - //Matrix34(QuatT); - template - ILINE explicit Matrix34_tpl(const DualQuat_tpl &q) - { - assert((fabs_tpl(1 - (q.nq | q.nq))) < 0.01); //check if unit-quaternion - Vec3_tpl t = (q.nq.w * q.dq.v - q.dq.w * q.nq.v + q.nq.v % q.dq.v); //perfect for HLSL - Vec3_tpl v2 = q.nq.v + q.nq.v; - F1 xx = 1 - v2.x * q.nq.v.x; - F1 yy = v2.y * q.nq.v.y; - F1 xw = v2.x * q.nq.w; - F1 xy = v2.y * q.nq.v.x; - F1 yz = v2.z * q.nq.v.y; - F1 yw = v2.y * q.nq.w; - F1 xz = v2.z * q.nq.v.x; - F1 zz = v2.z * q.nq.v.z; - F1 zw = v2.z * q.nq.w; - m00 = F(1 - yy - zz); - m01 = F(xy - zw); - m02 = F(xz + yw); - m03 = F(t.x + t.x); - m10 = F(xy + zw); - m11 = F(xx - zz); - m12 = F(yz - xw); - m13 = F(t.y + t.y); - m20 = F(xz - yw); - m21 = F(yz + xw); - m22 = F(xx - yy); - m23 = F(t.z + t.z); - } - - - - - - //apply scaling to the columns of the matrix. ILINE void ScaleColumn(const Vec3_tpl& s) { @@ -580,7 +358,7 @@ struct Matrix34_tpl * Initializes the Matrix34 with the identity. * */ - void SetIdentity(void) + void SetIdentity() { m00 = 1.0f; m01 = 0.0f; @@ -596,58 +374,12 @@ struct Matrix34_tpl m23 = 0.0f; } - ILINE static Matrix34_tpl CreateIdentity(void) + ILINE static Matrix34_tpl CreateIdentity() { Matrix34_tpl m; m.SetIdentity(); return m; } - - ILINE bool IsIdentity() const - { - return 0 == (fabs_tpl((F)1 - m00) + fabs_tpl(m01) + fabs_tpl(m02) + fabs_tpl(m03) + fabs_tpl(m10) + fabs_tpl((F)1 - m11) + fabs_tpl(m12) + fabs_tpl(m13) + fabs_tpl(m20) + fabs_tpl(m21) + fabs_tpl((F)1 - m22)) + fabs_tpl(m23); - } - - ILINE int IsZero() const - { - return 0 == (fabs_tpl(m00) + fabs_tpl(m01) + fabs_tpl(m02) + fabs_tpl(m03) + fabs_tpl(m10) + fabs_tpl(m11) + fabs_tpl(m12) + fabs_tpl(m13) + fabs_tpl(m20) + fabs_tpl(m21) + fabs_tpl(m22)) + fabs_tpl(m23); - } - - /*! - * Create a rotation matrix around an arbitrary axis (Eulers Theorem). - * The axis is specified as an normalized Vec3. The angle is assumed to be in radians. - * This function also assumes a translation-vector and stores it in the right column. - * - * Example: - * Matrix34 m34; - * Vec3 axis=GetNormalized( Vec3(-1.0f,-0.3f,0.0f) ); - * m34.SetRotationAA( 3.14314f, axis, Vec3(5,5,5) ); - */ - ILINE void SetRotationAA(const F rad, const Vec3_tpl& axis, const Vec3_tpl& t = Vec3(ZERO)) - { - *this = Matrix33_tpl::CreateRotationAA(rad, axis); - this->SetTranslation(t); - } - ILINE static Matrix34_tpl CreateRotationAA(const F rad, const Vec3_tpl& axis, const Vec3_tpl& t = Vec3(ZERO)) - { - Matrix34_tpl m34; - m34.SetRotationAA(rad, axis, t); - return m34; - } - - ILINE void SetRotationAA(const Vec3_tpl& rot, const Vec3_tpl& t = Vec3(ZERO)) - { - *this = Matrix33_tpl::CreateRotationAA(rot); - this->SetTranslation(t); - } - ILINE static Matrix34_tpl CreateRotationAA(const Vec3_tpl& rot, const Vec3_tpl& t = Vec3(ZERO)) - { - Matrix34_tpl m34; - m34.SetRotationAA(rot, t); - return m34; - } - - /*! * Create rotation-matrix about X axis using an angle. * The angle is assumed to be in radians. @@ -690,28 +422,6 @@ struct Matrix34_tpl return m34; } - /*! - * Create rotation-matrix about Z axis using an angle. - * The angle is assumed to be in radians. - * The translation-vector is set to zero. - * - * Example: - * Matrix34 m34; - * m34.SetRotationZ(0.5f); - */ - ILINE void SetRotationZ(const f32 rad, const Vec3_tpl& t = Vec3(ZERO)) - { - *this = Matrix33_tpl::CreateRotationZ(rad); - this->SetTranslation(t); - } - ILINE static Matrix34_tpl CreateRotationZ(const f32 rad, const Vec3_tpl& t = Vec3(ZERO)) - { - Matrix34_tpl m34; - m34.SetRotationZ(rad, t); - return m34; - } - - /*! * * Convert three Euler angle to mat33 (rotation order:XYZ) @@ -742,22 +452,6 @@ struct Matrix34_tpl } - ILINE void SetRotationAA(F c, F s, Vec3_tpl axis, const Vec3_tpl& t = Vec3(ZERO)) - { - assert(axis.IsValid()); - assert(t.IsValid()); - *this = Matrix33_tpl::CreateRotationAA(c, s, axis); - m03 = t.x; - m13 = t.y; - m23 = t.z; - } - ILINE static Matrix34_tpl CreateRotationAA(F c, F s, Vec3_tpl axis, const Vec3_tpl& t = Vec3(ZERO)) - { - Matrix34_tpl m34; - m34.SetRotationAA(c, s, axis, t); - return m34; - } - ILINE void SetTranslationMat(const Vec3_tpl& v) { m00 = 1.0f; @@ -804,25 +498,6 @@ struct Matrix34_tpl return m; } - void InvertFast() - { // in-place transposition - assert(IsOrthonormal()); - F t; - Vec3 v(m03, m13, m23); - t = m01; - m01 = m10; - m10 = t; - m03 = -v.x * m00 - v.y * m01 - v.z * m20; - t = m02; - m02 = m20; - m20 = t; - m13 = -v.x * m10 - v.y * m11 - v.z * m21; - t = m12; - m12 = m21; - m21 = t; - m23 = -v.x * m20 - v.y * m21 - v.z * m22; - } - Matrix34_tpl GetInvertedFast() const { assert(IsOrthonormal()); @@ -875,14 +550,6 @@ struct Matrix34_tpl m22 = z.z; } - - //determinant is ambiguous: only the upper-left-submatrix's determinant is calculated - ILINE f32 Determinant() const - { - return (m00 * m11 * m22) + (m01 * m12 * m20) + (m02 * m10 * m21) - (m02 * m11 * m20) - (m00 * m12 * m21) - (m01 * m10 * m22); - } - - //-------------------------------------------------------------------------------- //---- helper functions to access matrix-members ------------ //-------------------------------------------------------------------------------- @@ -896,10 +563,8 @@ struct Matrix34_tpl ILINE void SetRow(int i, const Vec3_tpl& v) { assert(i < 3); F* p = (F*)(&m00); p[0 + 4 * i] = v.x; p[1 + 4 * i] = v.y; p[2 + 4 * i] = v.z; } ILINE const Vec3_tpl& GetRow(int i) const { assert(i < 3); return *(const Vec3_tpl*)(&m00 + 4 * i); } - ILINE const Vec4_tpl& GetRow4(int i) const { assert(i < 3); return *(const Vec4_tpl*)(&m00 + 4 * i); } + ILINE const Vec4& GetRow4(int i) const { assert(i < 3); return *(const Vec4*)(&m00 + 4 * i); } - ILINE void SetColumn(int i, const Vec3_tpl& v) { assert(i < 4); F* p = (F*)(&m00); p[i + 4 * 0] = v.x; p[i + 4 * 1] = v.y; p[i + 4 * 2] = v.z; } - ILINE Vec3_tpl GetColumn(int i) const { assert(i < 4); F* p = (F*)(&m00); return Vec3(p[i + 4 * 0], p[i + 4 * 1], p[i + 4 * 2]); } ILINE Vec3_tpl GetColumn0() const { return Vec3_tpl(m00, m10, m20); } ILINE Vec3_tpl GetColumn1() const { return Vec3_tpl(m01, m11, m21); } ILINE Vec3_tpl GetColumn2() const { return Vec3_tpl(m02, m12, m22); } @@ -908,8 +573,6 @@ struct Matrix34_tpl ILINE void SetTranslation(const Vec3_tpl& t) { m03 = t.x; m13 = t.y; m23 = t.z; } ILINE Vec3_tpl GetTranslation() const { return Vec3_tpl(m03, m13, m23); } - ILINE void ScaleTranslation (F s) { m03 *= s; m13 *= s; m23 *= s; } - ILINE Matrix34_tpl AddTranslation(const Vec3_tpl& t) { m03 += t.x; m13 += t.y; m23 += t.z; return *this; } ILINE void SetRotation33(const Matrix33_tpl& m33) { @@ -924,19 +587,6 @@ struct Matrix34_tpl m22 = m33.m22; } - ILINE void GetRotation33(Matrix33_tpl& m33) const - { - m33.m00 = m00; - m33.m01 = m01; - m33.m02 = m02; - m33.m10 = m10; - m33.m11 = m11; - m33.m12 = m12; - m33.m20 = m20; - m33.m21 = m21; - m33.m22 = m22; - } - //check if we have an orthonormal-base (general case, works even with reflection matrices) int IsOrthonormal(F threshold = 0.001) const { @@ -1031,15 +681,6 @@ struct Matrix34_tpl return true; } - - bool IsDegenerate(float epsilon = FLT_EPSILON) const - { - //check the basis vectors for 0 vector - return GetColumn0().len2() < epsilon - || GetColumn1().len2() < epsilon - || GetColumn2().len2() < epsilon; - } - /*! * Create a matrix with SCALING, ROTATION and TRANSLATION (in this order). * @@ -1093,43 +734,12 @@ struct Matrix34_tpl * Example 1: * Matrix m34; * m34.SetScale( Vec3(0.5f, 1.0f, 2.0f) ); - * Example 2: - * Matrix34 m34 = Matrix34::CreateScale( Vec3(0.5f, 1.0f, 2.0f) ); */ ILINE void SetScale(const Vec3_tpl& s, const Vec3_tpl& t = Vec3(ZERO)) { *this = Matrix33::CreateScale(s); this->SetTranslation(t); } - ILINE static Matrix34_tpl CreateScale(const Vec3_tpl& s, const Vec3_tpl& t = Vec3(ZERO)) - { - Matrix34_tpl m34; - m34.SetScale(s, t); - return m34; - } - - - ILINE Matrix44_tpl GetTransposed() const - { - Matrix44_tpl tmp; - tmp.m00 = m00; - tmp.m01 = m10; - tmp.m02 = m20; - tmp.m03 = 0; - tmp.m10 = m01; - tmp.m11 = m11; - tmp.m12 = m21; - tmp.m13 = 0; - tmp.m20 = m02; - tmp.m21 = m12; - tmp.m22 = m22; - tmp.m23 = 0; - tmp.m30 = m03; - tmp.m31 = m13; - tmp.m32 = m23; - tmp.m33 = 1; - return tmp; - } /*! * calculate a real inversion of a Matrix34 @@ -1141,7 +751,7 @@ struct Matrix34_tpl * Example 2: * Matrix34 im34 = m34.GetInverted(); */ - void Invert(void) + void Invert() { //rescue members Matrix34_tpl m = *this; @@ -1182,37 +792,6 @@ struct Matrix34_tpl dst.Invert(); return dst; } - - /*! - * Name: ReflectMat34 - * Description: reflect a rotation matrix with respect to a plane. - * - * Example: - * Vec3 normal( 0.0f,-1.0f, 0.0f); - * Vec3 pos(0,1000,0); - * Matrix34 m34=CreateReflectionMat( pos, normal ); - */ - ILINE static Matrix34_tpl CreateReflectionMat (const Vec3_tpl& p, const Vec3_tpl& n) - { - Matrix34_tpl m; - F vxy = -2.0f * n.x * n.y; - F vxz = -2.0f * n.x * n.z; - F vyz = -2.0f * n.y * n.z; - F pdotn = 2.0f * (p | n); - m.m00 = 1.0f - 2.0f * n.x * n.x; - m.m01 = vxy; - m.m02 = vxz; - m.m03 = pdotn * n.x; - m.m10 = vxy; - m.m11 = 1.0f - 2.0f * n.y * n.y; - m.m12 = vyz; - m.m13 = pdotn * n.y; - m.m20 = vxz; - m.m21 = vyz; - m.m22 = 1.0f - 2.0f * n.z * n.z; - m.m23 = pdotn * n.z; - return m; - } }; /////////////////////////////////////////////////////////////////////////////// @@ -1220,8 +799,6 @@ struct Matrix34_tpl /////////////////////////////////////////////////////////////////////////////// typedef Matrix34_tpl Matrix34; //always 32 bit -typedef Matrix34_tpl Matrix34d;//always 64 bit -typedef Matrix34_tpl Matrix34r;//variable float precision. depending on the target system it can be between 32, 64 or bit #if AZ_COMPILER_MSVC typedef __declspec(align(16)) Matrix34_tpl Matrix34A; #elif AZ_COMPILER_CLANG @@ -1423,6 +1000,3 @@ ILINE Matrix44_tpl operator * (const Matrix34_tpl& l, const Matrix44_tpl& v) { assert(i < 4); F* p = (F*)(&m00); p[0 + 4 * i] = v.x; p[1 + 4 * i] = v.y; p[2 + 4 * i] = v.z; } - ILINE void SetRow4(int i, const Vec4_tpl& v) { assert(i < 4); F* p = (F*)(&m00); p[0 + 4 * i] = v.x; p[1 + 4 * i] = v.y; p[2 + 4 * i] = v.z; p[3 + 4 * i] = v.w; } + ILINE void SetRow4(int i, const Vec4& v) { assert(i < 4); F* p = (F*)(&m00); p[0 + 4 * i] = v.x; p[1 + 4 * i] = v.y; p[2 + 4 * i] = v.z; p[3 + 4 * i] = v.w; } ILINE const Vec3_tpl& GetRow(int i) const { assert(i < 4); return *(const Vec3_tpl*)(&m00 + 4 * i); } ILINE void SetColumn(int i, const Vec3_tpl& v) { assert(i < 4); F* p = (F*)(&m00); p[i + 4 * 0] = v.x; p[i + 4 * 1] = v.y; p[i + 4 * 2] = v.z; } ILINE Vec3_tpl GetColumn(int i) const { assert(i < 4); F* p = (F*)(&m00); return Vec3(p[i + 4 * 0], p[i + 4 * 1], p[i + 4 * 2]); } - ILINE Vec4_tpl GetColumn4(int i) const { assert(i < 4); F* p = (F*)(&m00); return Vec4(p[i + 4 * 0], p[i + 4 * 1], p[i + 4 * 2], p[i + 4 * 3]); } + ILINE Vec4 GetColumn4(int i) const { assert(i < 4); F* p = (F*)(&m00); return Vec4(p[i + 4 * 0], p[i + 4 * 1], p[i + 4 * 2], p[i + 4 * 3]); } ILINE Vec3 GetTranslation() const { return Vec3(m03, m13, m23); } ILINE void SetTranslation(const Vec3& t) { m03 = t.x; m13 = t.y; m23 = t.z; } @@ -792,24 +792,24 @@ ILINE Matrix44_tpl operator * (const Matrix44_tpl& l, const Matrix44_tpl } //post-multiply -template -ILINE Vec4_tpl operator*(const Matrix44_tpl& m, const Vec4_tpl& v) +template +ILINE Vec4 operator*(const Matrix44_tpl& m, const Vec4& v) { assert(m.IsValid()); assert(v.IsValid()); - return Vec4_tpl(v.x * m.m00 + v.y * m.m01 + v.z * m.m02 + v.w * m.m03, + return Vec4(v.x * m.m00 + v.y * m.m01 + v.z * m.m02 + v.w * m.m03, v.x * m.m10 + v.y * m.m11 + v.z * m.m12 + v.w * m.m13, v.x * m.m20 + v.y * m.m21 + v.z * m.m22 + v.w * m.m23, v.x * m.m30 + v.y * m.m31 + v.z * m.m32 + v.w * m.m33); } //pre-multiply -template -ILINE Vec4_tpl operator*(const Vec4_tpl& v, const Matrix44_tpl& m) +template +ILINE Vec4 operator*(const Vec4& v, const Matrix44_tpl& m) { assert(m.IsValid()); assert(v.IsValid()); - return Vec4_tpl(v.x * m.m00 + v.y * m.m10 + v.z * m.m20 + v.w * m.m30, + return Vec4(v.x * m.m00 + v.y * m.m10 + v.z * m.m20 + v.w * m.m30, v.x * m.m01 + v.y * m.m11 + v.z * m.m21 + v.w * m.m31, v.x * m.m02 + v.y * m.m12 + v.z * m.m22 + v.w * m.m32, v.x * m.m03 + v.y * m.m13 + v.z * m.m23 + v.w * m.m33); diff --git a/Code/Legacy/CryCommon/Cry_Quat.h b/Code/Legacy/CryCommon/Cry_Quat.h index a18d8a2ad9..115de36cdc 100644 --- a/Code/Legacy/CryCommon/Cry_Quat.h +++ b/Code/Legacy/CryCommon/Cry_Quat.h @@ -8,10 +8,6 @@ // Description : Common quaternion class - - -#ifndef CRYINCLUDE_CRYCOMMON_CRY_QUAT_H -#define CRYINCLUDE_CRYCOMMON_CRY_QUAT_H #pragma once #include @@ -751,41 +747,6 @@ struct Quat_tpl return d; } - - /*! - * linear-interpolation between quaternions (nlerp) - * in this case we convert the t-value into a 1d cubic spline to get closer to Slerp - * - * Example: - * Quat result,p,q; - * result.SetNlerpCubic( p, q, 0.5f ); - */ - ILINE void SetNlerpCubic(const Quat_tpl& p, const Quat_tpl& tq, F t) - { - Quat_tpl q = tq; - assert((fabs_tpl(1 - (p | p))) < 0.001); //check if unit-quaternion - assert((fabs_tpl(1 - (q | q))) < 0.001); //check if unit-quaternion - F cosine = (p | q); - if (cosine < 0) - { - q = -q; - } - F k = (1 - fabs_tpl(cosine)) * F(0.4669269); - F s = 2 * k * t * t * t - 3 * k * t * t + (1 + k) * t; - v.x = p.v.x * (1.0f - s) + q.v.x * s; - v.y = p.v.y * (1.0f - s) + q.v.y * s; - v.z = p.v.z * (1.0f - s) + q.v.z * s; - w = p.w * (1.0f - s) + q.w * s; - Normalize(); - } - ILINE static Quat_tpl CreateNlerpCubic(const Quat_tpl& p, const Quat_tpl& tq, F t) - { - Quat_tpl d; - d.SetNlerpCubic(p, tq, t); - return d; - } - - /*! * spherical-interpolation between quaternions (geometrical slerp) * @@ -836,39 +797,6 @@ struct Quat_tpl return d; } - /*! - * spherical-interpolation between quaternions (algebraic slerp_a) - * I have included this function just for the sake of completeness, because - * its the only useful application to check if exp & log really work. - * Both slerp-functions are returning the same result. - * - * Example: - * Quat result,p,q; - * result.SetExpSlerp( p,q,0.3345f ); - */ - ILINE void SetExpSlerp(const Quat_tpl& p, const Quat_tpl& tq, F t) - { - assert((fabs_tpl(1 - (p | p))) < 0.001); //check if unit-quaternion - assert((fabs_tpl(1 - (tq | tq))) < 0.001); //check if unit-quaternion - Quat_tpl q = tq; - if ((p | q) < 0) - { - q = -q; - } - *this = p * exp(log(!p * q) * t); //algebraic slerp (1) - //...and some more exp-slerp-functions producing all the same result - //*this = exp( log (p* !q) * (1-t)) * q; //algebraic slerp (2) - //*this = exp( log (q* !p) * t) * p; //algebraic slerp (3) - //*this = q * exp( log (!q*p) * (1-t)); //algebraic slerp (4) - } - ILINE static Quat_tpl CreateExpSlerp(const Quat_tpl& p, const Quat_tpl& q, F t) - { - Quat_tpl d; - d.SetExpSlerp(p, q, t); - return d; - } - - //! squad(p,a,b,q,t) = slerp( slerp(p,q,t),slerp(a,b,t), 2(1-t)t). ILINE void SetSquad(const Quat_tpl& p, const Quat_tpl& a, const Quat_tpl& b, const Quat_tpl& q, F t) { @@ -895,15 +823,7 @@ struct Quat_tpl // Typedefs // /////////////////////////////////////////////////////////////////////////////// -#ifndef MAX_API_NUM typedef Quat_tpl Quat; //always 32 bit -typedef Quat_tpl Quatd; //always 64 bit -typedef Quat_tpl Quatr; //variable float precision. depending on the target system it can be between 32, 64 or 80 bit -#endif - -typedef Quat_tpl CryQuat; -typedef Quat_tpl quaternionf; -typedef Quat_tpl quaternion; /*! * @@ -964,22 +884,6 @@ ILINE void operator *= (Quat_tpl& q, const Quat_tpl& p) q.v = p.v * s0 + q.v * p.w + (q.v % p.v); } -/*! -* Implements the multiplication operator: QuatT=Quat*Quatpos -* -* AxB = operation B followed by operation A. -* A multiplication takes 31 muls and 27 adds (=58 float operations). -* -* Example: -* Quat quat = Quat::CreateRotationX(1.94192f);; -* QuatT quatpos = QuatT::CreateRotationZ(3.14192f,Vec3(11,22,33)); -* QuatT qp = quat*quatpos; -*/ -template -ILINE QuatT_tpl operator * (const Quat_tpl& q, const QuatT_tpl& p) -{ - return QuatT_tpl(q * p.q, q * p.t); -} @@ -1154,1043 +1058,3 @@ ILINE void operator %= (Quat_tpl& q, const Quat_tpl& tp) } q = Quat_tpl(q.w + p.w, q.v + p.v); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//---------------------------------------------------------------------- -// Quaternion with translation vector -//---------------------------------------------------------------------- -template -struct QuatT_tpl -{ - Quat_tpl q; //this is the quaternion - Vec3_tpl t; //this is the translation vector and a scalar (for uniform scaling?) - - ILINE QuatT_tpl(){} - - //initialize with zeros - ILINE QuatT_tpl(type_zero) - { - q.w = 0, q.v.x = 0, q.v.y = 0, q.v.z = 0, t.x = 0, t.y = 0, t.z = 0; - } - ILINE QuatT_tpl(type_identity) - { - q.w = 1, q.v.x = 0, q.v.y = 0, q.v.z = 0, t.x = 0, t.y = 0, t.z = 0; - } - - ILINE QuatT_tpl(const Vec3_tpl& _t, const Quat_tpl& _q) { q = _q; t = _t; } - - //CONSTRUCTOR: implement the copy/casting/assignment constructor: - template - ILINE QuatT_tpl(const QuatT_tpl& qt) - : q(qt.q) - , t(qt.t) {} - - //convert unit DualQuat back to QuatT - ILINE QuatT_tpl(const DualQuat_tpl& qd) - { - //copy quaternion part - q = qd.nq; - //convert translation vector: - t = (qd.nq.w * qd.dq.v - qd.dq.w * qd.nq.v + qd.nq.v % qd.dq.v) * 2; //perfect for HLSL - } - - explicit ILINE QuatT_tpl(const QuatTS_tpl& qts) - : q(qts.q) - , t(qts.t) {} - - explicit ILINE QuatT_tpl(const Matrix34_tpl& m) - { - q = Quat_tpl(Matrix33(m)); - t = m.GetTranslation(); - } - - ILINE QuatT_tpl(const Quat_tpl& quat, const Vec3_tpl& trans) - { - q = quat; - t = trans; - } - - ILINE void SetIdentity() - { - q.w = 1; - q.v.x = 0; - q.v.y = 0; - q.v.z = 0; - t.x = 0; - t.y = 0; - t.z = 0; - } - - ILINE bool IsIdentity() const - { - return (q.IsIdentity() && t.IsZero()); - } - - /*! - * Convert three Euler angle to mat33 (rotation order:XYZ) - * The Euler angles are assumed to be in radians. - * The translation-vector is set to zero by default. - * - * Example 1: - * QuatT qp; - * qp.SetRotationXYZ( Ang3(0.5f,0.2f,0.9f), translation ); - * - * Example 2: - * QuatT qp=QuatT::CreateRotationXYZ( Ang3(0.5f,0.2f,0.9f), translation ); - */ - ILINE void SetRotationXYZ(const Ang3_tpl& rad, const Vec3_tpl& trans = Vec3(ZERO)) - { - assert(rad.IsValid()); - assert(trans.IsValid()); - q.SetRotationXYZ(rad); - t = trans; - } - ILINE static QuatT_tpl CreateRotationXYZ(const Ang3_tpl& rad, const Vec3_tpl& trans = Vec3(ZERO)) - { - assert(rad.IsValid()); - assert(trans.IsValid()); - QuatT_tpl qp; - qp.SetRotationXYZ(rad, trans); - return qp; - } - - - - ILINE void SetRotationAA(F cosha, F sinha, const Vec3_tpl axis, const Vec3_tpl& trans = Vec3(ZERO)) - { - q.SetRotationAA(cosha, sinha, axis); - t = trans; - } - ILINE static QuatT_tpl CreateRotationAA(F cosha, F sinha, const Vec3_tpl axis, const Vec3_tpl& trans = Vec3(ZERO)) - { - QuatT_tpl qt; - qt.SetRotationAA(cosha, sinha, axis, trans); - return qt; - } - - - ILINE void Invert() - { // in-place transposition - assert(q.IsValid()); - t = -t * q; - q = !q; - } - ILINE QuatT_tpl GetInverted() const - { - assert(q.IsValid()); - QuatT_tpl qpos; - qpos.q = !q; - qpos.t = -t * q; - return qpos; - } - - ILINE void SetTranslation(const Vec3_tpl& trans) { t = trans; } - - ILINE Vec3_tpl GetColumn0() const {return q.GetColumn0(); } - ILINE Vec3_tpl GetColumn1() const {return q.GetColumn1(); } - ILINE Vec3_tpl GetColumn2() const {return q.GetColumn2(); } - ILINE Vec3_tpl GetColumn3() const {return t; } - ILINE Vec3_tpl GetRow0() const { return q.GetRow0(); } - ILINE Vec3_tpl GetRow1() const { return q.GetRow1(); } - ILINE Vec3_tpl GetRow2() const { return q.GetRow2(); } - - ILINE static bool IsEquivalent(const QuatT_tpl& qt1, const QuatT_tpl& qt2, F qe = RAD_EPSILON, F ve = VEC_EPSILON) - { - real rad = acos(min(1.0f, fabs_tpl(qt1.q | qt2.q))); - bool qdif = rad <= qe; - bool vdif = fabs_tpl(qt1.t.x - qt2.t.x) <= ve && fabs_tpl(qt1.t.y - qt2.t.y) <= ve && fabs_tpl(qt1.t.z - qt2.t.z) <= ve; - return (qdif && vdif); - } - - ILINE bool IsValid() const - { - if (!t.IsValid()) - { - return false; - } - if (!q.IsValid()) - { - return false; - } - return true; - } - - /*! - * linear-interpolation between quaternions (lerp) - * - * Example: - * CQuaternion result,p,q; - * result=qlerp( p, q, 0.5f ); - */ - ILINE void SetNLerp(const QuatT_tpl& p, const QuatT_tpl& tq, F ti) - { - assert(p.q.IsValid()); - assert(tq.q.IsValid()); - Quat_tpl d = tq.q; - if ((p.q | d) < 0) - { - d = -d; - } - Vec3_tpl vDiff = d.v - p.q.v; - q.v = p.q.v + (vDiff * ti); - q.w = p.q.w + ((d.w - p.q.w) * ti); - q.Normalize(); - vDiff = tq.t - p.t; - t = p.t + (vDiff * ti); - } - ILINE static QuatT_tpl CreateNLerp(const QuatT_tpl& p, const QuatT_tpl& q, F t) - { - QuatT_tpl d; - d.SetNLerp(p, q, t); - return d; - } - - //NOTE: all vectors are stored in columns - ILINE void SetFromVectors(const Vec3& vx, const Vec3& vy, const Vec3& vz, const Vec3& pos) - { - Matrix34 m34; - m34.m00 = vx.x; - m34.m01 = vy.x; - m34.m02 = vz.x; - m34.m03 = pos.x; - m34.m10 = vx.y; - m34.m11 = vy.y; - m34.m12 = vz.y; - m34.m13 = pos.y; - m34.m20 = vx.z; - m34.m21 = vy.z; - m34.m22 = vz.z; - m34.m23 = pos.z; - *this = QuatT_tpl(m34); - } - ILINE static QuatT_tpl CreateFromVectors(const Vec3_tpl& vx, const Vec3_tpl& vy, const Vec3_tpl& vz, const Vec3_tpl& pos) - { - QuatT_tpl qt; - qt.SetFromVectors(vx, vy, vz, pos); - return qt; - } - - QuatT_tpl GetScaled(F scale) - { - return QuatT_tpl(t * scale, q.GetScaled(scale)); - } -}; - -typedef QuatT_tpl QuatT; //always 32 bit -typedef QuatT_tpl QuatTd;//always 64 bit -typedef QuatT_tpl QuatTr;//variable float precision. depending on the target system it can be between 32, 64 or bit - -/*! -* -* Implements the multiplication operator: QuatT=Quatpos*Quat -* -* AxB = operation B followed by operation A. -* A multiplication takes 16 muls and 12 adds (=28 float operations). -* -* Example: -* Quat quat = Quat::CreateRotationX(1.94192f);; -* QuatT quatpos = QuatT::CreateRotationZ(3.14192f,Vec3(11,22,33)); -* QuatT qp = quatpos*quat; -*/ -template -ILINE QuatT_tpl operator * (const QuatT_tpl& p, const Quat_tpl& q) -{ - assert(p.IsValid()); - assert(q.IsValid()); - return QuatT_tpl(p.q * q, p.t); -} - -/*! -* Implements the multiplication operator: QuatT=QuatposA*QuatposB -* -* AxB = operation B followed by operation A. -* A multiplication takes 31 muls and 30 adds (=61 float operations). -* -* Example: -* QuatT quatposA = QuatT::CreateRotationX(1.94192f,Vec3(77,55,44)); -* QuatT quatposB = QuatT::CreateRotationZ(3.14192f,Vec3(11,22,33)); -* QuatT qp = quatposA*quatposB; -*/ -template -ILINE QuatT_tpl operator * (const QuatT_tpl& q, const QuatT_tpl& p) -{ - assert(q.IsValid()); - assert(p.IsValid()); - return QuatT_tpl(q.q * p.q, q.q * p.t + q.t); -} - - - -/*! -* post-multiply of a QuatT and a Vec3 (3D rotations with quaternions) -* -* Example: -* Quat q(1,0,0,0); -* Vec3 v(33,44,55); -* Vec3 result = q*v; -*/ -template -Vec3_tpl operator * (const QuatT_tpl& q, const Vec3_tpl& v) -{ - assert(v.IsValid()); - assert(q.IsValid()); - //muls=15 / adds=15+3 - Vec3_tpl out, r2; - r2.x = (q.q.v.y * v.z - q.q.v.z * v.y) + q.q.w * v.x; - r2.y = (q.q.v.z * v.x - q.q.v.x * v.z) + q.q.w * v.y; - r2.z = (q.q.v.x * v.y - q.q.v.y * v.x) + q.q.w * v.z; - out.x = (r2.z * q.q.v.y - r2.y * q.q.v.z); - out.x += out.x + v.x + q.t.x; - out.y = (r2.x * q.q.v.z - r2.z * q.q.v.x); - out.y += out.y + v.y + q.t.y; - out.z = (r2.y * q.q.v.x - r2.x * q.q.v.y); - out.z += out.z + v.z + q.t.z; - return out; -} - - - - - - - - - - - - - - - - -//---------------------------------------------------------------------- -// Quaternion with translation vector and scale -// Similar to QuatT, but s is not ignored. -// Most functions then differ, so we don't inherit. -//---------------------------------------------------------------------- -template -struct QuatTS_tpl -{ - Quat_tpl q; - Vec3_tpl t; - F s; - - //constructors -#if defined(_DEBUG) - ILINE QuatTS_tpl() - { - if constexpr (sizeof(F) == 4) - { - uint32* p = alias_cast(&q.v.x); - p[0] = F32NAN; - p[1] = F32NAN; - p[2] = F32NAN; - p[3] = F32NAN; - p[4] = F32NAN; - p[5] = F32NAN; - p[6] = F32NAN; - p[7] = F32NAN; - } - if constexpr (sizeof(F) == 8) - { - uint64* p = alias_cast(&q.v.x); - p[0] = F64NAN; - p[1] = F64NAN; - p[2] = F64NAN; - p[3] = F64NAN; - p[4] = F64NAN; - p[5] = F64NAN; - p[6] = F64NAN; - p[7] = F64NAN; - } - } -#else - ILINE QuatTS_tpl(){} -#endif - - ILINE QuatTS_tpl(const Quat_tpl& quat, const Vec3_tpl& trans, F scale = 1) { q = quat; t = trans; s = scale; } - ILINE QuatTS_tpl(type_identity) { SetIdentity(); } - - //CONSTRUCTOR: implement the copy/casting/assignment constructor: - template - ILINE QuatTS_tpl(const QuatTS_tpl& qts) - : q(qts.q) - , t(qts.t) - , s(qts.s) {} - - ILINE QuatTS_tpl& operator = (const QuatT_tpl& qt) - { - q = qt.q; - t = qt.t; - s = 1.0f; - return *this; - } - ILINE QuatTS_tpl(const QuatT_tpl& qp) { q = qp.q; t = qp.t; s = 1.0f; } - - - ILINE void SetIdentity() - { - q.SetIdentity(); - t = Vec3(ZERO); - s = 1; - } - - explicit ILINE QuatTS_tpl(const Matrix34_tpl& m) - { - t = m.GetTranslation(); - - // The determinant of a matrix is the volume spanned by its base vectors. - // We need an approximate length scale, so we calculate the cube root of the determinant. - s = pow(m.Determinant(), F(1.0 / 3.0)); - - // Orthonormalize using X and Z as anchors. - const Vec3_tpl& r0 = m.GetRow(0); - const Vec3_tpl& r2 = m.GetRow(2); - - const Vec3_tpl v0 = r0.GetNormalized(); - const Vec3_tpl v1 = (r2 % r0).GetNormalized(); - const Vec3_tpl v2 = (v0 % v1); - - Matrix33_tpl m3; - m3.SetRow(0, v0); - m3.SetRow(1, v1); - m3.SetRow(2, v2); - - q = Quat_tpl(m3); - } - - void Invert() - { - s = 1 / s; - q = !q; - t = q * t * -s; - } - QuatTS_tpl GetInverted() const - { - QuatTS_tpl inv; - inv.s = 1 / s; - inv.q = !q; - inv.t = inv.q * t * -inv.s; - return inv; - } - - - /*! - * linear-interpolation between quaternions (nlerp) - * - * Example: - * CQuaternion result,p,q; - * result=qlerp( p, q, 0.5f ); - */ - ILINE void SetNLerp(const QuatTS_tpl& p, const QuatTS_tpl& tq, F ti) - { - assert(p.q.IsValid()); - assert(tq.q.IsValid()); - Quat_tpl d = tq.q; - if ((p.q | d) < 0) - { - d = -d; - } - Vec3_tpl vDiff = d.v - p.q.v; - q.v = p.q.v + (vDiff * ti); - q.w = p.q.w + ((d.w - p.q.w) * ti); - q.Normalize(); - - vDiff = tq.t - p.t; - t = p.t + (vDiff * ti); - - s = p.s + ((tq.s - p.s) * ti); - } - - ILINE static QuatTS_tpl CreateNLerp(const QuatTS_tpl& p, const QuatTS_tpl& q, F t) - { - QuatTS_tpl d; - d.SetNLerp(p, q, t); - return d; - } - - - - ILINE static bool IsEquivalent(const QuatTS_tpl& qts1, const QuatTS_tpl& qts2, F qe = RAD_EPSILON, F ve = VEC_EPSILON) - { - f64 rad = acos(min(1.0f, fabs_tpl(qts1.q | qts2.q))); - bool qdif = rad <= qe; - bool vdif = fabs_tpl(qts1.t.x - qts2.t.x) <= ve && fabs_tpl(qts1.t.y - qts2.t.y) <= ve && fabs_tpl(qts1.t.z - qts2.t.z) <= ve; - bool sdif = fabs_tpl(qts1.s - qts2.s) <= ve; - return (qdif && vdif && sdif); - } - - - bool IsValid(F e = VEC_EPSILON) const - { - if (!q.v.IsValid()) - { - return false; - } - if (!NumberValid(q.w)) - { - return false; - } - if (!q.IsUnit(e)) - { - return false; - } - if (!t.IsValid()) - { - return false; - } - if (!NumberValid(s)) - { - return false; - } - return true; - } - - ILINE Vec3_tpl GetColumn0() const {return q.GetColumn0(); } - ILINE Vec3_tpl GetColumn1() const {return q.GetColumn1(); } - ILINE Vec3_tpl GetColumn2() const {return q.GetColumn2(); } - ILINE Vec3_tpl GetColumn3() const {return t; } - ILINE Vec3_tpl GetRow0() const { return q.GetRow0(); } - ILINE Vec3_tpl GetRow1() const { return q.GetRow1(); } - ILINE Vec3_tpl GetRow2() const { return q.GetRow2(); } -}; - -typedef QuatTS_tpl QuatTS; //always 64 bit -typedef QuatTS_tpl QuatTSd;//always 64 bit -typedef QuatTS_tpl QuatTSr;//variable float precision. depending on the target system it can be between 32, 64 or 80 bit - -template -ILINE QuatTS_tpl operator * (const QuatTS_tpl& a, const Quat_tpl& b) -{ - return QuatTS_tpl(a.q * b, a.t, a.s); -} - - -template -ILINE QuatTS_tpl operator * (const QuatTS_tpl& a, const QuatT_tpl& b) -{ - return QuatTS_tpl(a.q * b.q, a.q * (b.t * a.s) + a.t, a.s); -} -template -ILINE QuatTS_tpl operator * (const QuatT_tpl& a, const QuatTS_tpl& b) -{ - return QuatTS_tpl(a.q * b.q, a.q * b.t + a.t, b.s); -} -template -ILINE QuatTS_tpl operator * (const Quat_tpl& a, const QuatTS_tpl& b) -{ - return QuatTS_tpl(a * b.q, a * b.t, b.s); -} - -/*! -* Implements the multiplication operator: QuatTS=QuatTS*QuatTS -*/ -template -ILINE QuatTS_tpl operator * (const QuatTS_tpl& a, const QuatTS_tpl& b) -{ - assert(a.IsValid()); - assert(b.IsValid()); - return QuatTS_tpl(a.q * b.q, a.q * (b.t * a.s) + a.t, a.s * b.s); -} - -/*! -* post-multiply of a QuatT and a Vec3 (3D rotations with quaternions) -*/ -template -ILINE Vec3_tpl operator * (const QuatTS_tpl& q, const Vec3_tpl& v) -{ - assert(q.IsValid()); - assert(v.IsValid()); - return q.q * v * q.s + q.t; -} - - -//---------------------------------------------------------------------- -// Quaternion with translation vector and non-uniform scale -//---------------------------------------------------------------------- -template -struct QuatTNS_tpl -{ - Quat_tpl q; - Vec3_tpl t; - Vec3_tpl s; - - //constructors -#if defined(_DEBUG) - ILINE QuatTNS_tpl() - { - if constexpr (sizeof(F) == 4) - { - uint32* p = alias_cast(&q.v.x); - p[0] = F32NAN; - p[1] = F32NAN; - p[2] = F32NAN; - p[3] = F32NAN; - p[4] = F32NAN; - p[5] = F32NAN; - p[6] = F32NAN; - p[7] = F32NAN; - p[8] = F32NAN; - p[9] = F32NAN; - } - if constexpr (sizeof(F) == 8) - { - uint64* p = alias_cast(&q.v.x); - p[0] = F64NAN; - p[1] = F64NAN; - p[2] = F64NAN; - p[3] = F64NAN; - p[4] = F64NAN; - p[5] = F64NAN; - p[6] = F64NAN; - p[7] = F64NAN; - p[8] = F64NAN; - p[9] = F64NAN; - } - } -#else - ILINE QuatTNS_tpl() {}; -#endif - - ILINE QuatTNS_tpl(const Quat_tpl& quat, const Vec3_tpl& trans, const Vec3_tpl& scale = Vec3_tpl(1)) { q = quat; t = trans; s = scale; } - ILINE QuatTNS_tpl(type_identity) { SetIdentity(); } - - //CONSTRUCTOR: implement the copy/casting/assignment constructor: - template - ILINE QuatTNS_tpl(const QuatTS_tpl& qts) - : q(qts.q) - , t(qts.t) - , s(qts.s) - { - } - - ILINE QuatTNS_tpl& operator = (const QuatT_tpl& qt) - { - q = qt.q; - t = qt.t; - s = Vec3_tpl(1); - return *this; - } - ILINE QuatTNS_tpl(const QuatT_tpl& qp) { q = qp.q; t = qp.t; s = Vec3_tpl(1); } - - - ILINE void SetIdentity() - { - q.SetIdentity(); - t = Vec3_tpl(ZERO); - s = Vec3_tpl(1); - } - - explicit ILINE QuatTNS_tpl(const Matrix34_tpl& m) - { - t = m.GetTranslation(); - - // Lengths of base vectors equates to scaling in matrix - s.x = m.GetColumn0().GetLength(); - s.y = m.GetColumn1().GetLength(); - s.z = m.GetColumn2().GetLength(); - - // Orthonormalize using X and Z as anchors. - const Vec3_tpl& r0 = m.GetRow(0); - const Vec3_tpl& r2 = m.GetRow(2); - - const Vec3_tpl v0 = r0.GetNormalized(); - const Vec3_tpl v1 = (r2 % r0).GetNormalized(); - const Vec3_tpl v2 = (v0 % v1); - - Matrix33_tpl m3; - m3.SetRow(0, v0); - m3.SetRow(1, v1); - m3.SetRow(2, v2); - - q = Quat_tpl(m3); - } - - void Invert() - { - s = Vec3_tpl(1) / s; - q = !q; - t = q * t * -s; - } - QuatTNS_tpl GetInverted() const - { - QuatTNS_tpl inv; - inv.s = Vec3_tpl(1) / s; - inv.q = !q; - inv.t = inv.q * t * -inv.s; - return inv; - } - - - /*! - * linear-interpolation between quaternions (nlerp) - * - * Example: - * CQuaternion result,p,q; - * result=qlerp( p, q, 0.5f ); - */ - ILINE void SetNLerp(const QuatTNS_tpl& p, const QuatTNS_tpl& tq, F ti) - { - assert(p.q.IsValid()); - assert(tq.q.IsValid()); - Quat_tpl d = tq.q; - if ((p.q | d) < 0) - { - d = -d; - } - Vec3_tpl vDiff = d.v - p.q.v; - q.v = p.q.v + (vDiff * ti); - q.w = p.q.w + ((d.w - p.q.w) * ti); - q.Normalize(); - - vDiff = tq.t - p.t; - t = p.t + (vDiff * ti); - - s = p.s + ((tq.s - p.s) * ti); - } - - ILINE static QuatTNS_tpl CreateNLerp(const QuatTNS_tpl& p, const QuatTNS_tpl& q, F t) - { - QuatTNS_tpl d; - d.SetNLerp(p, q, t); - return d; - } - - - - ILINE static bool IsEquivalent(const QuatTNS_tpl& qts1, const QuatTNS_tpl& qts2, F qe = RAD_EPSILON, F ve = VEC_EPSILON) - { - real rad = acos(min(1.0f, fabs_tpl(qts1.q | qts2.q))); - bool qdif = rad <= qe; - bool vdif = fabs_tpl(qts1.t.x - qts2.t.x) <= ve && fabs_tpl(qts1.t.y - qts2.t.y) <= ve && fabs_tpl(qts1.t.z - qts2.t.z) <= ve; - bool sdif = fabs_tpl(qts1.s.x - qts2.s.x) <= ve && fabs_tpl(qts1.s.y - qts2.s.y) <= ve && fabs_tpl(qts1.s.z - qts2.s.z) <= ve; - return (qdif && vdif && sdif); - } - - - bool IsValid(F e = VEC_EPSILON) const - { - if (!q.v.IsValid()) - { - return false; - } - if (!NumberValid(q.w)) - { - return false; - } - if (!q.IsUnit(e)) - { - return false; - } - if (!t.IsValid()) - { - return false; - } - if (!NumberValid(s.x)) - { - return false; - } - if (!NumberValid(s.y)) - { - return false; - } - if (!NumberValid(s.z)) - { - return false; - } - return true; - } - - ILINE Vec3_tpl GetColumn0() const {return q.GetColumn0(); } - ILINE Vec3_tpl GetColumn1() const {return q.GetColumn1(); } - ILINE Vec3_tpl GetColumn2() const {return q.GetColumn2(); } - ILINE Vec3_tpl GetColumn3() const {return t; } - ILINE Vec3_tpl GetRow0() const { return q.GetRow0(); } - ILINE Vec3_tpl GetRow1() const { return q.GetRow1(); } - ILINE Vec3_tpl GetRow2() const { return q.GetRow2(); } -}; - -typedef QuatTNS_tpl QuatTNS; -typedef QuatTNS_tpl QuatTNSr; -typedef QuatTNS_tpl QuatTNS_f64; - -template -ILINE QuatTNS_tpl operator * (const QuatTNS_tpl& a, const Quat_tpl& b) -{ - return QuatTNS_tpl(a.q * b, a.t, a.s); -} - -template -ILINE QuatTNS_tpl operator * (const Quat_tpl& a, const QuatTNS_tpl& b) -{ - return QuatTNS_tpl(a * b.q, a * b.t, b.s); -} - -template -ILINE QuatTNS_tpl operator * (const QuatTNS_tpl& a, const QuatT_tpl& b) -{ - return QuatTNS_tpl(a.q * b.q, a.q * Vec3_tpl(b.x * a.s.x, b.y * a.s.y, b.z * a.s.z) + a.t, a.s); -} - -template -ILINE QuatTNS_tpl operator * (const QuatT_tpl& a, const QuatTNS_tpl& b) -{ - return QuatTNS_tpl(a.q * b.q, a.q * b.t + a.t, b.s); -} - -/*! -* Implements the multiplication operator: QuatTNS=QuatTNS*QuatTNS -*/ -template -ILINE QuatTNS_tpl operator * (const QuatTNS_tpl& a, const QuatTNS_tpl& b) -{ - assert(a.IsValid()); - assert(b.IsValid()); - return QuatTNS_tpl( - a.q * b.q, - a.q * Vec3_tpl(b.t.x * a.s.x, b.t.y * a.s.y, b.t.z * a.s.z) + a.t, - Vec3_tpl(a.s.x * b.s.x, a.s.y * b.s.y, a.s.z * b.s.z) - ); -} - -/*! -* post-multiply of a QuatTNS and a Vec3 (3D rotations with quaternions) -*/ -template -ILINE Vec3_tpl operator * (const QuatTNS_tpl& q, const Vec3_tpl& v) -{ - assert(q.IsValid()); - assert(v.IsValid()); - return q.q * Vec3_tpl(v.x * q.s.x, v.y * q.s.y, v.z * q.s.z) + q.t; -} - -//---------------------------------------------------------------------- -// Dual Quaternion -//---------------------------------------------------------------------- -template -struct DualQuat_tpl -{ - Quat_tpl nq; - Quat_tpl dq; - - ILINE DualQuat_tpl() {} - - ILINE DualQuat_tpl(const Quat_tpl& q, const Vec3_tpl& t) - { - //copy the quaternion part - nq = q; - //convert the translation into a dual quaternion part - dq.w = -0.5f * (t.x * q.v.x + t.y * q.v.y + t.z * q.v.z); - dq.v.x = 0.5f * (t.x * q.w + t.y * q.v.z - t.z * q.v.y); - dq.v.y = 0.5f * (-t.x * q.v.z + t.y * q.w + t.z * q.v.x); - dq.v.z = 0.5f * (t.x * q.v.y - t.y * q.v.x + t.z * q.w); - } - - ILINE DualQuat_tpl(const QuatT_tpl& qt) - { - //copy the quaternion part - nq = qt.q; - //convert the translation into a dual quaternion part - dq.w = -0.5f * (qt.t.x * qt.q.v.x + qt.t.y * qt.q.v.y + qt.t.z * qt.q.v.z); - dq.v.x = 0.5f * (qt.t.x * qt.q.w - qt.t.z * qt.q.v.y + qt.t.y * qt.q.v.z); - dq.v.y = 0.5f * (qt.t.y * qt.q.w - qt.t.x * qt.q.v.z + qt.t.z * qt.q.v.x); - dq.v.z = 0.5f * (qt.t.x * qt.q.v.y - qt.t.y * qt.q.v.x + qt.t.z * qt.q.w); - } - - explicit ILINE DualQuat_tpl( const Matrix34_tpl& m34 ) - { - // non-dual part (just copy q0): - nq = Quat_tpl(m34); - f32 tx = m34.m03; - f32 ty = m34.m13; - f32 tz = m34.m23; - - // dual part: - dq.w = -0.5f * (tx * nq.v.x + ty * nq.v.y + tz * nq.v.z); - dq.v.x = 0.5f * (tx * nq.w + ty * nq.v.z - tz * nq.v.y); - dq.v.y = 0.5f * (-tx * nq.v.z + ty * nq.w + tz * nq.v.x); - dq.v.z = 0.5f * (tx * nq.v.y - ty * nq.v.x + tz * nq.w); - } - - - ILINE DualQuat_tpl(type_identity) - { - SetIdentity(); - } - - ILINE DualQuat_tpl(type_zero) - { - SetZero(); - } - - template - ILINE DualQuat_tpl(const DualQuat_tpl& QDual) - : nq(QDual.nq) - , dq(QDual.dq) {} - - ILINE void SetIdentity() - { - nq.SetIdentity(); - dq.w = 0.0f; - dq.v.x = 0.0f; - dq.v.y = 0.0f; - dq.v.z = 0.0f; - } - - ILINE void SetZero() - { - nq.w = 0.0f; - nq.v.x = 0.0f; - nq.v.y = 0.0f; - nq.v.z = 0.0f; - dq.w = 0.0f; - dq.v.x = 0.0f; - dq.v.y = 0.0f; - dq.v.z = 0.0f; - } - - ILINE void Normalize() - { - // Normalize both components so that nq is unit - F norm = isqrt_safe_tpl(nq.v.len2() + sqr(nq.w)); - nq *= norm; - dq *= norm; - } -}; - -#ifndef MAX_API_NUM -typedef DualQuat_tpl DualQuat; //always 32 bit -typedef DualQuat_tpl DualQuatd;//always 64 bit -typedef DualQuat_tpl DualQuatr;//variable float precision. depending on the target system it can be between 32, 64 or 80 bit -#else -typedef DualQuat_tpl CryDualQuat; -#endif - -template -ILINE DualQuat_tpl operator*(const DualQuat_tpl& l, const F2 r) -{ - DualQuat_tpl dual; - dual.nq.w = l.nq.w * r; - dual.nq.v.x = l.nq.v.x * r; - dual.nq.v.y = l.nq.v.y * r; - dual.nq.v.z = l.nq.v.z * r; - - dual.dq.w = l.dq.w * r; - dual.dq.v.x = l.dq.v.x * r; - dual.dq.v.y = l.dq.v.y * r; - dual.dq.v.z = l.dq.v.z * r; - return dual; -} - -template -ILINE DualQuat_tpl operator+(const DualQuat_tpl& l, const DualQuat_tpl& r) -{ - DualQuat_tpl dual; - dual.nq.w = l.nq.w + r.nq.w; - dual.nq.v.x = l.nq.v.x + r.nq.v.x; - dual.nq.v.y = l.nq.v.y + r.nq.v.y; - dual.nq.v.z = l.nq.v.z + r.nq.v.z; - - dual.dq.w = l.dq.w + r.dq.w; - dual.dq.v.x = l.dq.v.x + r.dq.v.x; - dual.dq.v.y = l.dq.v.y + r.dq.v.y; - dual.dq.v.z = l.dq.v.z + r.dq.v.z; - return dual; -} - -template -ILINE void operator += (DualQuat_tpl& l, const DualQuat_tpl& r) -{ - l.nq.w += r.nq.w; - l.nq.v.x += r.nq.v.x; - l.nq.v.y += r.nq.v.y; - l.nq.v.z += r.nq.v.z; - - l.dq.w += r.dq.w; - l.dq.v.x += r.dq.v.x; - l.dq.v.y += r.dq.v.y; - l.dq.v.z += r.dq.v.z; -} - -template -ILINE Vec3_tpl operator*(const DualQuat_tpl& dq, const Vec3_tpl& v) -{ - F2 t; - const F2 ax = dq.nq.v.y * v.z - dq.nq.v.z * v.y + dq.nq.w * v.x; - const F2 ay = dq.nq.v.z * v.x - dq.nq.v.x * v.z + dq.nq.w * v.y; - const F2 az = dq.nq.v.x * v.y - dq.nq.v.y * v.x + dq.nq.w * v.z; - F2 x = dq.dq.v.x * dq.nq.w - dq.nq.v.x * dq.dq.w + dq.nq.v.y * dq.dq.v.z - dq.nq.v.z * dq.dq.v.y; - x += x; - t = (az * dq.nq.v.y - ay * dq.nq.v.z); - x += t + t + v.x; - F2 y = dq.dq.v.y * dq.nq.w - dq.nq.v.y * dq.dq.w + dq.nq.v.z * dq.dq.v.x - dq.nq.v.x * dq.dq.v.z; - y += y; - t = (ax * dq.nq.v.z - az * dq.nq.v.x); - y += t + t + v.y; - F2 z = dq.dq.v.z * dq.nq.w - dq.nq.v.z * dq.dq.w + dq.nq.v.x * dq.dq.v.y - dq.nq.v.y * dq.dq.v.x; - z += z; - t = (ay * dq.nq.v.x - ax * dq.nq.v.y); - z += t + t + v.z; - return Vec3_tpl(x, y, z); -} - -template -ILINE DualQuat_tpl operator*(const DualQuat_tpl& a, const DualQuat_tpl& b) -{ - DualQuat_tpl dual; - - dual.nq.v.x = a.nq.v.y * b.nq.v.z - a.nq.v.z * b.nq.v.y + a.nq.w * b.nq.v.x + a.nq.v.x * b.nq.w; - dual.nq.v.y = a.nq.v.z * b.nq.v.x - a.nq.v.x * b.nq.v.z + a.nq.w * b.nq.v.y + a.nq.v.y * b.nq.w; - dual.nq.v.z = a.nq.v.x * b.nq.v.y - a.nq.v.y * b.nq.v.x + a.nq.w * b.nq.v.z + a.nq.v.z * b.nq.w; - dual.nq.w = a.nq.w * b.nq.w - (a.nq.v.x * b.nq.v.x + a.nq.v.y * b.nq.v.y + a.nq.v.z * b.nq.v.z); - - //dual.dq = a.nq*b.dq + a.dq*b.nq; - dual.dq.v.x = a.nq.v.y * b.dq.v.z - a.nq.v.z * b.dq.v.y + a.nq.w * b.dq.v.x + a.nq.v.x * b.dq.w; - dual.dq.v.y = a.nq.v.z * b.dq.v.x - a.nq.v.x * b.dq.v.z + a.nq.w * b.dq.v.y + a.nq.v.y * b.dq.w; - dual.dq.v.z = a.nq.v.x * b.dq.v.y - a.nq.v.y * b.dq.v.x + a.nq.w * b.dq.v.z + a.nq.v.z * b.dq.w; - dual.dq.w = a.nq.w * b.dq.w - (a.nq.v.x * b.dq.v.x + a.nq.v.y * b.dq.v.y + a.nq.v.z * b.dq.v.z); - - dual.dq.v.x += a.dq.v.y * b.nq.v.z - a.dq.v.z * b.nq.v.y + a.dq.w * b.nq.v.x + a.dq.v.x * b.nq.w; - dual.dq.v.y += a.dq.v.z * b.nq.v.x - a.dq.v.x * b.nq.v.z + a.dq.w * b.nq.v.y + a.dq.v.y * b.nq.w; - dual.dq.v.z += a.dq.v.x * b.nq.v.y - a.dq.v.y * b.nq.v.x + a.dq.w * b.nq.v.z + a.dq.v.z * b.nq.w; - dual.dq.w += a.dq.w * b.nq.w - (a.dq.v.x * b.nq.v.x + a.dq.v.y * b.nq.v.y + a.dq.v.z * b.nq.v.z); - - return dual; -} - - -#endif // CRYINCLUDE_CRYCOMMON_CRY_QUAT_H - - diff --git a/Code/Legacy/CryCommon/Cry_Vector2.h b/Code/Legacy/CryCommon/Cry_Vector2.h index a8722c1b02..81a8c10e49 100644 --- a/Code/Legacy/CryCommon/Cry_Vector2.h +++ b/Code/Legacy/CryCommon/Cry_Vector2.h @@ -302,21 +302,13 @@ struct Vec2_tpl /////////////////////////////////////////////////////////////////////////////// typedef Vec2_tpl Vec2; // always 32 bit -typedef Vec2_tpl Vec2d; // always 64 bit typedef Vec2_tpl Vec2i; -typedef Vec2_tpl Vec2ui; -typedef Vec2_tpl Vec2r; // variable float precision. depending on the target system it can be 32, 64 or 80 bit -typedef Vec2_tpl vector2f; #if defined(LINUX64) typedef Vec2_tpl vector2l; #else typedef Vec2_tpl vector2l; #endif -typedef Vec2_tpl vector2df; -typedef Vec2_tpl vector2d; -typedef Vec2_tpl vector2di; -typedef Vec2_tpl vector2dui; template Vec2_tpl operator*(F op1, const Vec2_tpl& op2) {return Vec2_tpl(op1 * op2.x, op1 * op2.y); } diff --git a/Code/Legacy/CryCommon/Cry_Vector3.h b/Code/Legacy/CryCommon/Cry_Vector3.h index bd1cc11430..f627c788f6 100644 --- a/Code/Legacy/CryCommon/Cry_Vector3.h +++ b/Code/Legacy/CryCommon/Cry_Vector3.h @@ -178,21 +178,6 @@ struct Vec3_tpl assert(IsValid()); } - explicit ILINE Vec3_tpl(const Vec4_tpl &v) { - x = F(v.x); - y = F(v.y); - z = F(v.z); - } - template - explicit ILINE Vec3_tpl(const Vec4_tpl &v) { - x = F(v.x); - y = F(v.y); - z = F(v.z); - } - - - - /*! * overloaded arithmetic operator * @@ -847,6 +832,8 @@ struct Vec3_tpl } }; +using Vec3i = Vec3_tpl; + // dot product (2 versions) template ILINE F1 operator * (const Vec3_tpl& v0, const Vec3_tpl& v1) @@ -943,15 +930,6 @@ ILINE bool IsEquivalent(const Vec3_tpl& v0, const Vec3_tpl& v1, f32 epsilo /////////////////////////////////////////////////////////////////////////////// typedef Vec3_tpl Vec3; // always 32 bit -typedef Vec3_tpl Vec3d; // always 64 bit -typedef Vec3_tpl Vec3i; -typedef Vec3_tpl Vec3ui; -typedef Vec3_tpl Vec3r; // variable float precision. depending on the target system it can be 32, 64 or 80 bit - -template<> -inline Vec3_tpl::Vec3_tpl(type_min) { x = y = z = -1.7E308; } -template<> -inline Vec3_tpl::Vec3_tpl(type_max) { x = y = z = 1.7E308; } template<> inline Vec3_tpl::Vec3_tpl(type_min) { x = y = z = -3.3E38f; } template<> @@ -1176,8 +1154,6 @@ struct Ang3_tpl }; typedef Ang3_tpl Ang3; -typedef Ang3_tpl Ang3r; -typedef Ang3_tpl Ang3_f64; //--------------------------------------- @@ -1251,7 +1227,6 @@ struct AngleAxis_tpl }; typedef AngleAxis_tpl AngleAxis; -typedef AngleAxis_tpl AngleAxis_f64; template ILINE const Vec3_tpl AngleAxis_tpl::operator * (const Vec3_tpl& v) const @@ -1260,22 +1235,6 @@ ILINE const Vec3_tpl AngleAxis_tpl::operator * (const Vec3_tpl& v) cons return origin + (v - origin) * cos_tpl(angle) + (axis % v) * sin_tpl(angle); } - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////// template struct Plane_tpl @@ -1405,8 +1364,6 @@ struct Plane_tpl }; typedef Plane_tpl Plane; //always 32 bit -typedef Plane_tpl Planed;//always 64 bit -typedef Plane_tpl Planer;//variable float precision. depending on the target system it can be between 32, 64 or 80 bit // declare common constants. Must be done after the class for compiler conformance diff --git a/Code/Legacy/CryCommon/Cry_Vector4.h b/Code/Legacy/CryCommon/Cry_Vector4.h index bbb3395fb3..ddb4bf5ffe 100644 --- a/Code/Legacy/CryCommon/Cry_Vector4.h +++ b/Code/Legacy/CryCommon/Cry_Vector4.h @@ -5,37 +5,31 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ - - // Description : Common vector class - - #pragma once - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -// class Vec4_tpl +// class Vec4 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -template -struct Vec4_tpl +struct Vec4 { - typedef F value_type; + using value_type = f32; enum { component_count = 4 }; - F x, y, z, w; + f32 x, y, z, w; #if defined(_DEBUG) - ILINE Vec4_tpl() + ILINE Vec4() { - if constexpr (sizeof(F) == 4) + if constexpr (sizeof(f32) == 4) { uint32* p = alias_cast(&x); p[0] = F32NAN; @@ -43,49 +37,25 @@ struct Vec4_tpl p[2] = F32NAN; p[3] = F32NAN; } - if constexpr (sizeof(F) == 8) - { - uint64* p = alias_cast(&x); - p[0] = F64NAN; - p[1] = F64NAN; - p[2] = F64NAN; - p[3] = F64NAN; - } } #else - ILINE Vec4_tpl() {} + ILINE Vec4() {} #endif - template - ILINE Vec4_tpl& operator = (const Vec4_tpl& v1) - { - x = F(v1.x); - y = F(v1.y); - z = F(v1.z); - w = F(v1.w); - return (*this); - } + ILINE Vec4(f32 vx, f32 vy, f32 vz, f32 vw) { x = vx; y = vy; z = vz; w = vw; } + ILINE Vec4(const Vec3_tpl& v, f32 vw) { x = v.x; y = v.y; z = v.z; w = vw; } + explicit ILINE Vec4(f32 m) { x = y = z = w = m; } + ILINE Vec4(type_zero) { x = y = z = w = f32(0); } - ILINE Vec4_tpl(F vx, F vy, F vz, F vw) { x = vx; y = vy; z = vz; w = vw; } - ILINE Vec4_tpl(const Vec3_tpl& v, F vw) { x = v.x; y = v.y; z = v.z; w = vw; } - explicit ILINE Vec4_tpl(F m) { x = y = z = w = m; } - ILINE Vec4_tpl(type_zero) { x = y = z = w = F(0); } + ILINE void operator () (f32 vx, f32 vy, f32 vz, f32 vw) { x = vx; y = vy; z = vz; w = vw; } + ILINE void operator () (const Vec3_tpl& v, f32 vw) { x = v.x; y = v.y; z = v.z; w = vw; } - ILINE void operator () (F vx, F vy, F vz, F vw) { x = vx; y = vy; z = vz; w = vw; } - ILINE void operator () (const Vec3_tpl& v, F vw) { x = v.x; y = v.y; z = v.z; w = vw; } + ILINE f32& operator [] (int index) { assert(index >= 0 && index <= 3); return ((f32*)this)[index]; } + ILINE f32 operator [] (int index) const { assert(index >= 0 && index <= 3); return ((f32*)this)[index]; } - ILINE F& operator [] (int index) { assert(index >= 0 && index <= 3); return ((F*)this)[index]; } - ILINE F operator [] (int index) const { assert(index >= 0 && index <= 3); return ((F*)this)[index]; } - template - ILINE Vec4_tpl(const Vec4_tpl& v) - : x((F)v.x) - , y((F)v.y) - , z((F)v.z) - , w((F)v.w) { assert(this->IsValid()); } + ILINE Vec4& zero() { x = y = z = w = 0; return *this; } - ILINE Vec4_tpl& zero() { x = y = z = w = 0; return *this; } - - ILINE bool IsEquivalent(const Vec4_tpl& v1, F epsilon = VEC_EPSILON) const + ILINE bool IsEquivalent(const Vec4& v1, f32 epsilon = VEC_EPSILON) const { assert(v1.IsValid()); assert(this->IsValid()); @@ -93,7 +63,7 @@ struct Vec4_tpl } - ILINE Vec4_tpl& operator=(const Vec4_tpl& src) + ILINE Vec4& operator=(const Vec4& src) { x = src.x; y = src.y; @@ -102,17 +72,17 @@ struct Vec4_tpl return *this; } - ILINE Vec4_tpl operator * (F k) const + ILINE Vec4 operator * (f32 k) const { - return Vec4_tpl(x * k, y * k, z * k, w * k); + return Vec4(x * k, y * k, z * k, w * k); } - ILINE Vec4_tpl operator / (F k) const + ILINE Vec4 operator / (f32 k) const { - k = (F)1.0 / k; - return Vec4_tpl(x * k, y * k, z * k, w * k); + k = (f32)1.0 / k; + return Vec4(x * k, y * k, z * k, w * k); } - ILINE Vec4_tpl& operator *= (F k) + ILINE Vec4& operator *= (f32 k) { x *= k; y *= k; @@ -120,9 +90,9 @@ struct Vec4_tpl w *= k; return *this; } - ILINE Vec4_tpl& operator /= (F k) + ILINE Vec4& operator /= (f32 k) { - k = (F)1.0 / k; + k = (f32)1.0 / k; x *= k; y *= k; z *= k; @@ -130,7 +100,7 @@ struct Vec4_tpl return *this; } - ILINE void operator += (const Vec4_tpl& v) + ILINE void operator += (const Vec4& v) { x += v.x; y += v.y; @@ -138,7 +108,7 @@ struct Vec4_tpl w += v.w; } - ILINE void operator -= (const Vec4_tpl& v) + ILINE void operator -= (const Vec4& v) { x -= v.x; y -= v.y; @@ -147,17 +117,17 @@ struct Vec4_tpl } - ILINE F Dot (const Vec4_tpl& vec2) const + ILINE f32 Dot (const Vec4& vec2) const { return x * vec2.x + y * vec2.y + z * vec2.z + w * vec2.w; } - ILINE F GetLength() const + ILINE f32 GetLength() const { return sqrt_tpl(Dot(*this)); } - ILINE F GetLengthSquared() const + ILINE f32 GetLengthSquared() const { return Dot(*this); } @@ -190,24 +160,24 @@ struct Vec4_tpl * Example: * if (v0==v1) dosomething; */ - ILINE bool operator==(const Vec4_tpl& vec) + ILINE bool operator==(const Vec4& vec) { return x == vec.x && y == vec.y && z == vec.z && w == vec.w; } - ILINE bool operator!=(const Vec4_tpl& vec) { return !(*this == vec); } + ILINE bool operator!=(const Vec4& vec) { return !(*this == vec); } - ILINE friend bool operator ==(const Vec4_tpl& v0, const Vec4_tpl& v1) + ILINE friend bool operator ==(const Vec4& v0, const Vec4& v1) { return ((v0.x == v1.x) && (v0.y == v1.y) && (v0.z == v1.z) && (v0.w == v1.w)); } - ILINE friend bool operator !=(const Vec4_tpl& v0, const Vec4_tpl& v1) { return !(v0 == v1); } + ILINE friend bool operator !=(const Vec4& v0, const Vec4& v1) { return !(v0 == v1); } //! normalize the vector // The default Normalize function is in fact "safe". 0 vectors remain unchanged. ILINE void Normalize() { assert(this->IsValid()); - F fInvLen = isqrt_safe_tpl(x * x + y * y + z * z + w * w); + f32 fInvLen = isqrt_safe_tpl(x * x + y * y + z * z + w * w); x *= fInvLen; y *= fInvLen; z *= fInvLen; @@ -218,61 +188,21 @@ struct Vec4_tpl ILINE void NormalizeFast() { assert(this->IsValid()); - F fInvLen = isqrt_fast_tpl(x * x + y * y + z * z + w * w); + f32 fInvLen = isqrt_fast_tpl(x * x + y * y + z * z + w * w); x *= fInvLen; y *= fInvLen; z *= fInvLen; w *= fInvLen; } - - ILINE void SetLerp(const Vec4_tpl& p, const Vec4_tpl& q, F t) { *this = p * (1.0f - t) + q * t; } - ILINE static Vec4_tpl CreateLerp(const Vec4_tpl& p, const Vec4_tpl& q, F t) { return p * (1.0f - t) + q * t; } }; - -typedef Vec4_tpl Vec4; // always 32 bit -typedef Vec4_tpl Vec4d; // always 64 bit -typedef Vec4_tpl Vec4i; -typedef Vec4_tpl Vec4ui; -typedef Vec4_tpl Vec4r; // variable float precision. depending on the target system it can be 32, 64 or 80 bit - -#if defined(WIN32) || defined(WIN64) || defined(LINUX) || defined(APPLE) -typedef Vec4_tpl Vec4A; -#elif defined(AZ_RESTRICTED_PLATFORM) - #include AZ_RESTRICTED_FILE(Cry_Vector4_h) -#endif - -//vector self-addition -template -ILINE Vec4_tpl& operator += (Vec4_tpl& v0, const Vec4_tpl& v1) -{ - v0 = v0 + v1; - return v0; -} - //vector addition -template -ILINE Vec4_tpl operator + (const Vec4_tpl& v0, const Vec4_tpl& v1) +ILINE Vec4 operator + (const Vec4& v0, const Vec4& v1) { - return Vec4_tpl(v0.x + v1.x, v0.y + v1.y, v0.z + v1.z, v0.w + v1.w); + return Vec4(v0.x + v1.x, v0.y + v1.y, v0.z + v1.z, v0.w + v1.w); } //vector subtraction -template -ILINE Vec4_tpl operator - (const Vec4_tpl& v0, const Vec4_tpl& v1) +ILINE Vec4 operator - (const Vec4& v0, const Vec4& v1) { - return Vec4_tpl(v0.x - v1.x, v0.y - v1.y, v0.z - v1.z, v0.w - v1.w); -} - -//vector multiplication -template -ILINE Vec4_tpl operator * (const Vec4_tpl v0, const Vec4_tpl& v1) -{ - return Vec4_tpl(v0.x * v1.x, v0.y * v1.y, v0.z * v1.z, v0.w * v1.w); -} - -//vector division -template -ILINE Vec4_tpl operator / (const Vec4_tpl& v0, const Vec4_tpl& v1) -{ - return Vec4_tpl(v0.x / v1.x, v0.y / v1.y, v0.z / v1.z, v0.w / v1.w); + return Vec4(v0.x - v1.x, v0.y - v1.y, v0.z - v1.z, v0.w - v1.w); } diff --git a/Code/Legacy/CryCommon/FunctorBaseFunction.h b/Code/Legacy/CryCommon/FunctorBaseFunction.h deleted file mode 100644 index 6fbb6dc5e2..0000000000 --- a/Code/Legacy/CryCommon/FunctorBaseFunction.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Implementation of the common function template specializations. - - -#ifndef CRYINCLUDE_CRYCOMMON_FUNCTORBASEFUNCTION_H -#define CRYINCLUDE_CRYCOMMON_FUNCTORBASEFUNCTION_H -#pragma once - - -#include "IFunctorBase.h" - -////////////////////////////////////////////////////////////////////////// -// Return type void -// No arguments. -template<> -class TFunctor - : public IFunctorBase -{ -public: - typedef void (* TFunctionType)(); - - TFunctor(TFunctionType pFunction) - : m_pfnFunction(pFunction){} - - virtual void Call() - { - m_pfnFunction(); - } -private: - TFunctionType m_pfnFunction; -}; -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -// Return type void -// 1 argument. -template -class TFunctor - : public IFunctorBase -{ -public: - typedef void (* TFunctionType)(tArgument1); - - TFunctor(TFunctionType pFunction, tArgument1 Argument1) - : m_pfnFunction(pFunction) - , m_tArgument1(Argument1){} - - virtual void Call() - { - m_pfnFunction(m_tArgument1); - } -private: - TFunctionType m_pfnFunction; - tArgument1 m_tArgument1; -}; -////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////// -// Return type void -// 2 arguments. -template -class TFunctor - : public IFunctorBase -{ -public: - typedef void (* TFunctionType)(tArgument1, tArgument2); - - TFunctor(TFunctionType pFunction, const tArgument1& Argument1, const tArgument2& Argument2) - : m_pfnFunction(pFunction) - , m_tArgument1(Argument1) - , m_tArgument2(Argument2){} - - virtual void Call() - { - m_pfnFunction(m_tArgument1, m_tArgument2); - } -private: - TFunctionType m_pfnFunction; - tArgument1 m_tArgument1; - tArgument2 m_tArgument2; -}; -////////////////////////////////////////////////////////////////////////// - -#endif // CRYINCLUDE_CRYCOMMON_FUNCTORBASEFUNCTION_H diff --git a/Code/Legacy/CryCommon/FunctorBaseMember.h b/Code/Legacy/CryCommon/FunctorBaseMember.h deleted file mode 100644 index d2e75a8752..0000000000 --- a/Code/Legacy/CryCommon/FunctorBaseMember.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Implementation of the member function template specializations. - -#ifndef CRYINCLUDE_CRYCOMMON_FUNCTORBASEMEMBER_H -#define CRYINCLUDE_CRYCOMMON_FUNCTORBASEMEMBER_H -#pragma once - - -#include "IFunctorBase.h" - -////////////////////////////////////////////////////////////////////////// -// Return type void -// No Arguments -template -class TFunctor - : public IFunctorBase -{ -public: - typedef void (tCalleeType::* TMemberFunctionType)(); - - TFunctor(tCalleeType* pCallee, TMemberFunctionType pMemberFunction) - : m_pCalee(pCallee) - , m_pfnMemberFunction(pMemberFunction){} - - virtual void Call() - { - (m_pCalee->*m_pfnMemberFunction)(); - } -private: - tCalleeType* m_pCalee; - TMemberFunctionType m_pfnMemberFunction; -}; -////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////// -// Return type void -// 1 argument. -template -class TFunctor - : public IFunctorBase -{ -public: - typedef void (tCalleeType::* TMemberFunctionType)(tArgument1); - - TFunctor(tCalleeType* pCallee, TMemberFunctionType pMemberFunction, const tArgument1& Argument1) - : m_pCalee(pCallee) - , m_pfnMemberFunction(pMemberFunction) - , m_tArgument1(Argument1){} - - virtual void Call() - { - (m_pCalee->*m_pfnMemberFunction)(m_tArgument1); - } -private: - tCalleeType* m_pCalee; - TMemberFunctionType m_pfnMemberFunction; - tArgument1 m_tArgument1; -}; -////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////// -// Return type void -// 2 arguments. -template -class TFunctor - : public IFunctorBase -{ -public: - typedef void (tCalleeType::* TMemberFunctionType)(tArgument1, tArgument2); - - TFunctor(tCalleeType* pCallee, TMemberFunctionType pMemberFunction, const tArgument1& Argument1, const tArgument2& Argument2) - : m_pCalee(pCallee) - , m_pfnMemberFunction(pMemberFunction) - , m_tArgument1(Argument1) - , m_tArgument2(Argument2){} - - virtual void Call() - { - (m_pCalee->*m_pfnMemberFunction)(m_tArgument1, m_tArgument2); - } -private: - tCalleeType* m_pCalee; - TMemberFunctionType m_pfnMemberFunction; - tArgument1 m_tArgument1; - tArgument2 m_tArgument2; -}; -////////////////////////////////////////////////////////////////////////// - -#endif // CRYINCLUDE_CRYCOMMON_FUNCTORBASEMEMBER_H diff --git a/Code/Legacy/CryCommon/IConsole.h b/Code/Legacy/CryCommon/IConsole.h index f68a82f9dc..f77237f1af 100644 --- a/Code/Legacy/CryCommon/IConsole.h +++ b/Code/Legacy/CryCommon/IConsole.h @@ -10,15 +10,13 @@ #include #include +#include #include -struct SFunctor; - struct ConsoleBind; struct ICVar; class ITexture; -class ICrySizer; struct ISystem; #define CVAR_INT 1 @@ -192,15 +190,6 @@ struct IConsole // Return: // pointer to the interface ICVar virtual ICVar* RegisterInt(const char* sName, int iValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0) = 0; - // Create a new console variable that store the value in a int64 - // Arguments: - // sName - console variable name - // iValue - default value - // nFlags - user defined flag, this parameter is used by other subsystems and doesn't affect the console variable (basically of user data) - // help - help text that is shown when you use ? in the console - // Return: - // pointer to the interface ICVar - virtual ICVar* RegisterInt64(const char* sName, int64 iValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0) = 0; // Create a new console variable that store the value in a float // Arguments: // sName - console variable name @@ -243,14 +232,6 @@ struct IConsole // pointer to the interface ICVar virtual ICVar* Register(const char* name, const char** src, const char* defaultvalue, int nFlags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true) = 0; - // Registers an existing console variable - // Should only be used with static duration objects, object is never freed - // Arguments: - // pVar - the existing console variable - // Return: - // pointer to the interface ICVar (that was passed in) - virtual ICVar* Register(ICVar* pVar) = 0; - // ! Remove a variable from the console // @param sVarName console variable name // @param bDelete if true the variable is deleted @@ -431,9 +412,6 @@ struct IConsole virtual void ResetAutoCompletion() = 0; ////////////////////////////////////////////////////////////////////////// - // Calculation of the memory used by the whole console system - virtual void GetMemoryUsage (ICrySizer* pSizer) const = 0; - // Function related to progress bar virtual void ResetProgressBar(int nProgressRange) = 0; // Function related to progress bar @@ -619,16 +597,12 @@ struct ICVar // Adds a new on change functor to the list. // It will add from index 1 on (0 is reserved). // Returns an ID to use when getting or removing the functor - virtual uint64 AddOnChangeFunctor(const SFunctor& pChangeFunctor) = 0; + virtual uint64 AddOnChangeFunctor(const AZStd::function& pChangeFunctor) = 0; ////////////////////////////////////////////////////////////////////////// // Get the current callback function. virtual ConsoleVarFunc GetOnChangeCallback() const = 0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - virtual void GetMemoryUsage(class ICrySizer* pSizer) const = 0; - ////////////////////////////////////////////////////////////////////////// // only useful for CVarGroups, other types return GetIVal() // CVarGroups set multiple other CVars and this function returns diff --git a/Code/Legacy/CryCommon/IEntityRenderState.h b/Code/Legacy/CryCommon/IEntityRenderState.h index b459a6acaa..42e485cd1e 100644 --- a/Code/Legacy/CryCommon/IEntityRenderState.h +++ b/Code/Legacy/CryCommon/IEntityRenderState.h @@ -7,33 +7,14 @@ */ #pragma once +#include -#include "IStatObj.h" - -#include -#include -#include -#include - - -namespace AZ -{ - class Vector2; -} - -struct IMaterial; -struct IRenderNode; -struct IVisArea; -struct SRenderingPassInfo; -struct SRendItemSorter; -struct SFrameLodInfo; -struct pe_params_area; -struct pe_articgeomparams; +struct IStatObj; struct IRenderNode { // Gives access to object components. - struct IStatObj* GetEntityStatObj(unsigned int = 0, unsigned int = 0, Matrix34A* = NULL, bool = false) { + IStatObj* GetEntityStatObj(unsigned int = 0, unsigned int = 0, Matrix34* = nullptr, bool = false) { return nullptr; } diff --git a/Code/Legacy/CryCommon/IFont.h b/Code/Legacy/CryCommon/IFont.h index 15cc6568bf..01ffb6d206 100644 --- a/Code/Legacy/CryCommon/IFont.h +++ b/Code/Legacy/CryCommon/IFont.h @@ -23,7 +23,6 @@ #include struct ISystem; -class ICrySizer; struct ICryFont; struct IFFont; @@ -94,9 +93,6 @@ struct ICryFont //! \param glyphSizeY Height (in pixels) of the characters to be rendered at in the font texture. virtual void AddCharsToFontTextures(FontFamilyPtr pFontFamily, const char* pChars, int glyphSizeX = defaultGlyphSizeX, int glyphSizeY = defaultGlyphSizeY) = 0; - // Summary: - // Puts the objects used in this module into the sizer interface - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; // Summary: // All font names separated by , // Example: @@ -266,10 +262,6 @@ struct IFFont // Wraps text based on specified maximum line width (UTF-8) virtual void WrapText(AZStd::string& result, float maxWidth, const char* pStr, const STextDrawContext& ctx) = 0; - // Description: - // Puts the memory used by this font into the given sizer. - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; - // Description: // useful for special feature rendering interleaved with fonts (e.g. box behind the text) virtual void GetGradientTextureCoord(float& minU, float& minV, float& maxU, float& maxV) const = 0; diff --git a/Code/Legacy/CryCommon/IIndexedMesh.h b/Code/Legacy/CryCommon/IIndexedMesh.h index a84cebacb3..8d3ee64c71 100644 --- a/Code/Legacy/CryCommon/IIndexedMesh.h +++ b/Code/Legacy/CryCommon/IIndexedMesh.h @@ -10,13 +10,8 @@ #pragma once #include "Cry_Color.h" -#include "StlUtils.h" -#include "CryEndian.h" - -#include // for AABB #include #include -#include // Description: // 2D Texture coordinates used by CMesh. @@ -28,32 +23,6 @@ private: float s, t; public: - explicit SMeshTexCoord(float x, float y) - { - s = x; - t = y; - } - - explicit SMeshTexCoord(const Vec2f16& other) - { - const Vec2 uv = other.ToVec2(); - - s = uv.x; - t = uv.y; - } - - explicit SMeshTexCoord(const Vec2& other) - { - s = other.x; - t = other.y; - } - - explicit SMeshTexCoord(const Vec4& other) - { - s = other.x; - t = other.y; - } - bool IsEquivalent(const SMeshTexCoord& other, float epsilon = 0.00005f) const { return @@ -113,16 +82,6 @@ public: }; - -struct SMeshBoneMapping_uint8 -{ - typedef uint8 BoneId; - typedef uint8 Weight; - - BoneId boneIds[4]; - Weight weights[4]; -}; - // Subset of mesh is a continuous range of vertices and indices that share same material. struct SMeshSubset { @@ -181,7 +140,6 @@ struct IIndexedMesh int m_nIndexCount; // number of elements in m_pIndices array }; - // virtual ~IIndexedMesh() {} // Release indexed mesh. @@ -190,15 +148,9 @@ struct IIndexedMesh //! Gives read-only access to mesh data virtual void GetMeshDescription(SMeshDescription& meshDesc) const = 0; - /*! Frees vertex and face streams. Calling this function invalidates SMeshDescription pointers */ - virtual void FreeStreams() = 0; - //! Return number of allocated faces virtual int GetFaceCount() const = 0; - /*! Reallocates faces. Calling this function invalidates SMeshDescription pointers */ - virtual void SetFaceCount(int nNewCount) = 0; - //! Return number of allocated vertices, normals and colors virtual int GetVertexCount() const = 0; @@ -216,6 +168,4 @@ struct IIndexedMesh ////////////////////////////////////////////////////////////////////////// virtual int GetSubSetCount() const = 0; virtual const SMeshSubset& GetSubSet(int nIndex) const = 0; - - // }; diff --git a/Code/Legacy/CryCommon/ILevelSystem.h b/Code/Legacy/CryCommon/ILevelSystem.h index 1a022ccc55..edcd8615aa 100644 --- a/Code/Legacy/CryCommon/ILevelSystem.h +++ b/Code/Legacy/CryCommon/ILevelSystem.h @@ -8,13 +8,8 @@ // Description : Gathers level information. Loads a level. - - -#ifndef CRYINCLUDE_CRYACTION_ILEVELSYSTEM_H -#define CRYINCLUDE_CRYACTION_ILEVELSYSTEM_H #pragma once -#include #include #include @@ -56,8 +51,6 @@ struct ILevelSystemListener virtual void OnLoadingProgress([[maybe_unused]] const char* levelName, [[maybe_unused]] int progressAmount) {} //! Called after a level is unloaded, before the data is freed. virtual void OnUnloadComplete([[maybe_unused]] const char* levelName) {} - - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const { } }; struct ILevelSystem @@ -95,5 +88,3 @@ protected: static constexpr const char* LevelsDirectoryName = "levels"; }; - -#endif // CRYINCLUDE_CRYACTION_ILEVELSYSTEM_H diff --git a/Code/Legacy/CryCommon/ILocalizationManager.h b/Code/Legacy/CryCommon/ILocalizationManager.h index 0f0ba88250..0b5d76fc24 100644 --- a/Code/Legacy/CryCommon/ILocalizationManager.h +++ b/Code/Legacy/CryCommon/ILocalizationManager.h @@ -43,10 +43,6 @@ struct SLocalizedAdvancesSoundEntry { AZStd::string sName; float fValue; - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(sName); - } }; // Localization Sound Info structure, containing sound related parameters. diff --git a/Code/Legacy/CryCommon/ILog.h b/Code/Legacy/CryCommon/ILog.h index 23257ea59b..8a9c6cc5a2 100644 --- a/Code/Legacy/CryCommon/ILog.h +++ b/Code/Legacy/CryCommon/ILog.h @@ -16,9 +16,6 @@ // this code is disable by default due it's runtime cost //#define SUPPORT_LOG_IDENTER -// forward declarations -class ICrySizer; - // Summary: // Callback interface to the ILog. struct ILogCallback @@ -121,10 +118,6 @@ struct ILog virtual const char* GetModuleFilter() = 0; - // Notes: - // Collect memory statistics in CrySizer - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; - // Asset scope strings help to figure out asset dependencies in case of asset loading errors. // Should not be used directly, only by using define CRY_DEFINE_ASSET_SCOPE // @see CRY_DEFINE_ASSET_SCOPE diff --git a/Code/Legacy/CryCommon/IMaterial.h b/Code/Legacy/CryCommon/IMaterial.h index 1b3ef258ce..d4a36caf77 100644 --- a/Code/Legacy/CryCommon/IMaterial.h +++ b/Code/Legacy/CryCommon/IMaterial.h @@ -14,7 +14,6 @@ #include struct IShader; -struct ISurfaceType; struct SShaderItem; namespace AZ @@ -38,12 +37,7 @@ namespace AZ struct IMaterial { // TODO: Remove it! - virtual ~IMaterial() {} - virtual void AddRef() = 0; - virtual void Release() = 0; - virtual SShaderItem& GetShaderItem() = 0; virtual const SShaderItem& GetShaderItem() const = 0; - }; diff --git a/Code/Legacy/CryCommon/IMovieSystem.h b/Code/Legacy/CryCommon/IMovieSystem.h index b5302b58f5..6cc5a06c8f 100644 --- a/Code/Legacy/CryCommon/IMovieSystem.h +++ b/Code/Legacy/CryCommon/IMovieSystem.h @@ -6,9 +6,6 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_IMOVIESYSTEM_H -#define CRYINCLUDE_CRYCOMMON_IMOVIESYSTEM_H #pragma once #include @@ -255,8 +252,6 @@ struct SAnimContext // TODO: Mask should be stored with dynamic length uint32 trackMask; //!< To update certain types of tracks only float startTime; //!< The start time of this playing sequence - - void Serialize(XmlNodeRef& xmlNode, bool loading); }; /** Parameters for cut-scene cameras @@ -891,7 +886,6 @@ struct ITrackEventListener // event - Track event added // pUserData - Data to accompany reason virtual void OnTrackEvent(IAnimSequence* sequence, int reason, const char* event, void* pUserData) = 0; - virtual void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{}; // }; @@ -1152,8 +1146,6 @@ struct IMovieListener //! callback on movie events virtual void OnMovieEvent(EMovieEvent movieEvent, IAnimSequence* pAnimSequence) = 0; // - - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{} }; /** Movie System interface. @@ -1326,7 +1318,6 @@ struct IMovieSystem virtual bool IsRecording() const = 0; virtual void EnableCameraShake(bool bEnabled) = 0; - virtual bool IsCameraShakeEnabled() const = 0; // Pause any playing sequences. virtual void Pause() = 0; @@ -1381,8 +1372,6 @@ struct IMovieSystem virtual void EnableBatchRenderMode(bool bOn) = 0; virtual bool IsInBatchRenderMode() const = 0; - virtual ILightAnimWrapper* CreateLightAnimWrapper(const char* name) const = 0; - virtual void LoadParamTypeFromXml(CAnimParamType& animParamType, const XmlNodeRef& xmlNode, const uint version) = 0; virtual void SaveParamTypeToXml(const CAnimParamType& animParamType, XmlNodeRef& xmlNode) = 0; @@ -1408,40 +1397,6 @@ struct IMovieSystem // }; -inline void SAnimContext::Serialize(XmlNodeRef& xmlNode, bool bLoading) -{ - if (bLoading) - { - XmlString name; - if (xmlNode->getAttr("sequence", name)) - { - sequence = gEnv->pMovieSystem->FindLegacySequenceByName(name.c_str()); - } - xmlNode->getAttr("dt", dt); - xmlNode->getAttr("fps", fps); - xmlNode->getAttr("time", time); - xmlNode->getAttr("bSingleFrame", singleFrame); - xmlNode->getAttr("bResetting", resetting); - xmlNode->getAttr("trackMask", trackMask); - xmlNode->getAttr("startTime", startTime); - } - else - { - if (sequence) - { - AZStd::string fullname = sequence->GetName(); - xmlNode->setAttr("sequence", fullname.c_str()); - } - xmlNode->setAttr("dt", dt); - xmlNode->setAttr("fps", fps); - xmlNode->setAttr("time", time); - xmlNode->setAttr("bSingleFrame", singleFrame); - xmlNode->setAttr("bResetting", resetting); - xmlNode->setAttr("trackMask", trackMask); - xmlNode->setAttr("startTime", startTime); - } -} - inline void CAnimParamType::SaveToXml(XmlNodeRef& xmlNode) const { gEnv->pMovieSystem->SaveParamTypeToXml(*this, xmlNode); @@ -1456,5 +1411,3 @@ inline void CAnimParamType::Serialize(XmlNodeRef& xmlNode, bool bLoading, const { gEnv->pMovieSystem->SerializeParamType(*this, xmlNode, bLoading, version); } - -#endif // CRYINCLUDE_CRYCOMMON_IMOVIESYSTEM_H diff --git a/Code/Legacy/CryCommon/IPathfinder.h b/Code/Legacy/CryCommon/IPathfinder.h index 7a05321c99..d81bc97d49 100644 --- a/Code/Legacy/CryCommon/IPathfinder.h +++ b/Code/Legacy/CryCommon/IPathfinder.h @@ -23,6 +23,7 @@ struct IAIPathAgent; #include #include #include +#include // Hacks to deal with windows header inclusion. #ifdef GetObject diff --git a/Code/Legacy/CryCommon/IReadWriteXMLSink.h b/Code/Legacy/CryCommon/IReadWriteXMLSink.h deleted file mode 100644 index 0f8356bab7..0000000000 --- a/Code/Legacy/CryCommon/IReadWriteXMLSink.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Moved Craig's ReadWriteXMLSink from CryAction to CrySystem - - -#ifndef CRYINCLUDE_CRYCOMMON_IREADWRITEXMLSINK_H -#define CRYINCLUDE_CRYCOMMON_IREADWRITEXMLSINK_H -#pragma once - -#include -#include - -struct IReadXMLSink; -struct IWriteXMLSource; - -struct IReadWriteXMLSink -{ - // - virtual ~IReadWriteXMLSink(){} - virtual bool ReadXML(const char* definitionFile, const char* dataFile, IReadXMLSink* pSink) = 0; - virtual bool ReadXML(const char* definitionFile, XmlNodeRef node, IReadXMLSink* pSink) = 0; - virtual bool ReadXML(XmlNodeRef definition, const char* dataFile, IReadXMLSink* pSink) = 0; - virtual bool ReadXML(XmlNodeRef definition, XmlNodeRef node, IReadXMLSink* pSink) = 0; - - virtual XmlNodeRef CreateXMLFromSource(const char* definitionFile, IWriteXMLSource* pSource) = 0; - virtual bool WriteXML(const char* definitionFile, const char* dataFile, IWriteXMLSource* pSource) = 0; - // -}; - - -struct SReadWriteXMLCommon -{ - typedef AZStd::variant TValue; -}; - - -TYPEDEF_AUTOPTR(IReadXMLSink); -typedef IReadXMLSink_AutoPtr IReadXMLSinkPtr; - -// this interface allows customization of the data read routines -struct IReadXMLSink - : public SReadWriteXMLCommon -{ - // - virtual ~IReadXMLSink(){} - // reference counting - virtual void AddRef() = 0; - virtual void Release() = 0; - - virtual IReadXMLSinkPtr BeginTable(const char* name, const XmlNodeRef& definition) = 0; - virtual IReadXMLSinkPtr BeginTableAt(int elem, const XmlNodeRef& definition) = 0; - virtual bool SetValue(const char* name, const TValue& value, const XmlNodeRef& definition) = 0; - virtual bool EndTableAt(int elem) = 0; - virtual bool EndTable(const char* name) = 0; - - virtual IReadXMLSinkPtr BeginArray(const char* name, const XmlNodeRef& definition) = 0; - virtual bool SetAt(int elem, const TValue& value, const XmlNodeRef& definition) = 0; - virtual bool EndArray(const char* name) = 0; - - virtual bool Complete() = 0; - - virtual bool IsCreationMode() = 0; - virtual XmlNodeRef GetCreationNode() = 0; - virtual void SetCreationNode(XmlNodeRef definition) = 0; - // -}; - - -TYPEDEF_AUTOPTR(IWriteXMLSource); -typedef IWriteXMLSource_AutoPtr IWriteXMLSourcePtr; - -// this interface allows customization of the data write routines -struct IWriteXMLSource - : public SReadWriteXMLCommon -{ - // - virtual ~IWriteXMLSource(){} - // reference counting - virtual void AddRef() = 0; - virtual void Release() = 0; - - virtual IWriteXMLSourcePtr BeginTable(const char* name) = 0; - virtual IWriteXMLSourcePtr BeginTableAt(int elem) = 0; - virtual bool HaveValue(const char* name) = 0; - virtual bool GetValue(const char* name, TValue& value, const XmlNodeRef& definition) = 0; - virtual bool EndTableAt(int elem) = 0; - virtual bool EndTable(const char* name) = 0; - - virtual IWriteXMLSourcePtr BeginArray(const char* name, size_t* numElems, const XmlNodeRef& definition) = 0; - virtual bool HaveElemAt(int elem) = 0; - virtual bool GetAt(int elem, TValue& value, const XmlNodeRef& definition) = 0; - virtual bool EndArray(const char* name) = 0; - - virtual bool Complete() = 0; - // -}; - -#endif // CRYINCLUDE_CRYCOMMON_IREADWRITEXMLSINK_H diff --git a/Code/Legacy/CryCommon/IRenderAuxGeom.h b/Code/Legacy/CryCommon/IRenderAuxGeom.h index d487cb483f..6627c41530 100644 --- a/Code/Legacy/CryCommon/IRenderAuxGeom.h +++ b/Code/Legacy/CryCommon/IRenderAuxGeom.h @@ -455,7 +455,7 @@ enum EAuxGeomPublicRenderflags_DepthWrite // EAuxGeomPublicRenderflagBitMasks enum EAuxGeomPublicRenderflags_DepthTest { - e_DepthTestOn = 0x0 << e_DepthTestShift, + e_DepthTestOn = 0x0 << e_DepthTestShift, e_DepthTestOff = 0x1 << e_DepthTestShift, }; @@ -465,10 +465,6 @@ enum EAuxGeomPublicRenderflags_Defaults // Default render flags for 3d primitives. e_Def3DPublicRenderflags = e_Mode3D | e_AlphaNone | e_DrawInFrontOff | e_FillModeSolid | e_CullModeBack | e_DepthWriteOn | e_DepthTestOn, - - // Default render flags for 2d primitives. - e_Def2DPublicRenderflags = e_Mode2D | e_AlphaNone | e_DrawInFrontOff | e_FillModeSolid | - e_CullModeBack | e_DepthWriteOn | e_DepthTestOn }; @@ -487,48 +483,15 @@ struct SAuxGeomRenderFlags bool operator !=(const SAuxGeomRenderFlags& rhs) const; bool operator !=(uint32 rhs) const; - // Summary: - // Gets the flags for 2D/3D rendering mode. - EAuxGeomPublicRenderflags_Mode2D3D GetMode2D3DFlag() const; - // Summary: - // Sets the flags for 2D/3D rendering mode. - void SetMode2D3DFlag(const EAuxGeomPublicRenderflags_Mode2D3D& state); - - // Summary: - // Gets the flags for alpha blend mode. - EAuxGeomPublicRenderflags_AlphaBlendMode GetAlphaBlendMode() const; - // Summary: - // Sets the flags for the alpha blend mode. - void SetAlphaBlendMode(const EAuxGeomPublicRenderflags_AlphaBlendMode& state); - - - EAuxGeomPublicRenderflags_DrawInFrontMode GetDrawInFrontMode() const; void SetDrawInFrontMode(const EAuxGeomPublicRenderflags_DrawInFrontMode& state); - // Summary: - // Gets the flags for the filling mode. - EAuxGeomPublicRenderflags_FillMode GetFillMode() const; // Summary: // Sets the flags for the filling mode. void SetFillMode(const EAuxGeomPublicRenderflags_FillMode& state); - // Summary: - // Gets the flags for the culling mode. - EAuxGeomPublicRenderflags_CullMode GetCullMode() const; // Summary: // Sets the flags for the culling mode. void SetCullMode(const EAuxGeomPublicRenderflags_CullMode& state); - - - EAuxGeomPublicRenderflags_DepthWrite GetDepthWriteFlag() const; - void SetDepthWriteFlag(const EAuxGeomPublicRenderflags_DepthWrite& state); - - // Summary: - // Gets the flags for the depth test. - EAuxGeomPublicRenderflags_DepthTest GetDepthTestFlag() const; - // Summary: - // Sets the flags for the depth test. - void SetDepthTestFlag(const EAuxGeomPublicRenderflags_DepthTest& state); }; @@ -596,86 +559,6 @@ SAuxGeomRenderFlags::operator !=(uint32 rhs) const } -inline EAuxGeomPublicRenderflags_Mode2D3D -SAuxGeomRenderFlags::GetMode2D3DFlag() const -{ - int mode2D3D((int)(m_renderFlags & (uint32)e_Mode2D3DMask)); - switch (mode2D3D) - { - case e_Mode2D: - { - return(e_Mode2D); - } - case e_Mode3D: - default: - { - assert(e_Mode3D == mode2D3D); - return(e_Mode3D); - } - } -} - - -inline void -SAuxGeomRenderFlags::SetMode2D3DFlag(const EAuxGeomPublicRenderflags_Mode2D3D& state) -{ - m_renderFlags &= ~e_Mode2D3DMask; - m_renderFlags |= state; -} - - -inline EAuxGeomPublicRenderflags_AlphaBlendMode -SAuxGeomRenderFlags::GetAlphaBlendMode() const -{ - uint32 alphaBlendMode(m_renderFlags & e_AlphaBlendingMask); - switch (alphaBlendMode) - { - case e_AlphaAdditive: - { - return(e_AlphaAdditive); - } - case e_AlphaBlended: - { - return(e_AlphaBlended); - } - case e_AlphaNone: - default: - { - assert(e_AlphaNone == alphaBlendMode); - return(e_AlphaNone); - } - } -} - - -inline void -SAuxGeomRenderFlags::SetAlphaBlendMode(const EAuxGeomPublicRenderflags_AlphaBlendMode& state) -{ - m_renderFlags &= ~e_AlphaBlendingMask; - m_renderFlags |= state; -} - - -inline EAuxGeomPublicRenderflags_DrawInFrontMode -SAuxGeomRenderFlags::GetDrawInFrontMode() const -{ - uint32 drawInFrontMode(m_renderFlags & e_DrawInFrontMask); - switch (drawInFrontMode) - { - case e_DrawInFrontOff: - { - return(e_DrawInFrontOff); - } - case e_DrawInFrontOn: - default: - { - assert(e_DrawInFrontOn == drawInFrontMode); - return(e_DrawInFrontOn); - } - } -} - - inline void SAuxGeomRenderFlags::SetDrawInFrontMode(const EAuxGeomPublicRenderflags_DrawInFrontMode& state) { @@ -683,31 +566,6 @@ SAuxGeomRenderFlags::SetDrawInFrontMode(const EAuxGeomPublicRenderflags_DrawInFr m_renderFlags |= state; } - -inline EAuxGeomPublicRenderflags_FillMode -SAuxGeomRenderFlags::GetFillMode() const -{ - uint32 fillMode(m_renderFlags & e_FillModeMask); - switch (fillMode) - { - case e_FillModePoint: - { - return(e_FillModePoint); - } - case e_FillModeWireframe: - { - return(e_FillModeWireframe); - } - case e_FillModeSolid: - default: - { - assert(e_FillModeSolid == fillMode); - return(e_FillModeSolid); - } - } -} - - inline void SAuxGeomRenderFlags::SetFillMode(const EAuxGeomPublicRenderflags_FillMode& state) { @@ -715,117 +573,9 @@ SAuxGeomRenderFlags::SetFillMode(const EAuxGeomPublicRenderflags_FillMode& state m_renderFlags |= state; } - -inline EAuxGeomPublicRenderflags_CullMode -SAuxGeomRenderFlags::GetCullMode() const -{ - uint32 cullMode(m_renderFlags & e_CullModeMask); - switch (cullMode) - { - case e_CullModeNone: - { - return(e_CullModeNone); - } - case e_CullModeFront: - { - return(e_CullModeFront); - } - case e_CullModeBack: - default: - { - assert(e_CullModeBack == cullMode); - return(e_CullModeBack); - } - } -} - - inline void SAuxGeomRenderFlags::SetCullMode(const EAuxGeomPublicRenderflags_CullMode& state) { m_renderFlags &= ~e_CullModeMask; m_renderFlags |= state; } - - -inline EAuxGeomPublicRenderflags_DepthWrite -SAuxGeomRenderFlags::GetDepthWriteFlag() const -{ - uint32 depthWriteFlag(m_renderFlags & e_DepthWriteMask); - switch (depthWriteFlag) - { - case e_DepthWriteOff: - { - return(e_DepthWriteOff); - } - case e_DepthWriteOn: - default: - { - assert(e_DepthWriteOn == depthWriteFlag); - return(e_DepthWriteOn); - } - } -} - - -inline void -SAuxGeomRenderFlags::SetDepthWriteFlag(const EAuxGeomPublicRenderflags_DepthWrite& state) -{ - m_renderFlags &= ~e_DepthWriteMask; - m_renderFlags |= state; -} - - -inline EAuxGeomPublicRenderflags_DepthTest -SAuxGeomRenderFlags::GetDepthTestFlag() const -{ - uint32 depthTestFlag(m_renderFlags & e_DepthTestMask); - switch (depthTestFlag) - { - case e_DepthTestOff: - { - return(e_DepthTestOff); - } - case e_DepthTestOn: - default: - { - assert(e_DepthTestOn == depthTestFlag); - return(e_DepthTestOn); - } - } -} - - -inline void -SAuxGeomRenderFlags::SetDepthTestFlag(const EAuxGeomPublicRenderflags_DepthTest& state) -{ - m_renderFlags &= ~e_DepthTestMask; - m_renderFlags |= state; -} - - -class CRenderAuxGeomRenderFlagsRestore -{ -public: - explicit CRenderAuxGeomRenderFlagsRestore(IRenderAuxGeom* pRender); - ~CRenderAuxGeomRenderFlagsRestore(); - -private: - IRenderAuxGeom* m_pRender; - SAuxGeomRenderFlags m_backuppedRenderFlags; - - // copy-construction not supported - CRenderAuxGeomRenderFlagsRestore(const CRenderAuxGeomRenderFlagsRestore&); - CRenderAuxGeomRenderFlagsRestore& operator=(const CRenderAuxGeomRenderFlagsRestore&); -}; - -inline CRenderAuxGeomRenderFlagsRestore::CRenderAuxGeomRenderFlagsRestore(IRenderAuxGeom* pRender) -{ - m_pRender = pRender; - m_backuppedRenderFlags = m_pRender->GetRenderFlags(); -} - -inline CRenderAuxGeomRenderFlagsRestore::~CRenderAuxGeomRenderFlagsRestore() -{ - m_pRender->SetRenderFlags(m_backuppedRenderFlags); -} diff --git a/Code/Legacy/CryCommon/IRenderer.h b/Code/Legacy/CryCommon/IRenderer.h index ab185b3bbc..495c885e44 100644 --- a/Code/Legacy/CryCommon/IRenderer.h +++ b/Code/Legacy/CryCommon/IRenderer.h @@ -193,32 +193,3 @@ struct DynUiPrimitive : public AZStd::intrusive_slist_node int m_numIndices = 0; }; using DynUiPrimitiveList = AZStd::intrusive_slist>; - -class CLodValue -{ -public: - CLodValue() = default; - - CLodValue(int nLodA) - { - m_nLodA = aznumeric_caster(nLodA); - } - - CLodValue(int nLodA, uint8 nDissolveRef, int nLodB) - { - m_nLodA = aznumeric_caster(nLodA); - m_nLodB = aznumeric_caster(nLodB); - m_nDissolveRef = nDissolveRef; - } - - int LodA() const { return m_nLodA; } - int LodB() const { return m_nLodB; } - - uint8 DissolveRefA() const { return m_nDissolveRef; } - uint8 DissolveRefB() const { return 255 - m_nDissolveRef; } - -private: - int16 m_nLodA = -1; - int16 m_nLodB = -1; - uint8 m_nDissolveRef = 0; -}; diff --git a/Code/Legacy/CryCommon/ISerialize.h b/Code/Legacy/CryCommon/ISerialize.h index 82ba9aef0d..c253796109 100644 --- a/Code/Legacy/CryCommon/ISerialize.h +++ b/Code/Legacy/CryCommon/ISerialize.h @@ -6,144 +6,24 @@ * */ - // Description : main header file - - -#ifndef CRYINCLUDE_CRYCOMMON_ISERIALIZE_H -#define CRYINCLUDE_CRYCOMMON_ISERIALIZE_H #pragma once +#include #include #include -#include "MiniQueue.h" -#include #include -#include -#include +// Forward declarations class CTimeValue; -// Forward template declaration -template -class InterpolatedValue_tpl; - -// Unfortunately this needs to be here - should be in CryNetwork somewhere. -struct SNetObjectID -{ - static const uint16 InvalidId = std::numeric_limits::max(); - - SNetObjectID() - : id(InvalidId) - , salt(0) {} - SNetObjectID(uint16 i, uint16 s) - : id(i) - , salt(s) {} - - uint16 id; - uint16 salt; - - ILINE bool operator!() const - { - return id == InvalidId; - } - typedef uint16 (SNetObjectID::* unknown_bool_type); - ILINE operator unknown_bool_type() const - { - return !!(*this) ? &SNetObjectID::id : NULL; - } - ILINE bool operator!=(const SNetObjectID& rhs) const - { - return !(*this == rhs); - } - ILINE bool operator==(const SNetObjectID& rhs) const - { - return id == rhs.id && salt == rhs.salt; - } - ILINE bool operator<(const SNetObjectID& rhs) const - { - return id < rhs.id || (id == rhs.id && salt < rhs.salt); - } - ILINE bool operator>(const SNetObjectID& rhs) const - { - return id > rhs.id || (id == rhs.id && salt > rhs.salt); - } - - bool IsLegal() const - { - return salt != 0; - } - - const char* GetText(char* tmpBuf = nullptr, size_t bufferSize = 0) const - { - static char singlebuf[64]; - if (!tmpBuf) - { - tmpBuf = singlebuf; - bufferSize = sizeof(singlebuf); - } - - if (id == InvalidId) - { - sprintf_s(tmpBuf, bufferSize, ""); - } - else if (!salt) - { - sprintf_s(tmpBuf, bufferSize, "illegal:%d:%d", id, salt); - } - else - { - sprintf_s(tmpBuf, bufferSize, "%d:%d", id, salt); - } - - return tmpBuf; - } - - uint32 GetAsUint32() const - { - return (uint32(salt) << 16) | id; - } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const { /*nothing*/} -}; // this enumeration details what "kind" of serialization we are // performing, so that classes that want to, for instance, tailor // the data they present depending on where data is being written // to can do so -enum ESerializationTarget +enum class ESerializationTarget { eST_SaveGame, - eST_Network, - eST_Script -}; - -// this inner class defines an interface so that OnUpdate -// functions can be passed abstractly through to concrete -// serialization classes -struct ISerializeUpdateFunction -{ - // - virtual ~ISerializeUpdateFunction(){} - virtual void Execute() = 0; - // -}; - -// concrete implementation of IUpdateFunction for a general functor class -template -class CSerializeUpdateFunction - : public ISerializeUpdateFunction -{ -public: - CSerializeUpdateFunction(F_Update& update) - : m_rUpdate(update) {} - - virtual void Execute() - { - m_rUpdate(); - } - -private: - F_Update m_rUpdate; }; ////////////////////////////////////////////////////////////////////////// @@ -151,34 +31,68 @@ private: ////////////////////////////////////////////////////////////////////////// struct SSerializeString { - SSerializeString() {}; - SSerializeString(const SSerializeString& src) { m_str.assign(src.c_str()); }; + SSerializeString(){}; + SSerializeString(const SSerializeString& src) + { + m_str.assign(src.c_str()); + }; explicit SSerializeString(const char* sbegin, const char* send) - : m_str(sbegin, send) {}; - ~SSerializeString() {} + : m_str(sbegin, send){}; + ~SSerializeString() + { + } // Casting to const char* SSerializeString(const char* s) - : m_str(s) { }; - //operator const char* () const { return m_str; } + : m_str(s){}; - SSerializeString& operator =(const SSerializeString& src) { m_str.assign(src.c_str()); return *this; } - SSerializeString& operator =(const char* src) { m_str.assign(src); return *this; } + SSerializeString& operator=(const SSerializeString& src) + { + m_str.assign(src.c_str()); + return *this; + } + SSerializeString& operator=(const char* src) + { + m_str.assign(src); + return *this; + } - bool operator != (const SSerializeString& src) { return m_str != src.m_str; } + bool operator!=(const SSerializeString& src) + { + return m_str != src.m_str; + } - size_t size() const { return m_str.size(); } - size_t length() const { return m_str.length(); } - const char* c_str() const { return m_str.c_str(); }; - bool empty() const { return m_str.empty(); } - void resize(int sz) { m_str.resize(sz); } - void reserve(int sz) { m_str.reserve(sz); } + size_t size() const + { + return m_str.size(); + } + size_t length() const + { + return m_str.length(); + } + const char* c_str() const + { + return m_str.c_str(); + }; + bool empty() const + { + return m_str.empty(); + } + void resize(int sz) + { + m_str.resize(sz); + } + void reserve(int sz) + { + m_str.reserve(sz); + } void set_string(const AZStd::string& s) { m_str.assign(s.begin(), s.size()); } - operator const AZStd::string() const { + operator const AZStd::string() const + { return m_str; } @@ -195,21 +109,17 @@ struct ISerialize { static const int ENUM_POLICY_TAG = 0xe0000000; - ILINE ISerialize() {} + ISerialize() + { + } - // - virtual ~ISerialize(){} + virtual ~ISerialize() + { + } // this is for string values -- they need special support - virtual void ReadStringValue(const char* name, SSerializeString& curValue, uint32 policy = 0) = 0; - virtual void WriteStringValue(const char* name, SSerializeString& buffer, uint32 policy = 0) = 0; - // this function should be implemented to call the passed in interface - // if we are reading, and to not call it if we are writing - virtual void Update(ISerializeUpdateFunction* pUpdate) = 0; - - // for network updates: notify the network engine that this value was only partially read and we - // should re-request an update from the server soon - virtual void FlagPartialRead() = 0; + virtual void ReadStringValue(const char* name, SSerializeString& curValue) = 0; + virtual void WriteStringValue(const char* name, SSerializeString& buffer) = 0; ////////////////////////////////////////////////////////////////////////// // these functions should be implemented to deal with groups @@ -224,43 +134,18 @@ struct ISerialize ////////////////////////////////////////////////////////////////////////// virtual bool IsReading() const = 0; - virtual bool ShouldCommitValues() const = 0; - virtual ESerializationTarget GetSerializationTarget() const = 0; - virtual bool Ok() const = 0; - // // declare all primitive Value() implementations #define SERIALIZATION_TYPE(T) \ - virtual void Value(const char* name, T & x, uint32 policy) = 0; + virtual void Value(const char* name, T& x) = 0; #include "SerializationTypes.h" #undef SERIALIZATION_TYPE - - // declare all primitive Value() implementations -#define SERIALIZATION_TYPE(T) \ - virtual void ValueWithDefault(const char* name, T & x, const T&defaultValue) = 0; -#include "SerializationTypes.h" - SERIALIZATION_TYPE(SSerializeString) -#undef SERIALIZATION_TYPE - void Value([[maybe_unused]] const char* name, [[maybe_unused]] AZ::Vector3& x) - { - } - template - void Value(const char* name, B& x) - { - Value(name, x, 0); - } - - template - void Value(const char* name, B& x, uint32 policy); - - template - void ValueWithDefault(const char* name, B& x, const B& defaultValue); }; // this class provides a wrapper so that ISerialize can be used much more // easily; it is a template so that if we need to wrap a more specific // ISerialize implementation we can do so easily -template +template class CSerializeWrapper { public: @@ -276,507 +161,42 @@ public: // have been made to follow the trend. // the value function allows us to declare that a value needs - // to be serialized/deserialized; we can pass a serialization policy - // in order to compress the value, and an update function to allow - // us to be informed of when this value is changed - template - ILINE void Value(const char* szName, T_Value& value, int policy) - { - m_pSerialize->Value(szName, value, policy); - } + // to be serialized/deserialized; - template + template ILINE void Value(const char* szName, T_Value& value) { m_pSerialize->Value(szName, value); } - void Value(const char* szName, AZStd::string& value, int policy) + void Value(const char* szName, AZStd::string& value) { if (IsWriting()) { SSerializeString& serializeString = SetSharedSerializeString(value); - m_pSerialize->WriteStringValue(szName, serializeString, policy); + m_pSerialize->WriteStringValue(szName, serializeString); } else { - if (GetSerializationTarget() != eST_Script) - { - value = ""; - } - + value = ""; SSerializeString& serializeString = SetSharedSerializeString(value); - m_pSerialize->ReadStringValue(szName, serializeString, policy); + m_pSerialize->ReadStringValue(szName, serializeString); value = serializeString.c_str(); } } - ILINE void Value(const char* szName, AZStd::string& value) - { - Value(szName, value, 0); - } - void Value(const char* szName, const AZStd::string& value, int policy) + void Value(const char* szName, const AZStd::string& value) { if (IsWriting()) { SSerializeString& serializeString = SetSharedSerializeString(value); - m_pSerialize->WriteStringValue(szName, serializeString, policy); + m_pSerialize->WriteStringValue(szName, serializeString); } else { assert(0 && "This function can only be used for Writing"); } } - ILINE void Value(const char* szName, const AZStd::string& value) - { - Value(szName, value, 0); - } - template - void Value(const char* szName, T_Class* pInst, T_Value (T_Class::* get)() const, void (T_Class::* set)(T_Value)) - { - if (IsWriting()) - { - T_Value temp = (pInst->*get)(); - Value(szName, temp); - } - else - { - T_Value temp; - Value(szName, temp); - (pInst->*set)(temp); - } - } - template - void Value(const char* name, InterpolatedValue_tpl& val) - { - if (IsWriting()) - { - T a = val.Get(); - Value(name, a); - } - - if (IsReading()) - { - T a; - Value(name, a); - val.SetGoal(a); - } - } - - template - void Value(const char* name, InterpolatedValue_tpl& val, int policy) - { - if (IsWriting()) - { - T a = val.Get(); - Value(name, a, policy); - } - - if (IsReading()) - { - T a; - Value(name, a, policy); - val.SetGoal(a); - } - } - - bool ValueChar(const char* name, char* buffer, int len) - { - AZStd::string temp; - if (IsReading()) - { - Value(name, temp); - if ((int)temp.length() > len - 1) - { - return false; // truncated read - } - memcpy(buffer, temp.data(), temp.length() + 1); - buffer[len - 1] = 0; - } - else - { - temp = AZStd::string(buffer, buffer + len); - Value(name, temp); - } - return true; - } - - template - void ValueWithDefault(const char* name, T& x, const T& defaultValue) - { - m_pSerialize->ValueWithDefault(name, x, defaultValue); - } - - void ValueWithDefault(const char* szName, AZStd::string& value, const AZStd::string& defaultValue) - { - static SSerializeString defaultSerializeString; - - { - defaultSerializeString.set_string(defaultValue); - } - - SSerializeString& serializeString = SetSharedSerializeString(value); - m_pSerialize->ValueWithDefault(szName, serializeString, defaultSerializeString); - if (IsReading()) - { - value = serializeString.c_str(); - } - } - - template - void Value(const char* szName, T_Class* pInst, T_Value (T_Class::* get)() const, void (T_Class::* set)(T_Value), - const T_SerializationPolicy& policy) - { - if (IsWriting()) - { - T_Value temp = (pInst->*get)(); - Value(szName, temp, policy); - } - else - { - T_Value temp = static_cast(0); - Value(szName, temp, policy); - (pInst->*set)(temp); - } - } - - // a value that is written by referring to a map of key/value pairs - we receive the key, and write the value - template - void MappedValue(const char* szName, T_Key& value, const T_Map& mapper) - { - typedef typename T_Map::ValueType T_Value; - - if (IsWriting()) - { - T_Value write = mapper.KeyToValue(value); - Value(szName, write); - } - else - { - T_Value read; - Value(szName, read); - value = mapper.ValueToKey(read); - } - } - -#define CONTAINER_VALUE(container_type, insert_function) \ - template \ - void Value(const char* name, container_type&cont) \ - { \ - if (!BeginOptionalGroup(name, true)) {return; } \ - if (IsWriting()) \ - { \ - uint32 count = cont.size(); \ - Value("Size", count); \ - for (typename container_type::iterator iter = cont.begin(); iter != cont.end(); ++iter) \ - { \ - BeginGroup("i"); \ - T_Value value = *iter; \ - Value("v", value); \ - EndGroup(); \ - } \ - } \ - else \ - { \ - cont.clear(); \ - uint32 count = 0; \ - Value("Size", count); \ - while (count--) \ - { \ - BeginGroup("i"); \ - T_Value temp; \ - Value("v", temp); \ - cont.insert_function(temp); \ - EndGroup(); \ - } \ - } \ - EndGroup(); \ - } \ - template \ - void MappedValue(const char* name, container_type&cont, const T_Map&mapper) \ - { \ - if (!BeginOptionalGroup(name, true)) {return; } \ - if (IsWriting()) \ - { \ - uint32 count = cont.size(); \ - Value("Size", count); \ - for (typename container_type::iterator iter = cont.begin(); iter != cont.end(); ++iter) \ - { \ - BeginGroup("i"); \ - MappedValue("v", *iter, mapper); \ - EndGroup(); \ - } \ - } \ - else \ - { \ - cont.clear(); \ - uint32 count = 0; \ - Value("Size", count); \ - while (count--) \ - { \ - BeginGroup("i"); \ - T_Value temp; \ - MappedValue("v", temp, mapper); \ - cont.insert_function(temp); \ - EndGroup(); \ - } \ - } \ - EndGroup(); \ - } - -#define PAIR_CONTAINER_VALUE(container_type, insert_function) \ - template \ - void Value(const char* name, container_type, Allocator>&cont) \ - { \ - if (!BeginOptionalGroup(name, true)) {return; } \ - if (IsWriting()) \ - { \ - uint32 count = cont.size(); \ - Value("Size", count); \ - for (typename container_type, Allocator>::iterator iter = cont.begin(); iter != cont.end(); ++iter) \ - { \ - BeginGroup("i"); \ - T_Value1 value1 = iter->first; \ - T_Value2 value2 = iter->second; \ - Value("v1", value1); \ - Value("v2", value2); \ - EndGroup(); \ - } \ - } \ - else \ - { \ - cont.clear(); \ - uint32 count = 0; \ - Value("Size", count); \ - while (count--) \ - { \ - BeginGroup("i"); \ - T_Value1 temp1; \ - T_Value2 temp2; \ - Value("v1", temp1); \ - Value("v2", temp2); \ - cont.insert_function(std::pair(temp1, temp2)); \ - EndGroup(); \ - } \ - } \ - EndGroup(); \ - } \ - - CONTAINER_VALUE(std::vector, push_back); - CONTAINER_VALUE(std::list, push_back); - CONTAINER_VALUE(std::set, insert); - CONTAINER_VALUE(std::deque, push_back); - - PAIR_CONTAINER_VALUE(std::list, push_back); - PAIR_CONTAINER_VALUE(std::vector, push_back); - - template - void DummyValues(uint32 numDummyValues) - { - T_Value dummyValue; - for (uint32 i = 0; i < numDummyValues; ++i) - { - Value("Value", dummyValue); - } - } - - template - void Value(const char* name, MiniQueue& cont) - { - if (!BeginOptionalGroup(name, true)) - { - return; - } - if (IsWriting()) - { - uint32 count = cont.Size(); - Value("Size", count); - for (typename MiniQueue::SIterator iter = cont.Begin(); iter != cont.End(); ++iter) - { - T_Value value = *iter; - Value("Value", value); - } - } - else - { - cont.Clear(); - uint32 count = 0; - Value("Size", count); - while (count--) - { - T_Value temp; - Value("Value", temp); - cont.Push(temp); - } - } - DummyValues(cont.Capacity() - cont.Size()); - EndGroup(); - } - template - void MappedValue(const char* name, MiniQueue& cont, const T_Map& mapper) - { - if (!BeginOptionalGroup(name, true)) - { - return; - } - if (IsWriting()) - { - uint8 count = cont.Size(); - Value("Size", count); - for (typename MiniQueue::SIterator iter = cont.Begin(); iter != cont.End(); ++iter) - { - BeginGroup("i"); - MappedValue("Value", *iter, mapper); - EndGroup(); - } - } - else - { - cont.Clear(); - uint8 count = 0; - Value("Size", count); - while (count--) - { - BeginGroup("i"); - T_Value temp; - MappedValue("Value", temp, mapper); - cont.Push(temp); - EndGroup(); - } - } - EndGroup(); - } - -#define MAP_CONTAINER_VALUE(container_type) \ - template \ - void Value(const char* name, container_type&cont) \ - { \ - if (!BeginOptionalGroup(name, true)) {return; } \ - if (IsWriting()) \ - { \ - uint32 count = (uint32)cont.size(); \ - Value("Size", count); \ - for (typename container_type::iterator iter = cont.begin(); iter != cont.end(); ++iter) \ - { \ - T_Key tempKey = iter->first; \ - BeginGroup("pair"); \ - Value("k", tempKey); \ - Value("v", iter->second); \ - EndGroup(); \ - } \ - } \ - else \ - { \ - cont.clear(); \ - uint32 count; \ - Value("Size", count); \ - while (count--) \ - { \ - std::pair temp; \ - BeginGroup("pair"); \ - Value("k", temp.first); \ - Value("v", temp.second); \ - EndGroup(); \ - cont.insert(temp); \ - } \ - } \ - EndGroup(); \ - } - -#define HASH_CONTAINER_VALUE(container_type) \ - template \ - void Value(const char* name, container_type&cont) \ - { \ - if (!BeginOptionalGroup(name, true)) {return; } \ - if (IsWriting()) \ - { \ - uint32 count = (uint32)cont.size(); \ - Value("Size", count); \ - for (typename container_type::iterator iter = cont.begin(); iter != cont.end(); ++iter) \ - { \ - T_Key tempKey = iter->first; \ - BeginGroup("pair"); \ - Value("k", tempKey); \ - Value("v", iter->second); \ - EndGroup(); \ - } \ - } \ - else \ - { \ - cont.clear(); \ - uint32 count; \ - Value("Size", count); \ - while (count--) \ - { \ - AZStd::pair temp; \ - BeginGroup("pair"); \ - Value("k", temp.first); \ - Value("v", temp.second); \ - EndGroup(); \ - cont.insert(temp); \ - } \ - } \ - EndGroup(); \ - } - MAP_CONTAINER_VALUE(std::map); - MAP_CONTAINER_VALUE(std::multimap); - MAP_CONTAINER_VALUE(VectorMap); - - HASH_CONTAINER_VALUE(AZStd::unordered_map); - - template - ILINE void EnumValue(const char* szName, T_Value& value, - T_Value first, T_Value last) - { - int32 nValue = int32(value) - first; - Value(szName, nValue, ISerialize::ENUM_POLICY_TAG | (last - first)); - value = T_Value(nValue + first); - } - template - ILINE void EnumValue(const char* szName, - T_Class* pClass, T_Value (T_Class::* GetValue)() const, void (T_Class::* SetValue)(T_Value), - T_Value first, T_Value last) - { - bool w = IsWriting(); - int nValue; - if (w) - { - nValue = int32((pClass->*GetValue)()) - first; - } - Value(szName, nValue, ISerialize::ENUM_POLICY_TAG | (last - first)); - if (!w) - { - (pClass->*SetValue)(T_Value(nValue + first)); - } - } - /* - // we can request that a functor be called whenever our values - // are being updated by calling this function - template - ILINE void OnUpdate( F_Update& update ) - { - CUpdateFunction func(update); - m_pSerialize->Update( &func ); - } - template - ILINE void OnUpdate( T * pCls, void (T::*func)() ) - { - class CFunc : public IUpdateFunction - { - public: - CFunc( T * pCls, void (T::*func)() ) : m_pCls(pCls), m_func(func) {} - virtual void Execute() - { - (m_pCls->*m_func)(); - } - private: - T * m_pCls; - void (T::*m_func)(); - }; - CFunc ifunc( pCls, func ); - m_pSerialize->Update( &ifunc ); - } - */ // groups help us find common data ILINE void BeginGroup(const char* szName) { @@ -791,12 +211,6 @@ public: m_pSerialize->EndGroup(); } - // fetch the serialization target - ILINE ESerializationTarget GetSerializationTarget() const - { - return m_pSerialize->GetSerializationTarget(); - } - ILINE bool IsWriting() const { return !m_pSerialize->IsReading(); @@ -805,27 +219,12 @@ public: { return m_pSerialize->IsReading(); } - ILINE bool ShouldCommitValues() const - { - assert(m_pSerialize->IsReading()); - return m_pSerialize->ShouldCommitValues(); - } - - ILINE bool Ok() const - { - return m_pSerialize->Ok(); - } friend ILINE TISerialize* GetImpl(CSerializeWrapper ser) { return ser.m_pSerialize; } - ILINE void FlagPartialRead() - { - m_pSerialize->FlagPartialRead(); - } - operator CSerializeWrapper() { return CSerializeWrapper(m_pSerialize); @@ -844,65 +243,3 @@ private: // default serialize class to use!! typedef CSerializeWrapper TSerialize; - -// simple struct to declare something serializable... useful for -// exposition -struct ISerializable -{ - virtual ~ISerializable(){} - virtual void SerializeWith(TSerialize) = 0; -}; - -template -void ISerialize::Value(const char* name, B& x, uint32 policy) -{ - if (!BeginOptionalGroup(name, true)) - { - return; - } - TSerialize ser(this); - x.Serialize(ser); - EndGroup(); -} -// -//template <> -//void ISerialize::Value(const char * name, AZ::Vector3& x, uint32 policy) -//{ -// -//} - -// Based off ValueWithDefault in SimpleSerialize.h -template -void ISerialize::ValueWithDefault(const char* name, B& x, const B& defaultValue) -{ - if (BeginOptionalGroup(name, x != defaultValue)) - { - TSerialize ser(this); - x.Serialize(ser); - EndGroup(); - } - else if (IsReading()) - { - x = defaultValue; - } -} - -////////////////////////////////////////////////////////////////////////// -// Used to automatically Begin/End group in serialization stream -////////////////////////////////////////////////////////////////////////// -struct SSerializeScopedBeginGroup -{ - SSerializeScopedBeginGroup(TSerialize& ser, const char* sGroupName) - { - m_pSer = &ser; - m_pSer->BeginGroup(sGroupName); - } - ~SSerializeScopedBeginGroup() - { - m_pSer->EndGroup(); - } -private: - TSerialize* m_pSer; -}; - -#endif // CRYINCLUDE_CRYCOMMON_ISERIALIZE_H diff --git a/Code/Legacy/CryCommon/IShader.h b/Code/Legacy/CryCommon/IShader.h index e9a00d3b76..208af79ece 100644 --- a/Code/Legacy/CryCommon/IShader.h +++ b/Code/Legacy/CryCommon/IShader.h @@ -41,7 +41,6 @@ enum EEfResTextures : int // This needs a fixed size so the enum can be forward enum EParamType { eType_UNKNOWN, - eType_BYTE, eType_BOOL, eType_SHORT, eType_INT, @@ -90,10 +89,6 @@ struct SShaderItem IRenderShaderResources* m_pShaderResources; int32 m_nTechnique; uint32 m_nPreprocessFlags; - - bool Update(); - bool RefreshResourceConstants(); - inline struct SShaderTechnique* GetTechnique() const; }; struct IAnimNode; diff --git a/Code/Legacy/CryCommon/ISplines.h b/Code/Legacy/CryCommon/ISplines.h index a1c5c674b0..5104e80bc0 100644 --- a/Code/Legacy/CryCommon/ISplines.h +++ b/Code/Legacy/CryCommon/ISplines.h @@ -347,8 +347,6 @@ namespace spline m_c[3] = T((2.0f * v0 - 2.0f * v1 + s0 + s1) * idt * idt * idt); } } - - void GetMemoryUsage(ICrySizer* pSizer) const {} }; inline float fast_fmod(float x, float y) @@ -410,7 +408,7 @@ namespace spline //! TCB spline key used in quaternion spline with angle axis as input. struct TCBAngAxisKey - : public TCBSplineKey + : public TCBSplineKey { float angle; Vec3 axis; diff --git a/Code/Legacy/CryCommon/IStatObj.h b/Code/Legacy/CryCommon/IStatObj.h index b2cde275c5..a809064bcc 100644 --- a/Code/Legacy/CryCommon/IStatObj.h +++ b/Code/Legacy/CryCommon/IStatObj.h @@ -5,43 +5,14 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ - - #pragma once -#include "smartptr.h" // TYPEDEF_AUTOPTR -#include "IMaterial.h" - -// forward declarations -////////////////////////////////////////////////////////////////////// -struct ShadowMapFrustum; -struct SRenderingPassInfo; -struct SRendItemSorter; -struct ITetrLattice; -struct SPhysGeomArray; -struct CStatObj; - -class CRenderObject; -class CDLight; -class IReadStream; -class CLodValue; - - -TYPEDEF_AUTOPTR(IReadStream); - -//! Interface to non animated object -struct phys_geometry; -struct IChunkFile; - -// General forward declaration. -struct SMeshLodInfo; - -#include "Cry_Color.h" #include "Cry_Math.h" #include "Cry_Geo.h" -#include "CrySizer.h" +#include "IMaterial.h" -#define MAX_STATOBJ_LODS_NUM 6 +// General forward declaration. +struct SRenderingPassInfo; ////////////////////////////////////////////////////////////////////////// // Type of static sub object. @@ -50,184 +21,46 @@ enum EStaticSubObjectType { STATIC_SUB_OBJECT_MESH, // This simple geometry part of the multi-sub object geometry. STATIC_SUB_OBJECT_HELPER_MESH, // Special helper mesh, not rendered usually, used for broken pieces. - STATIC_SUB_OBJECT_POINT, - STATIC_SUB_OBJECT_DUMMY, - STATIC_SUB_OBJECT_XREF, - STATIC_SUB_OBJECT_CAMERA, - STATIC_SUB_OBJECT_LIGHT, }; -////////////////////////////////////////////////////////////////////////// -// Flags that can be set on static object. -////////////////////////////////////////////////////////////////////////// -enum EStaticObjectFlags -{ - STATIC_OBJECT_HIDDEN = BIT(0), // When set static object will not be displayed. - STATIC_OBJECT_CLONE = BIT(1), // specifies whether this object was cloned for modification - STATIC_OBJECT_GENERATED = BIT(2), // tells that the object was generated procedurally (breakable obj., f.i.) - STATIC_OBJECT_CANT_BREAK = BIT(3), // StatObj has geometry unsuitable for procedural breaking - STATIC_OBJECT_DEFORMABLE = BIT(4), // StatObj can be procedurally smeared (using SmearStatObj) - STATIC_OBJECT_COMPOUND = BIT(5), // StatObj has subobject meshes - STATIC_OBJECT_MULTIPLE_PARENTS = BIT(6), // Child StatObj referenced by several parents - - // Collisions - STATIC_OBJECT_NO_PLAYER_COLLIDE = BIT(10), - - // Special flags. - STATIC_OBJECT_SPAWN_ENTITY = BIT(20), // StatObj spawns entity when broken. - STATIC_OBJECT_NO_AUTO_HIDEPOINTS = BIT(22), // Do not generate AI auto hide points around object if it's dynamic - STATIC_OBJECT_DYNAMIC = BIT(23), // mesh data should be kept in system memory (and yes, the name *is* an oxymoron) -}; - -#define HIT_NO_HIT (-1) -#define HIT_UNKNOWN (-2) - -#define HIT_OBJ_TYPE_BRUSH 0 -#define HIT_OBJ_TYPE_TERRAIN 1 -#define HIT_OBJ_TYPE_VISAREA 2 - // used for on-CPU voxelization -struct SRayHitTriangle -{ - SRayHitTriangle() { ZeroStruct(*this); } - Vec3 v[3]; - Vec2 t[3]; - ColorB c[3]; - Vec3 n; - _smart_ptr pMat; - uint8 nTriArea; - uint8 nOpacity; - uint8 nHitObjType; -}; - struct SRayHitInfo { SRayHitInfo() { memset(this, 0, sizeof(*this)); - nHitTriID = HIT_UNKNOWN; } ////////////////////////////////////////////////////////////////////////// // Input parameters. Vec3 inReferencePoint; Ray inRay; - bool bInFirstHit; - bool inRetTriangle; - bool bUseCache; - bool bOnlyZWrite; - bool bGetVertColorAndTC; - float fMaxHitDistance; // When not 0, only hits with closer distance will be registered. - Vec3 vTri0; - Vec3 vTri1; - Vec3 vTri2; - float fMinHitOpacity; ////////////////////////////////////////////////////////////////////////// // Output parameters. - float fDistance; // Distance from reference point. Vec3 vHitPos; Vec3 vHitNormal; - int nHitMatID; // Material Id that was hit. - int nHitTriID; // Triangle Id that was hit. - int nHitSurfaceID; // Material Id that was hit. - struct IRenderMesh* pRenderMesh; - struct IStatObj* pStatObj; - Vec2 vHitTC; - Vec4 vHitColor; - Vec4 vHitTangent; - Vec4 vHitBitangent; - PodArray* pHitTris; -}; -enum EFileStreamingStatus -{ - ecss_NotLoaded, - ecss_InProgress, - ecss_Ready + // More inputs + bool bInFirstHit; + bool bUseCache; }; -struct SMeshBoneMapping_uint8; -struct SSpine; -struct SMeshColor; - // Summary: // Interface to hold static object data struct IStatObj { - //! Loading flags - enum ELoadingFlags - { - ELoadingFlagsPreviewMode = BIT(0), - ELoadingFlagsForceBreakable = BIT(1), - ELoadingFlagsIgnoreLoDs = BIT(2), - ELoadingFlagsTessellate = BIT(3), // if e_StatObjTessellation enabled - ELoadingFlagsJustGeometry = BIT(4), // for streaming, to avoid parsing all chunks - }; - ////////////////////////////////////////////////////////////////////////// // SubObject ////////////////////////////////////////////////////////////////////////// struct SSubObject { - SSubObject() { bShadowProxy = 0; } - EStaticSubObjectType nType; - AZStd::string name; - AZStd::string properties; - int nParent; // Index of the parent sub object, if there`s hierarchy between them. - Matrix34 tm; // Transformation matrix. Matrix34 localTM; // Local transformation matrix, relative to parent. IStatObj* pStatObj; // Static object for sub part of CGF. - Vec3 helperSize; // Size of the helper (if helper). - struct IRenderMesh* pWeights; // render mesh with a single deformation weights stream - unsigned int bIdentityMatrix : 1; // True if sub object matrix is identity. - unsigned int bHidden : 1; // True if sub object is hidden - unsigned int bShadowProxy : 1; // Child StatObj has 'shadowproxy' in name - unsigned int nBreakerJoints : 8; // number of joints that can switch this part to a broken state - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(name); - pSizer->AddObject(properties); - } }; ////////////////////////////////////////////////////////////////////////// - // - // Description: - // Increase the reference count of the object. - // Summary: - // Notifies that the object is being used - virtual int AddRef() = 0; - - // Description: - // Decrease the reference count of the object. If the reference count - // reaches zero, the object will be deleted from memory. - // Summary: - // Notifies that the object is no longer needed - virtual int Release() = 0; - - // Description: - // Set static object flags. - // Arguments: - // nFlags - flags to set, a combination of EStaticObjectFlags values. - virtual void SetFlags(int nFlags) = 0; - - // Description: - // Retrieve flags set on the static object. - virtual int GetFlags() const = 0; - - // Sets the default object indicator - virtual void SetDefaultObject(bool state) = 0; - - // Description: - // Retrieves the internal flag m_nVehicleOnlyPhysics. - virtual unsigned int GetVehicleOnlyPhysics() = 0; - - // Description: - // Retrieves the internal flag m_bBreakableByGame. - virtual unsigned int GetBreakableByGame() = 0; - + virtual ~IStatObj() {} // Description: // Provide access to the faces, vertices, texture coordinates, normals and // colors of the object used later for CRenderMesh construction. @@ -237,86 +70,6 @@ struct IStatObj // Get the object source geometry virtual struct IIndexedMesh* GetIndexedMesh(bool bCreateIfNone = false) = 0; - // Description: - // Create an empty indexed mesh ready to be filled with data - // If an indexed mesh already exists it is returned - // Return Value: - // An empty indexed mesh or the existing indexed mesh - virtual struct IIndexedMesh* CreateIndexedMesh() = 0; - - //! Access to rendering geometry for indoor engine ( optimized vert arrays, lists of shader pointers ) - virtual struct IRenderMesh* GetRenderMesh() = 0; - - // Description: - // Sets and replaces the physical representation of the object. - // Arguments: - // pPhysGeom - A pointer to a phys_geometry class. - // nType - Pass 0 to set the physic geometry or pass 1 to set the obstruct geometry - // Summary: - // Set the physic representation - virtual void SetPhysGeom(phys_geometry* pPhysGeom, int nType = 0) = 0; - - virtual float GetAIVegetationRadius() const = 0; - virtual void SetAIVegetationRadius(float radius) = 0; - - // Description: - // Set default material for the geometry. - // Arguments: - // pMaterial - A valid pointer to the material. - virtual void SetMaterial(_smart_ptr pMaterial) = 0; - - // Description: - // Returns default material of the geometry. - // Arguments: - // nType - Pass 0 to get the physic geometry or pass 1 to get the obstruct geometry - // Return Value: - // A pointer to a phys_geometry class. - virtual _smart_ptr GetMaterial() = 0; - virtual const _smart_ptr GetMaterial() const = 0; - - // Return Value: - // A Vec3 object containing the bounding box. - // Summary: - // Get the minimal bounding box component - virtual Vec3 GetBoxMin() = 0; - - // Return Value: - // A Vec3 object containing the bounding box. - // Summary: - // Get the minimal bounding box component - virtual Vec3 GetBoxMax() = 0; - - // Arguments: - // Minimum bounding box component - // Summary: - // Set the minimum bounding box component - virtual void SetBBoxMax(const Vec3& vBBoxMax) = 0; - - // Summary: - // Get the object radius - // Return Value: - // A float containing the radius - virtual float GetRadius() = 0; - - // Description: - // Reloads one or more component of the object. The possible flags - // are FRO_SHADERS, FRO_TEXTURES and FRO_GEOMETRY. - // Arguments: - // nFlags - One or more flag which indicate which element of the object - // to reload - // Summary: - // Reloads the object - virtual void Refresh(int nFlags) = 0; - - // Description: - // Registers the object elements into the renderer. - // Arguments: - // rParams - Render parameters - // nLogLevel - Level of the LOD - // Summary: - // Renders the object - virtual void Render(const struct SRendParams& rParams, const SRenderingPassInfo& passInfo) = 0; - // Summary: // Get the bounding box // Arguments: @@ -324,13 +77,6 @@ struct IStatObj // Maxs - Position of the top right far corner of the bounding box virtual AABB GetAABB() = 0; - // Summary: - // Generate a random point in object. - // Arguments: - // eForm - Object aspect to generate on (surface, volume, etc) - virtual float GetExtent(EGeomForm eForm) = 0; - virtual void GetRandomPos(PosNorm& ran, EGeomForm eForm) const = 0; - // Description: // Returns the LOD object, if present. // Arguments: @@ -341,64 +87,6 @@ struct IStatObj // Summary: // Get the LOD object virtual IStatObj* GetLodObject(int nLodLevel, bool bReturnNearest = false) = 0; - virtual IStatObj* GetLowestLod() = 0; - virtual int FindNearesLoadedLOD(int nLodIn, bool bSearchUp = false) = 0; - virtual int FindHighestLOD(int nBias) = 0; - - virtual AZStd::string& GetFileName() = 0; - virtual const AZStd::string& GetFileName() const = 0; - - // Summary: - // Returns the filename of the object - // Return Value: - // A null terminated string which contain the filename of the object. - virtual const char* GetFilePath() const = 0; - - // Summary: - // Set the filename of the object - // Arguments: - // szFileName - New filename of the object - // Return Value: - // None - virtual void SetFilePath(const char* szFileName) = 0; - - // Description: - // Will return the position of the helper named in the argument. The - // helper should have been specified during the exporting process of - // the cgf file. - // Arguments: - // szHelperName - A null terminated string holding the name of the helper - // Return Value: - // A Vec3 object which contains the position. - // Summary: - // Gets the position of a specified helper - virtual Vec3 GetHelperPos(const char* szHelperName) = 0; - - // Summary: - // Gets the transformation matrix of a specified helper, see GetHelperPos - virtual const Matrix34& GetHelperTM(const char* szHelperName) = 0; - - //! Tell us if the object is not found - virtual bool IsDefaultObject() = 0; - - // Summary: - // Free the geometry data - virtual void FreeIndexedMesh() = 0; - - // Pushes the underlying tree of objects into the given Sizer object for statistics gathering - virtual void GetMemoryUsage(class ICrySizer* pSizer) const = 0; - - //DOC-IGNORE-BEGIN - //! used for sprites - virtual float& GetRadiusVert() = 0; - - //! used for sprites - virtual float& GetRadiusHors() = 0; - //DOC-IGNORE-END - - // Summary: - // Determines if the object has physics capabilities - virtual bool IsPhysicsExist() = 0; // Summary: // Returns a pointer to the object @@ -406,12 +94,6 @@ struct IStatObj // A pointer to the current object, which is simply done like this "return this;" virtual struct IStatObj* GetIStatObj() { return this; } - // Summary: - // Invalidates geometry inside IStatObj, will mark hosted IIndexedMesh as invalid. - // Arguments: - // bPhysics - if true will also recreate physics for indexed mesh. - virtual void Invalidate(bool bPhysics = false, float tolerance = 0.05f) = 0; - ////////////////////////////////////////////////////////////////////////// // Interface to the Sub Objects. ////////////////////////////////////////////////////////////////////////// @@ -419,174 +101,10 @@ struct IStatObj // Retrieve number of sub-objects. virtual int GetSubObjectCount() const = 0; // Summary: - // Sets number of sub-objects. - virtual void SetSubObjectCount(int nCount) = 0; - // Summary: // Retrieve sub object by index, where 0 <= nIndex < GetSubObjectCount() - virtual IStatObj::SSubObject* GetSubObject(int nIndex) = 0; - // Summary: - // Check if this object is sub object of another IStatObj. - virtual bool IsSubObject() const = 0; - // Summary: - // Retrieve parent static object, only relevant when this IStatObj is Sub-object. - virtual IStatObj* GetParentObject() const = 0; - // Summary: - // Retrieve the static object, from which this one was cloned (if that is the case) - virtual IStatObj* GetCloneSourceObject() const = 0; - // Summary: - // Find sub-pbject by name. - virtual IStatObj::SSubObject* FindSubObject(const char* sNodeName) = 0; - // Find sub-object by name (including spaces, comma and semi-colon. - virtual IStatObj::SSubObject* FindSubObject_CGA(const char* sNodeName) = 0; - - // Summary: - // Find object by full name (use all the characters) - virtual IStatObj::SSubObject* FindSubObject_StrStr(const char* sNodeName) = 0; - // Remove Sub-Object. - virtual bool RemoveSubObject(int nIndex) = 0; - // Copy Sub-Object. - virtual bool CopySubObject(int nToIndex, IStatObj* pFromObj, int nFromIndex) = 0; - // adds a new sub object - virtual IStatObj::SSubObject& AddSubObject(IStatObj* pStatObj) = 0; - - virtual bool IsDeformable() = 0; - - ////////////////////////////////////////////////////////////////////////// - // Save contents of static object to the CGF file. - ////////////////////////////////////////////////////////////////////////// - // Save object to the CGF file. - // Arguments: - // sFilename - // Filename of the CGF file. - // Note that the function fails if pOutChunkFile is NULL and the path - // to the file does not exist on the drive. You can call - // CFileUtil::CreatePath() before SaveToCGF() call to create all - // folders that do not exist yet. - // pOutChunkFile - // Optional output parameter. If it is specified then the file will not be written to - // the drive but instead the function returns a pointer to the IChunkFile interface with - // filled CGF chunks. Caller of the function is responsible to call Release method - // of IChunkFile to release it later. - virtual bool SaveToCGF(const char* sFilename, IChunkFile** pOutChunkFile = NULL, bool bHavePhysicalProxy = false) = 0; - - ////////////////////////////////////////////////////////////////////////// - // Summary: - // Clones static geometry, Makes an exact copy of the Static object and the contained geometry. - //virtual IStatObj* Clone(bool bCloneChildren=true, bool nDynamic=false) = 0; - - ////////////////////////////////////////////////////////////////////////// - // Summary: - // Clones static geometry, Makes an exact copy of the Static object and the contained geometry. - virtual IStatObj* Clone(bool bCloneGeometry, bool bCloneChildren, bool bMeshesOnly) = 0; - - ////////////////////////////////////////////////////////////////////////// - // Summary: - // makes sure that both objects have one-to-one vertex correspondance - // sets MorphBuddy for this object's render mesh - // returns 0 if failed (due to objects having no vertex maps most likely) - virtual int SetDeformationMorphTarget(IStatObj* pDeformed) = 0; - - // chages the weights of the deformation morphing according to point, radius, and strength - // (radius==0 updates all weights of all vertices) - // if the object is a compound object, updates the weights of its subobjects that have deformation morphs; clones the object if necessary - // otherwise, updates the weights passed as a pWeights param - virtual IStatObj* DeformMorph(const Vec3& pt, float r, float strength, IRenderMesh* pWeights = 0) = 0; - - // hides all non-physicalized geometry, clones the object if necessary - virtual IStatObj* HideFoliage() = 0; - - // Get object properties as loaded from CGF. - virtual const char* GetProperties() = 0; - - // Get physical properties specified for object. - virtual bool GetPhysicalProperties(float& mass, float& density) = 0; - - // Returns the last B operand for this object as A, along with its relative scale - virtual IStatObj* GetLastBooleanOp(float& scale) = 0; + virtual SSubObject* GetSubObject(int nIndex) = 0; // Intersect ray with static object. // Ray must be in object local space. - virtual bool RayIntersection(SRayHitInfo& hitInfo, _smart_ptr pCustomMtl = 0) = 0; - - // Intersect lineseg with static object. Works on dedi server as well. - // Lineseg must be in object local space. Returns the hit position and the surface type id of the point hit. - virtual bool LineSegIntersection(const Lineseg& lineSeg, Vec3& hitPos, int& surfaceTypeId) = 0; - - // Debug Draw this static object. - virtual void DebugDraw(const struct SGeometryDebugDrawInfo& info, float fExtrdueScale = 0.01f) = 0; - - // Returns initial hide mask - virtual uint64 GetInitialHideMask() = 0; - - // Updates hide mask as new mask = (mask & maskAND) | maskOR - virtual uint64 UpdateInitialHideMask(uint64 maskAND = 0ul - 1ul, uint64 maskOR = 0) = 0; - - // Set the filename of the mesh of the next state (for example damaged version) - virtual void SetStreamingDependencyFilePath(const char* szFileName) = 0; - - virtual void ComputeGeometricMean(SMeshLodInfo& lodInfo) = 0; - - // Returns the distance for the first LOD switch. Used for brushes and vegetation. - virtual float GetLodDistance() const = 0; - - // Returns true if the mesh has been stripped - virtual bool IsMeshStrippedCGF() const = 0; - - virtual void LoadLowLODs(bool bUseStreaming, unsigned long nLoadingFlags) = 0; - - // Indicates if lods have been loaded - virtual bool AreLodsLoaded() const = 0; - - // Indicates if a garbage check should be done - virtual bool CheckGarbage() const = 0; - - // Sets state of check garbage flags - virtual void SetCheckGarbage(bool val) = 0; - - // Returns the number of child references - virtual int CountChildReferences() const = 0; - - // Returns the user count - virtual int GetUserCount() const = 0; - - // Shutdown - virtual void ShutDown() = 0; - - virtual int GetMaxUsableLod() const = 0; - virtual int GetMinUsableLod() const = 0; - - virtual SMeshBoneMapping_uint8* GetBoneMapping() const = 0; - - virtual int GetSpineCount() const = 0; - virtual SSpine* GetSpines() const = 0; - - virtual IStatObj* GetLodLevel0() = 0; - virtual void SetLodLevel0(IStatObj* lod) = 0; - virtual _smart_ptr* GetLods() = 0; - virtual int GetLoadedLodsNum() = 0; - - virtual bool UpdateStreamableComponents(float fImportance, const Matrix34A& objMatrix, bool bFullUpdate, int nNewLod) = 0; - - virtual SPhysGeomArray& GetArrPhysGeomInfo() = 0; - virtual bool IsLodsAreLoadedFromSeparateFile() = 0; - - virtual void StartStreaming(bool bFinishNow, IReadStream_AutoPtr* ppStream) = 0; - virtual void UpdateStreamingPrioriryInternal(const Matrix34A& objMatrix, float fDistance, bool bFullUpdate) = 0; - - virtual void SetMerged(bool state) = 0; - - virtual int GetRenderMeshMemoryUsage() const = 0; - virtual void SetLodObject(int nLod, IStatObj* pLod) = 0; - virtual int GetLoadedTrisCount() const = 0; - virtual int GetRenderTrisCount() const = 0; - virtual int GetRenderMatIds() const = 0; - - virtual bool IsUnmergable() const = 0; - virtual void SetUnmergable(bool state) = 0; - - virtual int GetSubObjectMeshCount() const = 0; - virtual void SetSubObjectMeshCount(int count) = 0; - virtual void CleanUnusedLods() = 0; - - virtual AZStd::vector& GetClothData() = 0; + virtual bool RayIntersection(SRayHitInfo& hitInfo, IMaterial* pCustomMtl = nullptr) = 0; }; diff --git a/Code/Legacy/CryCommon/ISurfaceType.h b/Code/Legacy/CryCommon/ISurfaceType.h deleted file mode 100644 index 10bddbbe6c..0000000000 --- a/Code/Legacy/CryCommon/ISurfaceType.h +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Defines interfaces to access Surface Types. - - -#ifndef CRYINCLUDE_CRYCOMMON_ISURFACETYPE_H -#define CRYINCLUDE_CRYCOMMON_ISURFACETYPE_H -#pragma once - -////////////////////////////////////////////////////////////////////////// -// Flags that ISurfaceType::GetFlags() can return. -////////////////////////////////////////////////////////////////////////// -enum ESurfaceTypeFlags -{ - SURFACE_TYPE_NO_PHYSICALIZE = BIT(1), // This surface should not be physicalized. - SURFACE_TYPE_NO_COLLIDE = BIT(2), // Should only be set for vegetation canopy mats - SURFACE_TYPE_VEHICLE_ONLY_COLLISION = BIT(3), - SURFACE_TYPE_CAN_SHATTER = BIT(4), // This surface type can shatter - SURFACE_TYPE_BULLET_PIERCEABLE = BIT(5), // This surface is pierceable by bullets (used by MFX system to spawn front/back FX) -}; - -// Parameter structure passed to ISurfaceType::Execute -struct SSurfaceTypeExecuteParams -{ - Vec3 hitPoint; - Vec3 hitNormal; - int hitType; -}; - -#define SURFACE_BREAKAGE_TYPE(x) x - -////////////////////////////////////////////////////////////////////////// -// Surface definition. -////////////////////////////////////////////////////////////////////////// -struct ISurfaceType -{ - ////////////////////////////////////////////////////////////////////////// - struct SSurfaceTypeAIParams - { - float fImpactRadius; - float fImpactSoundRadius; - float fFootStepRadius; - float proneMult; - float crouchMult; - float movingMult; - - SSurfaceTypeAIParams() - { - fImpactRadius = 2.5f; - fImpactSoundRadius = 20.0f; - fFootStepRadius = 20.0f; - proneMult = 0.2f; - crouchMult = 0.5f; - movingMult = 2.5f; - } - }; - struct SPhysicalParams - { - int breakable_id; - int break_energy; - float hole_size; - float hole_size_explosion; - float hit_radius; - float hit_points; - float hit_points_secondary; - float hit_maxdmg; - float hit_lifetime; - int pierceability; - float damage_reduction; - float ric_angle; - float ric_dam_reduction; - float ric_vel_reduction; - float friction; - float bouncyness; - int iBreakability; - int collType; - float sound_obstruction; - }; - struct SBreakable2DParams - { - AZStd::string particle_effect; - float blast_radius; - float blast_radius_first; - float vert_size_spread; - int rigid_body; - float life_time; - float cell_size; - int max_patch_tris; - float filter_angle; - float shard_density; - int use_edge_alpha; - float crack_decal_scale; - AZStd::string crack_decal_mtl; - float max_fracture; - AZStd::string full_fracture_fx; - AZStd::string fracture_fx; - int no_procedural_full_fracture; - AZStd::string broken_mtl; - float destroy_timeout; - float destroy_timeout_spread; - - SBreakable2DParams() - : blast_radius(0) - , rigid_body(0) - , life_time(0) - , cell_size(0) - , max_patch_tris(0) - , shard_density(0) - , crack_decal_scale(0) - , max_fracture(1.0f) - , vert_size_spread(0) - , filter_angle(0) - , use_edge_alpha(0) - , blast_radius_first(0) - , no_procedural_full_fracture(0) - , destroy_timeout(0) - , destroy_timeout_spread(0) {} - }; - struct SBreakageParticles - { - AZStd::string type; - AZStd::string particle_effect; - int count_per_unit; - float count_scale; - float scale; - SBreakageParticles() - : count_per_unit(1) - , count_scale(1) - , scale(1) {} - }; - - // - virtual ~ISurfaceType(){} - - // Releases surface type. - virtual void Release() = 0; - - // Return unique Id of this surface type. - // Maximum of 65535 simultanious surface types can exist. - virtual uint16 GetId() const = 0; - - // Unique name of the surface type. - virtual const char* GetName() const = 0; - - // Typename of this surface type. - virtual const char* GetType() const = 0; - - // Flags of the surface type. - // Return: - // A combination of ESurfaceTypeFlags flags. - virtual int GetFlags() const = 0; - - // Execute material. - virtual void Execute(SSurfaceTypeExecuteParams& params) = 0; - - // returns a some cached properties for faster access - virtual int GetBreakability() const = 0; - virtual float GetBreakEnergy() const = 0; - virtual int GetHitpoints() const = 0; - - ////////////////////////////////////////////////////////////////////////// - virtual const SPhysicalParams& GetPhyscalParams() = 0; - - // Optional AI Params. - virtual const SSurfaceTypeAIParams* GetAIParams() = 0; - - // Optional params for 2D breakable plane. - virtual SBreakable2DParams* GetBreakable2DParams() = 0; - virtual SBreakageParticles* GetBreakageParticles(const char* sType, bool bLookInDefault = true) = 0; - - ////////////////////////////////////////////////////////////////////////// - // Called by Surface manager. - ////////////////////////////////////////////////////////////////////////// - // Loads surface, (do not use directly). - virtual bool Load(int nId) = 0; - // -}; - -////////////////////////////////////////////////////////////////////////// -// Description: -// This interface is used to enumerate all items registered to the surface type manager. -////////////////////////////////////////////////////////////////////////// -struct ISurfaceTypeEnumerator -{ - // - virtual ~ISurfaceTypeEnumerator(){} - virtual void Release() = 0; - virtual ISurfaceType* GetFirst() = 0; - virtual ISurfaceType* GetNext() = 0; - // -}; - -// Description: -// Manages loading and mapping of physical surface materials to Ids and materials scripts. -// Behaviour: -// At start will enumerate all material names. -// When the surface is first time requested by name it will be loaded and cached -// and new unique id will be generated for it. -struct ISurfaceTypeManager -{ - // - virtual ~ISurfaceTypeManager(){} - - - // Description: - // Load Surface types - virtual void LoadSurfaceTypes() = 0; - - // Description: - // Return surface type by name. - // If surface is not yet loaded it will be loaded and and cached. - // Arguments: - // sName - Name of the surface type ("mat_metal","mat_wood", etc..) - // warn - print warning message if surface not found - virtual ISurfaceType* GetSurfaceTypeByName(const char* sName, const char* sWhy = NULL, bool warn = true) = 0; - - // Description: - // Return surface type by id. - // If surface is not yet loaded it will be loaded and and cached. - // Arguments: - // sName - Name of the surface type ("mat_metal","mat_wood", etc..) - virtual ISurfaceType* GetSurfaceType(int nSurfaceId, const char* sWhy = NULL) = 0; - - // Description: - // Retrieve an interface to the enumerator class that allow to iterate over all surface types. - virtual ISurfaceTypeEnumerator* GetEnumerator() = 0; - - // Register a new surface type. - virtual bool RegisterSurfaceType(ISurfaceType* pSurfaceType, bool bDefault = false) = 0; - virtual void UnregisterSurfaceType(ISurfaceType* pSurfaceType) = 0; - - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; - // -}; - -#endif // CRYINCLUDE_CRYCOMMON_ISURFACETYPE_H - diff --git a/Code/Legacy/CryCommon/ISystem.h b/Code/Legacy/CryCommon/ISystem.h index 722e73c774..948977d02a 100644 --- a/Code/Legacy/CryCommon/ISystem.h +++ b/Code/Legacy/CryCommon/ISystem.h @@ -6,8 +6,6 @@ * */ -#ifndef CRYINCLUDE_CRYCOMMON_ISYSTEM_H -#define CRYINCLUDE_CRYCOMMON_ISYSTEM_H #pragma once #ifdef CRYSYSTEM_EXPORTS @@ -15,10 +13,10 @@ #else #define CRYSYSTEM_API DLL_IMPORT #endif +#include #include "CryAssert.h" - -#include +#include #if defined(AZ_RESTRICTED_PLATFORM) #undef AZ_RESTRICTED_SECTION @@ -33,7 +31,6 @@ // Forward declarations //////////////////////////////////////////////////////////////////////////////////////////////// #include // <> required for Interfuscator -#include "IValidator.h" // <> required for Interfuscator #include // <> required for Interfuscator #include "CryVersion.h" #include "smartptr.h" @@ -61,9 +58,7 @@ struct SFileVersion; struct INameTable; struct ILevelSystem; struct IViewSystem; -class ICrySizer; class IXMLBinarySerializer; -struct IReadWriteXMLSink; struct IAVI_Reader; class CPNoise3; struct ILocalizationManager; @@ -84,9 +79,11 @@ class CCamera; struct CLoadingTimeProfiler; class ICmdLine; - class ILyShine; +enum EValidatorModule : int; +enum EValidatorSeverity : int; + enum ESystemUpdateFlags { // Summary: @@ -435,9 +432,6 @@ struct ISystemUserCallback // Show message by provider. virtual int ShowMessage(const char* text, const char* caption, unsigned int uType) { return CryMessageBox(text, caption, uType); } - // Description: - // Collects the memory information in the user program/application. - virtual void GetMemoryUsage(ICrySizer* pSizer) = 0; // // Post console load, for cvar setting @@ -1313,9 +1307,8 @@ namespace Detail const char* GetHelp() { return NULL; } bool IsConstCVar() const { return true; } void SetOnChangeCallback(ConsoleVarFunc pChangeFunc) { (void)pChangeFunc; } - uint64 AddOnChangeFunctor(const SFunctor& pChangeFunctor) { (void)pChangeFunctor; return 0; } + uint64 AddOnChangeFunctor(const AZStd::function& pChangeFunctor) { (void)pChangeFunctor; return 0; } ConsoleVarFunc GetOnChangeCallback() const { InvalidAccess(); return NULL; } - void GetMemoryUsage([[maybe_unused]] class ICrySizer* pSizer) const {} int GetRealIVal() const { return GetIVal(); } void SetLimits([[maybe_unused]] float min, [[maybe_unused]] float max) { return; } void GetLimits([[maybe_unused]] float& min, [[maybe_unused]] float& max) { return; } @@ -1411,18 +1404,9 @@ static void AssertConsoleExists(void) // Preferred way to register an int CVar with a callback #define REGISTER_INT_CB(_name, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction)) // Summary: -// Preferred way to register an int64 CVar -#define REGISTER_INT64(_name, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt64(_name, (_def_val), (_flags), CVARHELP(_comment))) -// Summary: -// Preferred way to register an int64 CVar with a callback -#define REGISTER_INT64_CB(_name, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt64(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction)) -// Summary: // Preferred way to register a float CVar #define REGISTER_FLOAT(_name, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterFloat(_name, (_def_val), (_flags), CVARHELP(_comment))) // Summary: -// Preferred way to register a float CVar with a callback -#define REGISTER_FLOAT_CB(_name, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterFloat(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction)) -// Summary: // Offers more flexibility but more code is required #define REGISTER_CVAR2(_name, _var, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, _var, (_def_val), (_flags), CVARHELP(_comment))) // Summary: @@ -1432,9 +1416,6 @@ static void AssertConsoleExists(void) // Offers more flexibility but more code is required, explicit address taking of destination variable #define REGISTER_CVAR3(_name, _var, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, &(_var), (_def_val), (_flags), CVARHELP(_comment))) // Summary: -// Offers more flexibility but more code is required, explicit address taking of destination variable -#define REGISTER_CVAR3_CB(_name, _var, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, &(_var), (_def_val), (_flags), CVARHELP(_comment), _onchangefunction)) -// Summary: // Preferred way to register a console command #define REGISTER_COMMAND(_name, _func, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? false : gEnv->pConsole->AddCommand(_name, _func, (_flags), CVARHELP(_comment))) // Summary: @@ -1465,12 +1446,10 @@ static void AssertConsoleExists(void) #define REGISTER_STRING_CB_DEV_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) /* consumed; pure cvar not available */ #define REGISTER_INT_DEV_ONLY(_name, _def_val, _flags, _comment) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) /* consumed; pure cvar not available */ #define REGISTER_INT_CB_DEV_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) /* consumed; pure cvar not available */ -#define REGISTER_INT64_DEV_ONLY(_name, _def_val, _flags, _comment) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) /* consumed; pure cvar not available */ #define REGISTER_FLOAT_DEV_ONLY(_name, _def_val, _flags, _comment) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) /* consumed; pure cvar not available */ #define REGISTER_CVAR2_DEV_ONLY(_name, _var, _def_val, _flags, _comment) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0); *(_var) = _def_val #define REGISTER_CVAR2_CB_DEV_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0); *(_var) = _def_val #define REGISTER_CVAR3_DEV_ONLY(_name, _var, _def_val, _flags, _comment) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0); _var = _def_val -#define REGISTER_CVAR3_CB_DEV_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) NULL; static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0); _var = _def_val #define REGISTER_COMMAND_DEV_ONLY(_name, _func, _flags, _comment) /* consumed; command not available */ #else #define REGISTER_CVAR_DEV_ONLY(_var, _def_val, _flags, _comment) REGISTER_CVAR(_var, _def_val, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) @@ -1479,12 +1458,10 @@ static void AssertConsoleExists(void) #define REGISTER_STRING_CB_DEV_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) REGISTER_STRING_CB(_name, _def_val, ((_flags) | VF_DEV_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_INT_DEV_ONLY(_name, _def_val, _flags, _comment) REGISTER_INT(_name, _def_val, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_INT_CB_DEV_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) REGISTER_INT_CB(_name, _def_val, ((_flags) | VF_DEV_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) -#define REGISTER_INT64_DEV_ONLY(_name, _def_val, _flags, _comment) REGISTER_INT64(_name, _def_val, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_FLOAT_DEV_ONLY(_name, _def_val, _flags, _comment) REGISTER_FLOAT(_name, _def_val, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_CVAR2_DEV_ONLY(_name, _var, _def_val, _flags, _comment) REGISTER_CVAR2(_name, _var, _def_val, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_CVAR2_CB_DEV_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) REGISTER_CVAR2_CB(_name, _var, _def_val, ((_flags) | VF_DEV_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_CVAR3_DEV_ONLY(_name, _var, _def_val, _flags, _comment) REGISTER_CVAR3(_name, _var, _def_val, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) -#define REGISTER_CVAR3_CB_DEV_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) REGISTER_CVAR3_CB(_name, _var, _def_val, ((_flags) | VF_DEV_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_COMMAND_DEV_ONLY(_name, _func, _flags, _comment) REGISTER_COMMAND(_name, _func, ((_flags) | VF_DEV_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #endif // defined(_RELEASE) // @@ -1508,12 +1485,9 @@ static void AssertConsoleExists(void) #define REGISTER_STRING_CB_DEDI_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) REGISTER_STRING_CB(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_INT_DEDI_ONLY(_name, _def_val, _flags, _comment) REGISTER_INT(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_INT_CB_DEDI_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) REGISTER_INT_CB(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) -#define REGISTER_INT64_DEDI_ONLY(_name, _def_val, _flags, _comment) REGISTER_INT64(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_FLOAT_DEDI_ONLY(_name, _def_val, _flags, _comment) REGISTER_FLOAT(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_CVAR2_DEDI_ONLY(_name, _var, _def_val, _flags, _comment) REGISTER_CVAR2(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_CVAR2_CB_DEDI_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) REGISTER_CVAR2_CB(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) -#define REGISTER_CVAR3_DEDI_ONLY(_name, _var, _def_val, _flags, _comment) REGISTER_CVAR3(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) -#define REGISTER_CVAR3_CB_DEDI_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) REGISTER_CVAR3_CB(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #define REGISTER_COMMAND_DEDI_ONLY(_name, _func, _flags, _comment) REGISTER_COMMAND(_name, _func, ((_flags) | VF_DEDI_ONLY), _comment); static_assert(((_flags) & ILLEGAL_DEV_FLAGS) == 0) #else #define REGISTER_CVAR_DEDI_ONLY(_var, _def_val, _flags, _comment) REGISTER_CVAR_DEV_ONLY(_var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment) @@ -1522,12 +1496,9 @@ static void AssertConsoleExists(void) #define REGISTER_STRING_CB_DEDI_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) REGISTER_STRING_CB_DEV_ONLY(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction) #define REGISTER_INT_DEDI_ONLY(_name, _def_val, _flags, _comment) REGISTER_INT_DEV_ONLY(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment) #define REGISTER_INT_CB_DEDI_ONLY(_name, _def_val, _flags, _comment, _onchangefunction) REGISTER_INT_CB_DEV_ONLY(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction) -#define REGISTER_INT64_DEDI_ONLY(_name, _def_val, _flags, _comment) REGISTER_INT64_DEV_ONLY(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment) #define REGISTER_FLOAT_DEDI_ONLY(_name, _def_val, _flags, _comment) REGISTER_FLOAT_DEV_ONLY(_name, _def_val, ((_flags) | VF_DEDI_ONLY), _comment) #define REGISTER_CVAR2_DEDI_ONLY(_name, _var, _def_val, _flags, _comment) REGISTER_CVAR2_DEV_ONLY(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment) #define REGISTER_CVAR2_CB_DEDI_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) REGISTER_CVAR2_CB_DEV_ONLY(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction) -#define REGISTER_CVAR3_DEDI_ONLY(_name, _var, _def_val, _flags, _comment) REGISTER_CVAR3_DEV_ONLY(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment) -#define REGISTER_CVAR3_CB_DEDI_ONLY(_name, _var, _def_val, _flags, _comment, _onchangefunction) REGISTER_CVAR3_CB_DEV_ONLY(_name, _var, _def_val, ((_flags) | VF_DEDI_ONLY), _comment, _onchangefunction) #define REGISTER_COMMAND_DEDI_ONLY(_name, _func, _flags, _comment) REGISTER_COMMAND_DEV_ONLY(_name, _func, ((_flags) | VF_DEDI_ONLY), _comment) #endif // defined(_RELEASE) // @@ -1592,4 +1563,3 @@ inline void CryLogAlways(const char* format, ...) } #endif // EXCLUDE_NORMAL_LOG -#endif // CRYINCLUDE_CRYCOMMON_ISYSTEM_H diff --git a/Code/Legacy/CryCommon/ITexture.h b/Code/Legacy/CryCommon/ITexture.h index b370005f83..2655810fb0 100644 --- a/Code/Legacy/CryCommon/ITexture.h +++ b/Code/Legacy/CryCommon/ITexture.h @@ -13,7 +13,6 @@ enum ETEX_Format : AZ::u8 { eTF_Unknown = 0, - eTF_R8G8B8A8S, eTF_R8G8B8A8 = 2, // may be saved into file eTF_A8 = 4, @@ -25,76 +24,6 @@ enum ETEX_Format : AZ::u8 eTF_R8G8, eTF_R8G8S, eTF_R16G16, - eTF_R16G16S, - eTF_R16G16F, - eTF_R11G11B10F, - eTF_R10G10B10A2, - eTF_R16G16B16A16, - eTF_R16G16B16A16S, - eTF_R16G16B16A16F, - eTF_R32G32B32A32F, - - eTF_CTX1, - eTF_BC1 = 22, // may be saved into file - eTF_BC2 = 23, // may be saved into file - eTF_BC3 = 24, // may be saved into file - eTF_BC4U, // 3Dc+ - eTF_BC4S, - eTF_BC5U, // 3Dc - eTF_BC5S, - eTF_BC6UH, - eTF_BC6SH, - eTF_BC7, - eTF_R9G9B9E5, - - // hardware depth buffers - eTF_D16, - eTF_D24S8, - eTF_D32F, - eTF_D32FS8, - - // only available as hardware format under DX11.1 with DXGI 1.2 - eTF_B5G6R5, - eTF_B5G5R5, - eTF_B4G4R4A4, - - // only available as hardware format under OpenGL - eTF_EAC_R11, - eTF_EAC_RG11, - eTF_ETC2, - eTF_ETC2A, - - // only available as hardware format under DX9 - eTF_A8L8, - eTF_L8, - eTF_L8V8U8, - eTF_B8G8R8, - eTF_L8V8U8X8, - eTF_B8G8R8X8, - eTF_B8G8R8A8, - - eTF_PVRTC2, - eTF_PVRTC4, - - eTF_ASTC_4x4, - eTF_ASTC_5x4, - eTF_ASTC_5x5, - eTF_ASTC_6x5, - eTF_ASTC_6x6, - eTF_ASTC_8x5, - eTF_ASTC_8x6, - eTF_ASTC_8x8, - eTF_ASTC_10x5, - eTF_ASTC_10x6, - eTF_ASTC_10x8, - eTF_ASTC_10x10, - eTF_ASTC_12x10, - eTF_ASTC_12x12, - - // add R16 unsigned int format for hardware that do not support float point rendering - eTF_R16U, - eTF_R16G16U, - eTF_R10G10B10A2UI, eTF_MaxFormat // unused, must be always the last in the list }; diff --git a/Code/Legacy/CryCommon/IValidator.h b/Code/Legacy/CryCommon/IValidator.h index 8e6b6eaa5c..724e564154 100644 --- a/Code/Legacy/CryCommon/IValidator.h +++ b/Code/Legacy/CryCommon/IValidator.h @@ -9,21 +9,15 @@ // Description : IValidator interface used to check objects for warnings and errors // Report missing resources or invalid files. - - -#ifndef CRYINCLUDE_CRYCOMMON_IVALIDATOR_H -#define CRYINCLUDE_CRYCOMMON_IVALIDATOR_H #pragma once # define MAX_WARNING_LENGTH 4096 -#if MAX_WARNING_LENGTH < 33 -#error "MAX_WARNING_LENGTH should be bigger than 32" -#endif +static_assert(MAX_WARNING_LENGTH>32,"MAX_WARNING_LENGTH should be bigger than 32"); #define ERROR_CANT_FIND_CENTRAL_DIRECTORY "Cannot find Central Directory Record in pak. This is either not a pak file, or a pak file without Central Directory. It does not mean that the data is permanently lost, but it may be severely damaged. Please repair the file with external tools, there may be enough information left to recover the file completely." -enum EValidatorSeverity +enum EValidatorSeverity : int { VALIDATOR_ERROR, VALIDATOR_ERROR_DBGBRK, // will __debugbreak() if sys_error_debugbreak is 1 @@ -31,7 +25,7 @@ enum EValidatorSeverity VALIDATOR_COMMENT }; -enum EValidatorModule +enum EValidatorModule : int { VALIDATOR_MODULE_UNKNOWN, VALIDATOR_MODULE_RENDERER, @@ -61,45 +55,3 @@ enum EValidatorFlags VALIDATOR_FLAG_IGNORE_IN_EDITOR = 0x0040, // Do not log this with the editor VALIDATOR_FLAG_SKIP_VALIDATOR = 0x0080, // Do not call validator's Report() }; - -struct SValidatorRecord -{ - //! Severity of this error. - EValidatorSeverity severity; - //! In which module error occured. - EValidatorModule module; - //! Error Text. - const char* text; - //! File which is missing or causing problem. - const char* file; - //! Additional description for this error. - const char* description; - //! Asset scope sring - const char* assetScope; - //! Flags that suggest kind of error. - int flags; - - ////////////////////////////////////////////////////////////////////////// - SValidatorRecord() - { - module = VALIDATOR_MODULE_UNKNOWN; - text = NULL; - file = NULL; - assetScope = NULL; - description = NULL; - severity = VALIDATOR_WARNING; - flags = 0; - } -}; - -/*! This interface will be given to Validate methods of engine, for resources and objects validation. - */ -struct IValidator -{ - // - virtual ~IValidator(){} - virtual void Report(SValidatorRecord& record) = 0; - // -}; - -#endif // CRYINCLUDE_CRYCOMMON_IVALIDATOR_H diff --git a/Code/Legacy/CryCommon/IXml.h b/Code/Legacy/CryCommon/IXml.h index 2434b44664..be2bdcd5ab 100644 --- a/Code/Legacy/CryCommon/IXml.h +++ b/Code/Legacy/CryCommon/IXml.h @@ -5,18 +5,12 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ - - -#ifndef CRYINCLUDE_CRYCOMMON_IXML_H -#define CRYINCLUDE_CRYCOMMON_IXML_H #pragma once #include #include #include -class ICrySizer; - template struct Color_tpl; typedef Color_tpl ColorB; @@ -24,17 +18,12 @@ typedef Color_tpl ColorB; template struct Vec2_tpl; typedef Vec2_tpl Vec2; -typedef Vec2_tpl Vec2d; template struct Vec3_tpl; typedef Vec3_tpl Vec3; -typedef Vec3_tpl Vec3d; -template -struct Vec4_tpl; -typedef Vec4_tpl Vec4; -typedef Vec4_tpl Vec4d; +struct Vec4; template struct Quat_tpl; @@ -59,7 +48,6 @@ class QColor; class QString; class IXMLBinarySerializer; -struct IReadWriteXMLSink; struct ISerialize; /* @@ -329,11 +317,9 @@ public: virtual void setAttr(const char* key, float value) = 0; virtual void setAttr(const char* key, double value) = 0; virtual void setAttr(const char* key, const Vec2& value) = 0; - virtual void setAttr(const char* key, const Vec2d& value) = 0; virtual void setAttr(const char* key, const Ang3& value) = 0; virtual void setAttr(const char* key, const Vec3& value) = 0; virtual void setAttr(const char* key, const Vec4& value) = 0; - virtual void setAttr(const char* key, const Vec3d& value) = 0; virtual void setAttr(const char* key, const Quat& value) = 0; #if defined(LINUX64) || defined(APPLE) // Compatibility functions, on Linux and Mac long int is the default int64_t @@ -378,11 +364,9 @@ public: virtual bool getAttr(const char* key, float& value) const = 0; virtual bool getAttr(const char* key, double& value) const = 0; virtual bool getAttr(const char* key, Vec2& value) const = 0; - virtual bool getAttr(const char* key, Vec2d& value) const = 0; virtual bool getAttr(const char* key, Ang3& value) const = 0; virtual bool getAttr(const char* key, Vec3& value) const = 0; virtual bool getAttr(const char* key, Vec4& value) const = 0; - virtual bool getAttr(const char* key, Vec3d& value) const = 0; virtual bool getAttr(const char* key, Quat& value) const = 0; virtual bool getAttr(const char* key, bool& value) const = 0; virtual bool getAttr(const char* key, XmlString& value) const = 0; @@ -401,13 +385,6 @@ public: } #endif - // - - // - // Summary: - // Collect all allocated memory - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; - // Summary: // Copies children to this node from a given node. // Children are reference copied (shallow copy) and the children's parent is NOT set to this @@ -700,7 +677,7 @@ public: XmlNodeRefIterator& operator=(const XmlNodeRefIterator& other) = default; - XmlNodeRefIterator& operator++() + XmlNodeRefIterator& operator++() { ++m_index; Update(); @@ -714,7 +691,7 @@ public: return ret; } - IXmlNode* operator*() const + IXmlNode* operator*() const { return m_currentChildNode; } @@ -794,7 +771,6 @@ struct IXmlSerializer virtual ISerialize* GetWriter(XmlNodeRef& node) = 0; virtual ISerialize* GetReader(XmlNodeRef& node) = 0; // - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; }; ////////////////////////////////////////////////////////////////////////// @@ -802,7 +778,6 @@ struct IXmlSerializer // XML Parser interface. struct IXmlParser { - // virtual ~IXmlParser(){} virtual void AddRef() = 0; virtual void Release() = 0; @@ -814,9 +789,6 @@ struct IXmlParser // Summary: // Parses xml from memory buffer. virtual XmlNodeRef ParseBuffer(const char* buffer, int nBufLen, bool bCleanPools, bool bSuppressWarnings = false) = 0; - - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; - // }; ////////////////////////////////////////////////////////////////////////// @@ -863,7 +835,6 @@ struct IXmlTableReader // to know absolute cell index (i.e. column). // Returns false if no cells left in the row. virtual bool ReadCell(int& columnIndex, const char*& pContent, size_t& contentSize) = 0; - virtual float GetCurrentRowHeight() = 0; // }; @@ -877,28 +848,17 @@ struct IXmlUtils // Summary: // Loads xml file, returns 0 if load failed. - virtual XmlNodeRef LoadXmlFromFile(const char* sFilename, bool bReuseStrings = false, bool bEnablePatching = true) = 0; + virtual XmlNodeRef LoadXmlFromFile(const char* sFilename, bool bReuseStrings = false) = 0; // Summary: // Loads xml from memory buffer, returns 0 if load failed. virtual XmlNodeRef LoadXmlFromBuffer(const char* buffer, size_t size, bool bReuseStrings = false, bool bSuppressWarnings = false) = 0; - // Summary: - // Creates an MD5 hash of an XML file - virtual const char* HashXml(XmlNodeRef node) = 0; - - // Summary: - // Gets an object that can read a xml into a IReadXMLSink - // and writes a xml from a IWriteXMLSource - virtual IReadWriteXMLSink* GetIReadWriteXMLSink() = 0; - // Summary: // Creates XML Writer for ISerialize interface. // See also: // IXmlSerializer virtual IXmlSerializer* CreateXmlSerializer() = 0; - // - // // Summary: // Creates XML Parser. // Notes: @@ -908,40 +868,9 @@ struct IXmlUtils // After use it must be released with call to Release method. virtual IXmlParser* CreateXmlParser() = 0; - // Summary: - // Creates XML to file in the binary form. - virtual bool SaveBinaryXmlFile(const char* sFilename, XmlNodeRef root) = 0; - // Summary: - // Reads XML data from file in the binary form. - virtual XmlNodeRef LoadBinaryXmlFile(const char* sFilename, bool bEnablePatching = true) = 0; - - // Summary: - // Enables or disables checking for binary xml files. - // Return Value: - // The previous status. - virtual bool EnableBinaryXmlLoading(bool bEnable) = 0; - // Summary: // Creates XML Table reader. // Notes: // After use it must be released with call to Release method. virtual IXmlTableReader* CreateXmlTableReader() = 0; - - // Init xml stats nodes pool - virtual void InitStatsXmlNodePool(uint32 nPoolSize) = 0; - - // Creates new xml node for statistics. - virtual XmlNodeRef CreateStatsXmlNode(const char* sNodeName) = 0; - // Set owner thread - virtual void SetStatsOwnerThread(threadID threadId) = 0; - - // Free memory held on to by xml pool if empty - virtual void FlushStatsXmlNodePool() = 0; - - // Sets the patch which is used to transform loaded XML files. the patch itself is encoded into XML - // Set to NULL to clear an existing transform and disable further patching - virtual void SetXMLPatcher(XmlNodeRef* pPatcher) = 0; - // }; - -#endif // CRYINCLUDE_CRYCOMMON_IXML_H diff --git a/Code/Legacy/CryCommon/Linux_Win32Wrapper.h b/Code/Legacy/CryCommon/Linux_Win32Wrapper.h index ffdf3fe998..7157bc4a78 100644 --- a/Code/Legacy/CryCommon/Linux_Win32Wrapper.h +++ b/Code/Legacy/CryCommon/Linux_Win32Wrapper.h @@ -429,7 +429,6 @@ extern DWORD GetCurrentProcessId(void); //helper function extern void adaptFilenameToLinux(char* rAdjustedFilename); -extern const int comparePathNames(const char* cpFirst, const char* cpSecond, unsigned int len);//returns 0 if identical extern void replaceDoublePathFilename(char* szFileName);//removes "\.\" to "\" and "/./" to "/" ////////////////////////////////////////////////////////////////////////// diff --git a/Code/Legacy/CryCommon/LocalizationManagerBus.h b/Code/Legacy/CryCommon/LocalizationManagerBus.h index 1d818de111..fadda76e3f 100644 --- a/Code/Legacy/CryCommon/LocalizationManagerBus.h +++ b/Code/Legacy/CryCommon/LocalizationManagerBus.h @@ -8,7 +8,6 @@ #pragma once -#include #include #include #include diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTransform2dBus.h b/Code/Legacy/CryCommon/LyShine/Bus/UiTransform2dBus.h index fb30a78aac..4a242d9d25 100644 --- a/Code/Legacy/CryCommon/LyShine/Bus/UiTransform2dBus.h +++ b/Code/Legacy/CryCommon/LyShine/Bus/UiTransform2dBus.h @@ -42,10 +42,10 @@ public: // types void UnitClamp() { - m_left = FClamp(m_left, 0.0f, 1.0f); - m_top = FClamp(m_top, 0.0f, 1.0f); - m_right = FClamp(m_right, 0.0f, 1.0f); - m_bottom = FClamp(m_bottom, 0.0f, 1.0f); + m_left = AZStd::clamp(m_left, 0.0f, 1.0f); + m_top = AZStd::clamp(m_top, 0.0f, 1.0f); + m_right = AZStd::clamp(m_right, 0.0f, 1.0f); + m_bottom = AZStd::clamp(m_bottom, 0.0f, 1.0f); } bool operator==(const Anchors& rhs) const diff --git a/Code/Legacy/CryCommon/MTPseudoRandom.cpp b/Code/Legacy/CryCommon/MTPseudoRandom.cpp deleted file mode 100644 index f8a3950ff0..0000000000 --- a/Code/Legacy/CryCommon/MTPseudoRandom.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : Marsenne Twister PRNG. See MT.h for more info. - -#include "MTPseudoRandom.h" -// non-inline function definitions and static member definitions cannot -// reside in header file because of the risk of multiple declarations - -void CMTRand_int32::gen_state() // generate new m_nState vector -{ - for (int i = 0; i < (n - m); ++i) - { - m_nState[i] = m_nState[i + m] ^ twiddle(m_nState[i], m_nState[i + 1]); - } - for (int i = n - m; i < (n - 1); ++i) - { - m_nState[i] = m_nState[i + m - n] ^ twiddle(m_nState[i], m_nState[i + 1]); - } - m_nState[n - 1] = m_nState[m - 1] ^ twiddle(m_nState[n - 1], m_nState[0]); - p = 0; // reset position -} - -void CMTRand_int32::seed(uint32 s) // init by 32 bit seed -{ //if (s == 0) - //m_nRandom = 1; - for (int i = 0; i < n; ++i) - { - m_nState[i] = 0x0UL; - } - m_nState[0] = s; - for (int i = 1; i < n; ++i) - { - m_nState[i] = 1812433253UL * (m_nState[i - 1] ^ (m_nState[i - 1] >> 30)) + i; - // see Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier - // in the previous versions, MSBs of the seed affect only MSBs of the array m_nState - // 2002/01/09 modified by Makoto Matsumoto - } - p = n; // force gen_state() to be called for next random number -} - -void CMTRand_int32::seed(const uint32* array, int size) // init by array -{ - seed(19650218UL); - int i = 1, j = 0; - for (int k = ((n > size) ? n : size); k; --k) - { - m_nState[i] = (m_nState[i] ^ ((m_nState[i - 1] ^ (m_nState[i - 1] >> 30)) * 1664525UL)) - + array[j] + j; // non linear - ++j; - j %= size; - if ((++i) == n) - { - m_nState[0] = m_nState[n - 1]; - i = 1; - } - } - for (int k = n - 1; k; --k) - { - m_nState[i] = (m_nState[i] ^ ((m_nState[i - 1] ^ (m_nState[i - 1] >> 30)) * 1566083941UL)) - i; - if ((++i) == n) - { - m_nState[0] = m_nState[n - 1]; - i = 1; - } - } - m_nState[0] = 0x80000000UL; // MSB is 1; assuring non-zero initial array - p = n; // force gen_state() to be called for next random number -} diff --git a/Code/Legacy/CryCommon/MTPseudoRandom.h b/Code/Legacy/CryCommon/MTPseudoRandom.h deleted file mode 100644 index c1ed7694a5..0000000000 --- a/Code/Legacy/CryCommon/MTPseudoRandom.h +++ /dev/null @@ -1,166 +0,0 @@ -// mtrand.h -// C++ include file for MT19937, with initialization improved 2002/1/26. -// Coded by Takuji Nishimura and Makoto Matsumoto. -// Ported to C++ by Jasper Bedaux 2003/1/1 (see http://www.bedaux.net/mtrand/). -// The generators returning floating point numbers are based on -// a version by Isaku Wada, 2002/01/09 -// Static shared data converted to per-instance, 2008-11-13 by JSP. -// -// Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. The names of its contributors may not be used to endorse or promote -// products derived from this software without specific prior written -// permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Any feedback is very welcome. -// http://www.math.keio.ac.jp/matumoto/emt.html -// email: matumoto@math.keio.ac.jp -// -// Feedback about the C++ port should be sent to Jasper Bedaux, -// see http://www.bedaux.net/mtrand/ for e-mail address and info. - -//------------------------------------------------------------------------- -// History: -// - 28:7:2005: File created and minor changes by Marco Corbetta -// -//*************************************************************************/ -// Modified from original - -#ifndef CRYINCLUDE_CRYCOMMON_MTPSEUDORANDOM_H -#define CRYINCLUDE_CRYCOMMON_MTPSEUDORANDOM_H -#pragma once - -#include - -////////////////////////////////////////////////////////////////////////// -class CMTRand_int32 -{ - // Mersenne Twister random number generator - -public: - // default constructor - CMTRand_int32() { seed(5489UL); } - // constructor with 32 bit int as seed - CMTRand_int32(uint32 seed_value) { seed(seed_value); } - // constructor with array of 32 bit integers as seed - CMTRand_int32(const uint32* array, int size) { seed(array, size); } - // seeds with 32 bit integer - void seed(uint32 seed_value); - // seeds with array - void seed(const uint32*, int size); - // overloaded operator() to make this a generator (functor) - //uint32 operator()() { return rand_int32(); } - - ~CMTRand_int32() {} - - // Functions with PascalCase names were added for - // interchangeability with CRndGen (see LCGRandom.h). - - void Seed(uint32 seed_value) - { - seed(seed_value); - } - - uint32 GenerateUint32() - { - return rand_int32(); - } - - uint64 GenerateUint64() - { - const uint32 a = GenerateUint32(); - const uint32 b = GenerateUint32(); - return ((uint64)b << 32) | (uint64)a; - } - - float GenerateFloat() - { - return (float)GenerateUint32() * (1.0f / 4294967295.0f); - } - - // Ranged function returns random value within the *inclusive* range - // between minValue and maxValue. - // Any orderings work correctly: minValue <= maxValue and - // minValue >= minValue. - template - T GetRandom(const T minValue, const T maxValue) - { - return CryRandom_Internal::BoundedRandom::Get(*this, minValue, maxValue); - } - - // Vector (Vec2, Vec3, Vec4) ranged function returns vector with - // every component within the *inclusive* ranges between minValue.component - // and maxValue.component. - // All orderings work correctly: minValue.component <= maxValue.component and - // minValue.component >= maxValue.component. - template - T GetRandomComponentwise(const T& minValue, const T& maxValue) - { - return CryRandom_Internal::BoundedRandomComponentwise::Get(*this, minValue, maxValue); - } - - // The function returns a random unit vector (Vec2, Vec3, Vec4). - template - T GetRandomUnitVector() - { - return CryRandom_Internal::GetRandomUnitVector(*this); - } - -protected: // used by derived classes, otherwise not accessible; use the ()-operator - // generates 32 bit random int - uint32 rand_int32() - { - if (p >= n) gen_state(); // new m_nState vector needed - // gen_state() is split off to be non-inline, because it is only called once - // in every 624 calls and otherwise irand() would become too big to get inlined - uint32 x = m_nState[p++]; - x ^= (x >> 11); - x ^= (x << 7) & 0x9D2C5680UL; - x ^= (x << 15) & 0xEFC60000UL; - return x ^ (x >> 18); - } - -private: - static const int n = 624, m = 397; // compile time constants - - // the variables below are static (no duplicates can exist) - uint32 m_nState[n+1]; // m_nState vector array - int p; // position in m_nState array - // private functions used to generate the pseudo random numbers - uint32 twiddle(uint32 u, uint32 v) - { - return (((u & 0x80000000UL) | (v & 0x7FFFFFFFUL)) >> 1) - ^ ((v & 1UL) ? 0x9908B0DFUL : 0x0UL); - } - void gen_state(); // generate new m_nState - // make copy constructor and assignment operator unavailable, they don't make sense - CMTRand_int32(const CMTRand_int32&); // copy constructor not defined - void operator=(const CMTRand_int32&); // assignment operator not defined -}; - - -#endif // CRYINCLUDE_CRYCOMMON_MTPSEUDORANDOM_H diff --git a/Code/Legacy/CryCommon/MathConversion.h b/Code/Legacy/CryCommon/MathConversion.h index 69d5244b63..9ac09173cb 100644 --- a/Code/Legacy/CryCommon/MathConversion.h +++ b/Code/Legacy/CryCommon/MathConversion.h @@ -153,35 +153,6 @@ inline AZ::Matrix3x4 LYTransformToAZMatrix3x4(const Matrix34& source) return AZ::Matrix3x4::CreateFromRowMajorFloat12(source.GetData()); } -inline AZ::Transform LYQuatTToAZTransform(const QuatT& source) -{ - return AZ::Transform::CreateFromQuaternionAndTranslation( - LYQuaternionToAZQuaternion(source.q), - LYVec3ToAZVec3(source.t)); -} - -inline QuatT AZTransformToLYQuatT(const AZ::Transform& source) -{ - return QuatT( - AZQuaternionToLYQuaternion(source.GetRotation()), - AZVec3ToLYVec3(source.GetTranslation())); -} - -inline QuatT AZMatrix3x4ToLYQuatT(const AZ::Matrix3x4& source) -{ - AZ::Matrix3x4 sourceNoScale(source); - sourceNoScale.ExtractScale(); - - return QuatT( - AZQuaternionToLYQuaternion(AZ::Quaternion::CreateFromMatrix3x4(sourceNoScale)), - AZVec3ToLYVec3(source.GetTranslation())); -} - -inline DualQuat AZMatrix3x4ToLYDualQuat(const AZ::Matrix3x4& matrix3x4) -{ - return DualQuat(AZMatrix3x4ToLYMatrix3x4(matrix3x4)); -} - inline AABB AZAabbToLyAABB(const AZ::Aabb& source) { return AABB(AZVec3ToLYVec3(source.GetMin()), AZVec3ToLYVec3(source.GetMax())); diff --git a/Code/Legacy/CryCommon/MetaUtils.h b/Code/Legacy/CryCommon/MetaUtils.h deleted file mode 100644 index 9d62f115d3..0000000000 --- a/Code/Legacy/CryCommon/MetaUtils.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#ifndef CRYINCLUDE_CRYCOMMON_METAUTILS_H -#define CRYINCLUDE_CRYCOMMON_METAUTILS_H -#pragma once - - - -namespace metautils -{ - // select - - template - struct select; - - template - struct select - { - typedef Ty1 type; - }; - - template - struct select - { - typedef Ty2 type; - }; - - // is_same - // Identifies whether types Ty1 and Ty2 are the same including const & volatile. - - template - struct is_same; - - template - struct is_same - { - enum - { - value = true, - }; - }; - - template - struct is_same - { - enum - { - value = false, - }; - }; - - // remove_const - // Removes top level const qualifier. - - template - struct remove_const - { - typedef Ty type; - }; - - template - struct remove_const - { - typedef Ty type; - }; - - template - struct remove_const - { - typedef Ty type[]; - }; - - template - struct remove_const - { - typedef Ty type[N]; - }; - - // is_const - // Determines whether type Ty is const qualified. - - template - struct is_const - { - enum - { - value = false - }; - }; - - template - struct is_const - { - enum - { - value = true - }; - }; - - template - struct is_const - { - enum - { - value = false - }; - }; - - template - struct is_const - { - enum - { - value = true - }; - }; - - template - struct is_const - { - enum - { - value = false - }; - }; -}; - -#endif // CRYINCLUDE_CRYCOMMON_METAUTILS_H diff --git a/Code/Legacy/CryCommon/Mocks/ICVarMock.h b/Code/Legacy/CryCommon/Mocks/ICVarMock.h index 08f4471ad1..d8131c3552 100644 --- a/Code/Legacy/CryCommon/Mocks/ICVarMock.h +++ b/Code/Legacy/CryCommon/Mocks/ICVarMock.h @@ -11,7 +11,7 @@ #include #include -#include +#include class CVarMock : public ICVar @@ -35,9 +35,8 @@ public: MOCK_METHOD0(GetHelp, const char*()); MOCK_CONST_METHOD0(IsConstCVar, bool()); MOCK_METHOD1(SetOnChangeCallback, void(ConsoleVarFunc)); - MOCK_METHOD1(AddOnChangeFunctor, uint64(const SFunctor& pChangeFunctor)); + MOCK_METHOD1(AddOnChangeFunctor, uint64(const AZStd::function& pChangeFunctor)); MOCK_CONST_METHOD0(GetOnChangeCallback, ConsoleVarFunc()); - MOCK_CONST_METHOD1(GetMemoryUsage, void(class ICrySizer* pSizer)); MOCK_CONST_METHOD0(GetRealIVal, int()); MOCK_METHOD2(SetLimits, void(float, float)); MOCK_METHOD2(GetLimits, void(float&, float&)); diff --git a/Code/Legacy/CryCommon/Mocks/IConsoleMock.h b/Code/Legacy/CryCommon/Mocks/IConsoleMock.h index 9c947b9c0f..24ae70cba4 100644 --- a/Code/Legacy/CryCommon/Mocks/IConsoleMock.h +++ b/Code/Legacy/CryCommon/Mocks/IConsoleMock.h @@ -21,12 +21,10 @@ public: MOCK_METHOD1(Init, void(ISystem * pSystem)); MOCK_METHOD5(RegisterString, ICVar * (const char* sName, const char* sValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc)); MOCK_METHOD5(RegisterInt, ICVar * (const char* sName, int iValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc)); - MOCK_METHOD5(RegisterInt64, ICVar * (const char* sName, int64 iValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc)); MOCK_METHOD5(RegisterFloat, ICVar * (const char* sName, float fValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc)); MOCK_METHOD7(Register, ICVar * (const char* name, float* src, float defaultvalue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc, bool allowModify)); MOCK_METHOD7(Register, ICVar * (const char* name, int* src, int defaultvalue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc, bool allowModify)); MOCK_METHOD7(Register, ICVar * (const char* name, const char** src, const char* defaultvalue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc, bool allowModify)); - MOCK_METHOD1(Register, ICVar * (ICVar * pVar)); MOCK_METHOD2(UnregisterVariable, void(const char* sVarName, bool bDelete )); MOCK_METHOD1(SetScrollMax, void(int value)); MOCK_METHOD1(AddOutputPrintSink, void(IOutputPrintSink * inpSink)); @@ -63,7 +61,6 @@ public: MOCK_METHOD2(RegisterAutoComplete, void (const char* sVarOrCommand, IConsoleArgumentAutoComplete * pArgAutoComplete)); MOCK_METHOD1(UnRegisterAutoComplete, void (const char* sVarOrCommand)); MOCK_METHOD0(ResetAutoCompletion, void ()); - MOCK_CONST_METHOD1(GetMemoryUsage, void (ICrySizer * pSizer)); MOCK_METHOD1(ResetProgressBar, void (int nProgressRange)); MOCK_METHOD0(TickProgressBar, void ()); MOCK_METHOD1(SetInputLine, void (const char* szLine)); diff --git a/Code/Legacy/CryCommon/Mocks/ILogMock.h b/Code/Legacy/CryCommon/Mocks/ILogMock.h index c3a45b4d6f..ac2ba7f32c 100644 --- a/Code/Legacy/CryCommon/Mocks/ILogMock.h +++ b/Code/Legacy/CryCommon/Mocks/ILogMock.h @@ -48,8 +48,6 @@ public: void()); MOCK_METHOD0(GetModuleFilter, const char*()); - MOCK_CONST_METHOD1(GetMemoryUsage, - void(ICrySizer * pSizer)); MOCK_METHOD1(Indent, void(class CLogIndenter * indenter)); MOCK_METHOD1(Unindent, diff --git a/Code/Legacy/CryCommon/MultiThread_Containers.h b/Code/Legacy/CryCommon/MultiThread_Containers.h index 8a60adfa6b..168ebf28cf 100644 --- a/Code/Legacy/CryCommon/MultiThread_Containers.h +++ b/Code/Legacy/CryCommon/MultiThread_Containers.h @@ -6,13 +6,9 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_MULTITHREAD_CONTAINERS_H -#define CRYINCLUDE_CRYCOMMON_MULTITHREAD_CONTAINERS_H #pragma once #include "StlUtils.h" -#include "BitFiddling.h" #include #include @@ -43,8 +39,6 @@ namespace CryMT const T& back() const { AutoLock lock(m_cs); return v.back(); } void push(const T& x) { AutoLock lock(m_cs); return v.push_back(x); }; void reserve(const size_t n) { AutoLock lock(m_cs); v.reserve(n); }; - // classic pop function of queue should not be used for thread safety, use try_pop instead - //void pop() { AutoLock lock(m_cs); return v.erase(v.begin()); }; AZStd::recursive_mutex& get_lock() const { return m_cs; } @@ -69,27 +63,6 @@ namespace CryMT return false; }; - ////////////////////////////////////////////////////////////////////////// - bool try_remove(const T& value) - { - AutoLock lock(m_cs); - if (!v.empty()) - { - typename container_type::iterator it = std::find(v.begin(), v.end(), value); - if (it != v.end()) - { - v.erase(it); - return true; - } - } - return false; - }; - - template - void GetMemoryUsage(Sizer* pSizer) const - { - pSizer->AddObject(v); - } private: container_type v; mutable AZStd::recursive_mutex m_cs; @@ -104,6 +77,3 @@ namespace stl v.free_memory(); } } - - -#endif // CRYINCLUDE_CRYCOMMON_MULTITHREAD_CONTAINERS_H diff --git a/Code/Legacy/CryCommon/ProjectDefines.h b/Code/Legacy/CryCommon/ProjectDefines.h index f7f73f111b..203bd304c9 100644 --- a/Code/Legacy/CryCommon/ProjectDefines.h +++ b/Code/Legacy/CryCommon/ProjectDefines.h @@ -27,7 +27,7 @@ #define AZ_RESTRICTED_SECTION PROJECTDEFINES_H_SECTION_STATS_AGENT #include AZ_RESTRICTED_FILE(ProjectDefines_h) #elif defined(WIN32) || defined(WIN64) - #if !defined(_RELEASE) || defined(PERFORMANCE_BUILD) + #if !defined(_RELEASE) #define ENABLE_STATS_AGENT #endif #endif @@ -71,7 +71,7 @@ #define REMOTE_ASSET_PROCESSOR #endif -#if (!defined(_RELEASE) || defined(PERFORMANCE_BUILD)) +#if !defined(_RELEASE) #define USE_HTTP_WEBSOCKETS 0 #endif @@ -97,7 +97,7 @@ #endif #endif -#if (!defined(_RELEASE) || defined(PERFORMANCE_BUILD)) +#if !defined(_RELEASE) #ifndef ENABLE_PROFILING_CODE #define ENABLE_PROFILING_CODE #endif diff --git a/Code/Legacy/CryCommon/Random.h b/Code/Legacy/CryCommon/Random.h index c0d06f458c..6ffb38f736 100644 --- a/Code/Legacy/CryCommon/Random.h +++ b/Code/Legacy/CryCommon/Random.h @@ -6,9 +6,6 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_RANDOM_H -#define CRYINCLUDE_CRYCOMMON_RANDOM_H #pragma once #include "BaseTypes.h" @@ -21,22 +18,11 @@ namespace CryRandom_Internal } -// Seed the global random number generator. -inline void cry_random_seed(const uint32 nSeed) -{ - CryRandom_Internal::g_random_generator.Seed(nSeed); -} - inline uint32 cry_random_uint32() { return CryRandom_Internal::g_random_generator.GenerateUint32(); } -inline float cry_frand() -{ - return CryRandom_Internal::g_random_generator.GenerateFloat(); -} - // Ranged function returns random value within the *inclusive* range // between minValue and maxValue. // Any orderings work correctly: minValue <= maxValue and @@ -46,24 +32,3 @@ inline T cry_random(const T minValue, const T maxValue) { return CryRandom_Internal::g_random_generator.GetRandom(minValue, maxValue); } - -// Vector (Vec2, Vec3, Vec4) ranged function returns vector with -// every component within the *inclusive* ranges between minValue.component -// and maxValue.component. -// All orderings work correctly: minValue.component <= maxValue.component and -// minValue.component >= maxValue.component. -template -inline T cry_random_componentwise(const T& minValue, const T& maxValue) -{ - return CryRandom_Internal::g_random_generator.GetRandomComponentwise(minValue, maxValue); -} - -// The function returns a random unit vector (Vec2, Vec3, Vec4). -template -inline T cry_random_unit_vector() -{ - return CryRandom_Internal::g_random_generator.GetRandomUnitVector(); -} - -// eof -#endif // CRYINCLUDE_CRYCOMMON_RANDOM_H diff --git a/Code/Legacy/CryCommon/RenderBus.h b/Code/Legacy/CryCommon/RenderBus.h deleted file mode 100644 index 84259882a2..0000000000 --- a/Code/Legacy/CryCommon/RenderBus.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once - -#include - -namespace AZ -{ - /** - * This bus serves as a way for non-rendering systems to react to events - * that occur inside the renderer. For now these events will probably be implemented by - * things like CSystem and CryAction. In the future the idea is that these can be implemented - * by a user's GameComponent. - */ - class RenderNotifications - : public AZ::EBusTraits - { - public: - virtual ~RenderNotifications() = default; - - ////////////////////////////////////////////////////////////////////////// - // EBusTraits overrides - static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; - ////////////////////////////////////////////////////////////////////////// - - /** - * This event gets posted at the beginning of CD3D9Renderer's FreeResources method, before the resources have been freed. - */ - virtual void OnRendererFreeResources([[maybe_unused]] int flags) {}; - }; - - using RenderNotificationsBus = AZ::EBus; - - /** - * This bus is used for renderer notifications that occur directly from the render thread - * while scene rendering is occurring. (In contrast, the RenderNotificationsBus above runs on the - * main thread while the renderer is preparing the scene.) - */ - class RenderThreadEvents - : public AZ::EBusTraits - { - public: - virtual ~RenderThreadEvents() = default; - - ////////////////////////////////////////////////////////////////////////// - // EBusTraits overrides - static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; - ////////////////////////////////////////////////////////////////////////// - - /* - * This hook enables per-frame render work at the beginning of the frame. - * - * This event is triggered when RT_RenderScene is called at the beginning of a frame. - * The event will only be triggered on the render thread, if multithreaded rendering - * is enabled. And, it will only be triggered on a non-recursive scene render. - */ - virtual void OnRenderThreadRenderSceneBegin() {} - }; - - using RenderThreadEventsBus = AZ::EBus; - - /** - * This bus is used for firing screenshot request to any rendering system. - * The rendering system should implement its own screenshot function. - */ - class RenderScreenshotRequests - : public AZ::EBusTraits - { - public: - static const EBusHandlerPolicy HandlerPolicy = EBusHandlerPolicy::Single; ///< EBusTraits overrides - static const EBusAddressPolicy AddressPolicy = EBusAddressPolicy::Single; ///< EBusTraits overrides - - /** Take a screenshot and save it to a file. - @param filepath the path where a the screenshot is saved. - */ - virtual void WriteScreenshotToFile(const char* filepath) = 0; - - /** Take a screenshot and preserve it within a buffer - */ - virtual void WriteScreenshotToBuffer() = 0; - - /** Fill a provided buffer with the render buffer - @param imageBuffer The provided buffer to be filled - */ - virtual bool CopyScreenshotToBuffer(unsigned char* imageBuffer, unsigned int width, unsigned int height) = 0; - - }; - - using RenderScreenshotRequestBus = AZ::EBus; - - class RenderScreenshotNotifications - : public AZ::EBusTraits - { - public: - virtual ~RenderScreenshotNotifications() = default; - - static const EBusAddressPolicy AddressPolicy = EBusAddressPolicy::Single; ///< EBusTraits overrides - - /** Notify waiting components that the requested screenshot is ready - */ - virtual void OnScreenshotReady() = 0; - }; - - using RenderScreenshotNotificationBus = AZ::EBus; -} diff --git a/Code/Legacy/CryCommon/SFunctor.h b/Code/Legacy/CryCommon/SFunctor.h deleted file mode 100644 index d3075c9fae..0000000000 --- a/Code/Legacy/CryCommon/SFunctor.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -// Description : User header for multi DLL functors. - - -#ifndef CRYINCLUDE_CRYCOMMON_SFUNCTOR_H -#define CRYINCLUDE_CRYCOMMON_SFUNCTOR_H -#pragma once - - -#include "FunctorBaseFunction.h" -#include "FunctorBaseMember.h" - -// Needed for CryFont to compile. -// Maybe for others too. -#include "smartptr.h" - - -struct SFunctor -{ -public: - // Calls the functor method. - // returns true, if a functor is registered, false otherwise. - bool Call() - { - if (!m_pFunctor) - { - return false; - } - - m_pFunctor->Call(); - - return true; - } - - // Sets a new functor, common function, void return type, no arguments. - // Parameters: the function pointer. - template - void Set(tCallback pCallback) - { - typedef TFunctor TType; - m_pFunctor = new TType(pCallback); - } - - // Sets a new functor, common function, void return type, 1 argument. - // Parameters: the function pointer, the argument to be passed to the function. - template - void Set(tCallback pCallback, const tArgument1& Argument1) - { - typedef TFunctor TType; - m_pFunctor = new TType(pCallback, Argument1); - } - - // Sets a new functor, common function, void return type, 2 arguments. - // Parameters: the function pointer, the 2 arguments to be passed to the function. - template - void Set(tCallback pCallback, const tArgument1& Argument1, const tArgument2& Argument2) - { - typedef TFunctor TType; - m_pFunctor = new TType(pCallback, Argument1, Argument2); - } - - // Sets a new functor, common function, void return type, no arguments. - // Parameters: the function pointer, the 2 arguments to be passed to the function. - template - void Set(tCallee* pCallee, void (tCallee::* pCallback)()) - { - typedef TFunctor TType; - m_pFunctor = new TType(pCallee, pCallback); - } - - // Sets a new functor, common function, void return type, 1 argument. - // Parameters: the function pointer, the 2 arguments to be passed to the function, the argument. - template - void Set(tCallee* pCallee, void (tCallee::* pCallback)(tArgument1), const tArgument1& Argument1) - { - typedef TFunctor TType; - m_pFunctor = new TType(pCallee, pCallback, Argument1); - } - - // Sets a new functor, common function, void return type, 2 arguments. - // Parameters: the function pointer, the 2 arguments to be passed to the function, the 2 arguments. - template - void Set(tCallee* pCallee, void (tCallee::* pCallback)(tArgument1, tArgument2), const tArgument1& Argument1, const tArgument2& Argument2) - { - typedef TFunctor TType; - m_pFunctor = new TType(pCallee, pCallback, Argument1, Argument2); - } - - // Used to compare equality between 2 IFunctors. - bool operator==(const SFunctor& rOther) - { - return m_pFunctor == rOther.m_pFunctor; - } - - // Used order to IFunctors (needed for some containers, like map). - bool operator<(const SFunctor& rOther) - { - return m_pFunctor < rOther.m_pFunctor; - } -protected: - _smart_ptr m_pFunctor; -}; - -#endif // CRYINCLUDE_CRYCOMMON_SFUNCTOR_H diff --git a/Code/Legacy/CryCommon/SerializationTypes.h b/Code/Legacy/CryCommon/SerializationTypes.h index 6dbbe53f50..a041f0a836 100644 --- a/Code/Legacy/CryCommon/SerializationTypes.h +++ b/Code/Legacy/CryCommon/SerializationTypes.h @@ -10,7 +10,6 @@ SERIALIZATION_TYPE(bool) SERIALIZATION_TYPE(float) -SERIALIZATION_TYPE(double) SERIALIZATION_TYPE(Vec2) SERIALIZATION_TYPE(Vec3) SERIALIZATION_TYPE(Quat) @@ -24,5 +23,3 @@ SERIALIZATION_TYPE(uint16) SERIALIZATION_TYPE(uint32) SERIALIZATION_TYPE(uint64) SERIALIZATION_TYPE(CTimeValue) -SERIALIZATION_TYPE(SNetObjectID) -SERIALIZATION_TYPE(XmlNodeRef) // not for network - only for save games diff --git a/Code/Legacy/CryCommon/SerializeFwd.h b/Code/Legacy/CryCommon/SerializeFwd.h index e6cac372de..2b8a18b797 100644 --- a/Code/Legacy/CryCommon/SerializeFwd.h +++ b/Code/Legacy/CryCommon/SerializeFwd.h @@ -6,18 +6,10 @@ * */ - // Description : forward declaration of TSerialize - -#ifndef CRYINCLUDE_CRYCOMMON_SERIALIZEFWD_H -#define CRYINCLUDE_CRYCOMMON_SERIALIZEFWD_H #pragma once - - template class CSerializeWrapper; struct ISerialize; typedef CSerializeWrapper TSerialize; - -#endif // CRYINCLUDE_CRYCOMMON_SERIALIZEFWD_H diff --git a/Code/Legacy/CryCommon/SimpleSerialize.h b/Code/Legacy/CryCommon/SimpleSerialize.h index 7ce2c1c5dd..2fd57b7bc3 100644 --- a/Code/Legacy/CryCommon/SimpleSerialize.h +++ b/Code/Legacy/CryCommon/SimpleSerialize.h @@ -6,78 +6,29 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_SIMPLESERIALIZE_H -#define CRYINCLUDE_CRYCOMMON_SIMPLESERIALIZE_H #pragma once - -#include // <> required for Interfuscator #include "TimeValue.h" +#include // <> required for Interfuscator -template -class CSimpleSerializeImpl_Reading; - -template <> -class CSimpleSerializeImpl_Reading -{ -public: - CSimpleSerializeImpl_Reading() - : m_bCommit(true) {} - ILINE bool IsReading() const - { - return true; - } - ILINE bool ShouldCommitValues() const - { - return m_bCommit; - } - ILINE void Update(ISerializeUpdateFunction* pFunc) - { - if (m_bCommit) - { - pFunc->Execute(); - } - } -protected: - bool m_bCommit; -}; - -template <> -class CSimpleSerializeImpl_Reading -{ -public: - ILINE bool IsReading() const - { - return false; - } - ILINE bool ShouldCommitValues() const - { - return true; - } - ILINE void Update(ISerializeUpdateFunction*) - { - } -}; - -template +template class CSimpleSerializeImpl - : public CSimpleSerializeImpl_Reading { public: CSimpleSerializeImpl() - : m_failed(false) {} + : m_failed(false) + { + } + ILINE bool IsReading() const + { + return READING; + } ILINE void BeginGroup(const char* szName) { } ILINE void EndGroup() { } - ILINE ESerializationTarget GetSerializationTarget() const - { - return TARGET; - } - ILINE void FlagPartialRead() {} ILINE bool Ok() const { @@ -94,9 +45,8 @@ private: bool m_failed; }; -template -class CSimpleSerialize - : public ISerialize +template +class CSimpleSerialize : public ISerialize { public: ILINE CSimpleSerialize(Impl& impl) @@ -104,11 +54,6 @@ public: { } - void Update(ISerializeUpdateFunction* pFunc) - { - m_impl.Update(pFunc); - } - void BeginGroup(const char* szName) { m_impl.BeginGroup(szName); @@ -129,47 +74,25 @@ public: return m_impl.IsReading(); } - bool ShouldCommitValues() const + void WriteStringValue(const char* name, SSerializeString& value) { - return m_impl.ShouldCommitValues(); + m_impl.Value(name, value); + } + void ReadStringValue(const char* name, SSerializeString& curValue) + { + m_impl.Value(name, curValue); } - ESerializationTarget GetSerializationTarget() const - { - return m_impl.GetSerializationTarget(); +#define SERIALIZATION_TYPE(T) \ + void Value(const char* name, T& x) override \ + { \ + m_impl.Value(name, x); \ } - - void WriteStringValue(const char* name, SSerializeString& value, uint32 policy) - { - m_impl.Value(name, value, policy); - } - void ReadStringValue(const char* name, SSerializeString& curValue, uint32 policy) - { - m_impl.Value(name, curValue, policy); - } - - bool Ok() const - { - return m_impl.Ok(); - } - - void FlagPartialRead() - { - m_impl.FlagPartialRead(); - } - -#define SERIALIZATION_TYPE(T) \ - virtual void Value(const char* name, T & x, uint32 policy) { m_impl.Value(name, x, policy); } #include "SerializationTypes.h" #undef SERIALIZATION_TYPE -#define SERIALIZATION_TYPE(T) \ - virtual void ValueWithDefault([[maybe_unused]] const char* name, [[maybe_unused]] T & x, [[maybe_unused]] const T&defaultValue) { assert(0); } -#include "SerializationTypes.h" - SERIALIZATION_TYPE(SSerializeString) -#undef SERIALIZATION_TYPE - - Impl * GetInnerImpl() { + Impl* GetInnerImpl() + { return &m_impl; } @@ -181,26 +104,5 @@ protected: // Support serialization with default values, // Require Implementation serialization stub to have Value() method returning boolean. ////////////////////////////////////////////////////////////////////////// -template -class CSimpleSerializeWithDefaults - : public CSimpleSerialize -{ -public: - ILINE CSimpleSerializeWithDefaults(Impl& impl) - : CSimpleSerialize(impl) {} - -#define SERIALIZATION_TYPE(T) \ - virtual void ValueWithDefault(const char* name, T & x, const T&defaultValue) { \ - if (CSimpleSerialize::m_impl.IsReading()) { \ - if (!CSimpleSerialize::m_impl.Value(name, x, 0)) { \ - x = defaultValue; } \ - } \ - else if (x != defaultValue) { \ - CSimpleSerialize::m_impl.Value(name, x, 0); } \ - } -#include "SerializationTypes.h" - SERIALIZATION_TYPE(SSerializeString) -#undef SERIALIZATION_TYPE -}; - -#endif // CRYINCLUDE_CRYCOMMON_SIMPLESERIALIZE_H +template +using CSimpleSerializeWithDefaults = CSimpleSerialize; diff --git a/Code/Legacy/CryCommon/StatObjBus.h b/Code/Legacy/CryCommon/StatObjBus.h index b9a47f976d..5a05440cb0 100644 --- a/Code/Legacy/CryCommon/StatObjBus.h +++ b/Code/Legacy/CryCommon/StatObjBus.h @@ -5,47 +5,15 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ - -#ifndef CRYINCLUDE_CRYCOMMON_STATOBJBUS_H -#define CRYINCLUDE_CRYCOMMON_STATOBJBUS_H +#pragma once #include #include -struct IStatObj; - -////////////////////////////////////////////////////////////////////////// -// -// Ebus support for handling unique IDs between IStatInstGroup instances. -// -////////////////////////////////////////////////////////////////////////// -using StatInstGroupId = int; - -class StatInstGroupEvents - : public AZ::EBusTraits -{ -public: - const static StatInstGroupId s_InvalidStatInstGroupId = -1; - - virtual ~StatInstGroupEvents() = default; - - // AZ::EBusTraits - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; - static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; - using MutexType = AZStd::recursive_mutex; - - virtual StatInstGroupId GenerateStatInstGroupId() = 0; - virtual void ReleaseStatInstGroupId(StatInstGroupId statInstGroupId) = 0; - virtual void ReleaseStatInstGroupIdSet(const AZStd::unordered_set& statInstGroupIdSet) = 0; - virtual void ReserveStatInstGroupIdRange(StatInstGroupId from, StatInstGroupId to) = 0; -}; - -using StatInstGroupEventBus = AZ::EBus; - ////////////////////////////////////////////////////////////////////////// // // EBUS support for triggering necessary updates when IStatObj instances -// caches should be updated when 3D Engine events happen during level loads, +// caches should be updated when 3D Engine events happen during level loads, // shutting down the application, and so forth // ////////////////////////////////////////////////////////////////////////// @@ -66,6 +34,3 @@ public: }; using InstanceStatObjEventBus = AZ::EBus; - -#endif // CRYINCLUDE_CRYCOMMON_STATOBJBUS_H -#pragma once diff --git a/Code/Legacy/CryCommon/Synchronization.h b/Code/Legacy/CryCommon/Synchronization.h index d38160c967..ddd020ffde 100644 --- a/Code/Legacy/CryCommon/Synchronization.h +++ b/Code/Legacy/CryCommon/Synchronization.h @@ -6,9 +6,6 @@ * */ - -#ifndef CRYINCLUDE_CRYCOMMON_SYNCHRONIZATION_H -#define CRYINCLUDE_CRYCOMMON_SYNCHRONIZATION_H #pragma once @@ -25,46 +22,4 @@ namespace stl { - template - struct AutoLock - { - ILINE AutoLock(Sync& sync) - : _sync(sync) - { - sync.Lock(); - } - ILINE ~AutoLock() - { - _sync.Unlock(); - } - - private: - Sync& _sync; - }; - - - struct PSyncNone - { - void Lock() {} - void Unlock() {} - }; - - struct PSyncMultiThread - { - PSyncMultiThread() {} - - void Lock() - { - m_lock.lock(); - } - void Unlock() - { - m_lock.unlock(); - } - - private: - AZStd::spin_mutex m_lock; - }; }; - -#endif // CRYINCLUDE_CRYCOMMON_SYNCHRONIZATION_H diff --git a/Code/Legacy/CryCommon/TimeValue.h b/Code/Legacy/CryCommon/TimeValue.h index 14f402eb3d..a3da02ef62 100644 --- a/Code/Legacy/CryCommon/TimeValue.h +++ b/Code/Legacy/CryCommon/TimeValue.h @@ -21,8 +21,6 @@ public: static const int64 TIMEVALUE_PRECISION = 100000; // one second public: - void GetMemoryUsage(class ICrySizer*) const { /*nothing*/} - // Default constructor. ILINE CTimeValue() { @@ -164,8 +162,6 @@ public: ILINE bool operator==(const CTimeValue& inRhs) const { return m_lValue == inRhs.m_lValue; }; ILINE bool operator!=(const CTimeValue& inRhs) const { return m_lValue != inRhs.m_lValue; }; - void GetMemoryStatistics(class ICrySizer*) const { /*nothing*/} - private: // ---------------------------------------------------------- int64 m_lValue; // absolute or relative value in 1/TIMEVALUE_PRECISION, might be negative diff --git a/Code/Legacy/CryCommon/VertexFormats.h b/Code/Legacy/CryCommon/VertexFormats.h index 8f5d0f0923..97e0c20935 100644 --- a/Code/Legacy/CryCommon/VertexFormats.h +++ b/Code/Legacy/CryCommon/VertexFormats.h @@ -6,12 +6,9 @@ * */ - #pragma once #include -// Stream Configuration options -#define ENABLE_NORMALSTREAM_SUPPORT 1 enum EVertexFormat : uint8 { @@ -32,9 +29,6 @@ enum EVertexFormat : uint8 eVF_Max, }; - -typedef Vec4_tpl Vec4sf; // Used for tangents only. - struct UCol { union @@ -90,7 +84,7 @@ struct Vec3f16 w = CryConvertFloatToHalf(1.0f); return *this; } - _inline Vec3f16& operator = (const Vec4A& sl) + _inline Vec3f16& operator = (const Vec4& sl) { x = CryConvertFloatToHalf(sl.x); y = CryConvertFloatToHalf(sl.y); @@ -108,44 +102,6 @@ struct Vec3f16 } }; -struct Vec2f16 - : public CryHalf2 -{ - _inline Vec2f16() - { - } - _inline Vec2f16(f32 _x, f32 _y) - { - x = CryConvertFloatToHalf(_x); - y = CryConvertFloatToHalf(_y); - } - Vec2f16& operator = (const Vec2f16& sl) - { - x = sl.x; - y = sl.y; - return *this; - } - Vec2f16& operator = (const Vec2& sl) - { - x = CryConvertFloatToHalf(sl.x); - y = CryConvertFloatToHalf(sl.y); - return *this; - } - float operator[](int i) const - { - assert(i <= 1); - return CryConvertHalfToFloat(((CryHalf*)this)[i]); - } - _inline Vec2 ToVec2() const - { - Vec2 v; - v.x = CryConvertHalfToFloat(x); - v.y = CryConvertHalfToFloat(y); - return v; - } -}; - - struct SVF_P3F_C4B { Vec3 xyz; @@ -170,381 +126,7 @@ struct SVF_P2F_C4B_T2F_F4B uint8 pad; }; -struct SVF_P3S_C4B_T2S -{ - Vec3f16 xyz; - UCol color; - Vec2f16 st; -}; - -struct SVF_W4B_I4S -{ - UCol weights; - uint16 indices[4]; -}; - struct SVF_P3F { Vec3 xyz; }; - -//============================================================= -// Signed norm value packing [-1,+1] - -namespace PackingSNorm -{ - ILINE int16 tPackF2B(const float f) - { - return (int16)(f * 32767.0f); - } - - ILINE int16 tPackS2B(const int16 s) - { - return (int16)(s * 32767); - } - - ILINE float tPackB2F(const int16 i) - { - return (float)((float)i / 32767.0f); - } - - ILINE int16 tPackB2S(const int16 s) - { - // OPT: "(s >> 15) + !(s >> 15)" works as well - return (int16)(s / 32767); - } - - ILINE Vec4sf tPackF2Bv(const Vec4& v) - { - Vec4sf vs; - - vs.x = tPackF2B(v.x); - vs.y = tPackF2B(v.y); - vs.z = tPackF2B(v.z); - vs.w = tPackF2B(v.w); - - return vs; - } - - ILINE Vec4sf tPackF2Bv(const Vec3& v) - { - Vec4sf vs; - - vs.x = tPackF2B(v.x); - vs.y = tPackF2B(v.y); - vs.z = tPackF2B(v.z); - vs.w = tPackF2B(1.0f); - - return vs; - } - - ILINE Vec4 tPackB2F(const Vec4sf& v) - { - Vec4 vs; - - vs.x = tPackB2F(v.x); - vs.y = tPackB2F(v.y); - vs.z = tPackB2F(v.z); - vs.w = tPackB2F(v.w); - - return vs; - } - - ILINE void tPackB2F(const Vec4sf& v, Vec4& vDst) - { - vDst.x = tPackB2F(v.x); - vDst.y = tPackB2F(v.y); - vDst.z = tPackB2F(v.z); - vDst.w = 1.0f; - } - - ILINE void tPackB2FScale(const Vec4sf& v, Vec4& vDst, const Vec3& vScale) - { - vDst.x = (float)v.x * vScale.x; - vDst.y = (float)v.y * vScale.y; - vDst.z = (float)v.z * vScale.z; - vDst.w = 1.0f; - } - - ILINE void tPackB2FScale(const Vec4sf& v, Vec3& vDst, const Vec3& vScale) - { - vDst.x = (float)v.x * vScale.x; - vDst.y = (float)v.y * vScale.y; - vDst.z = (float)v.z * vScale.z; - } - - ILINE void tPackB2F(const Vec4sf& v, Vec3& vDst) - { - vDst.x = tPackB2F(v.x); - vDst.y = tPackB2F(v.y); - vDst.z = tPackB2F(v.z); - } -}; - -//============================================================= -// Pip => Graphics Pipeline structures, used for inputs for the GPU's Input Assembler -// These structures are optimized for fast decoding (ALU and bandwidth) and -// might be slow to encode on-the-fly - -struct SPipTangents -{ - SPipTangents() {} - -private: - Vec4sf Tangent; - Vec4sf Bitangent; - -public: - explicit SPipTangents(const Vec4sf& othert, const Vec4sf& otherb, const int16& othersign) - { - using namespace PackingSNorm; - Tangent = othert; - Tangent.w = PackingSNorm::tPackS2B(othersign); - Bitangent = otherb; - Bitangent.w = PackingSNorm::tPackS2B(othersign); - } - - explicit SPipTangents(const Vec4sf& othert, const Vec4sf& otherb, const SPipTangents& othersign) - { - Tangent = othert; - Tangent.w = othersign.Tangent.w; - Bitangent = otherb; - Bitangent.w = othersign.Bitangent.w; - } - - explicit SPipTangents(const Vec4sf& othert, const Vec4sf& otherb) - { - Tangent = othert; - Bitangent = otherb; - } - - explicit SPipTangents(const Vec3& othert, const Vec3& otherb, const int16& othersign) - { - Tangent = Vec4sf(PackingSNorm::tPackF2B(othert.x), PackingSNorm::tPackF2B(othert.y), PackingSNorm::tPackF2B(othert.z), PackingSNorm::tPackS2B(othersign)); - Bitangent = Vec4sf(PackingSNorm::tPackF2B(otherb.x), PackingSNorm::tPackF2B(otherb.y), PackingSNorm::tPackF2B(otherb.z), PackingSNorm::tPackS2B(othersign)); - } - - explicit SPipTangents(const Vec3& othert, const Vec3& otherb, const SPipTangents& othersign) - { - Tangent = Vec4sf(PackingSNorm::tPackF2B(othert.x), PackingSNorm::tPackF2B(othert.y), PackingSNorm::tPackF2B(othert.z), othersign.Tangent.w); - Bitangent = Vec4sf(PackingSNorm::tPackF2B(otherb.x), PackingSNorm::tPackF2B(otherb.y), PackingSNorm::tPackF2B(otherb.z), othersign.Bitangent.w); - } - - explicit SPipTangents(const Quat& other, const int16& othersign) - { - Vec3 othert = other.GetColumn0(); - Vec3 otherb = other.GetColumn1(); - - Tangent = Vec4sf(PackingSNorm::tPackF2B(othert.x), PackingSNorm::tPackF2B(othert.y), PackingSNorm::tPackF2B(othert.z), PackingSNorm::tPackS2B(othersign)); - Bitangent = Vec4sf(PackingSNorm::tPackF2B(otherb.x), PackingSNorm::tPackF2B(otherb.y), PackingSNorm::tPackF2B(otherb.z), PackingSNorm::tPackS2B(othersign)); - } - - void ExportTo(Vec4sf& othert, Vec4sf& otherb) const - { - othert = Tangent; - otherb = Bitangent; - } - - // get normal tangent and bitangent vectors - void GetTB(Vec4& othert, Vec4& otherb) const - { - othert = PackingSNorm::tPackB2F(Tangent); - otherb = PackingSNorm::tPackB2F(Bitangent); - } - - // get normal vector (perpendicular to tangent and bitangent plane) - ILINE Vec3 GetN() const - { - Vec4 tng, btg; - GetTB(tng, btg); - - Vec3 tng3(tng.x, tng.y, tng.z), - btg3(btg.x, btg.y, btg.z); - - // assumes w 1 or -1 - return tng3.Cross(btg3) * tng.w; - } - - // get normal vector (perpendicular to tangent and bitangent plane) - void GetN(Vec3& othern) const - { - othern = GetN(); - } - - // get the tangent-space basis as individual normal vectors (tangent, bitangent and normal) - void GetTBN(Vec3& othert, Vec3& otherb, Vec3& othern) const - { - Vec4 tng, btg; - GetTB(tng, btg); - - Vec3 tng3(tng.x, tng.y, tng.z), - btg3(btg.x, btg.y, btg.z); - - // assumes w 1 or -1 - othert = tng3; - otherb = btg3; - othern = tng3.Cross(btg3) * tng.w; - } - - // get normal vector sign (reflection) - ILINE int16 GetR() const - { - return PackingSNorm::tPackB2S(Tangent.w); - } - - // get normal vector sign (reflection) - void GetR(int16& sign) const - { - sign = GetR(); - } - - void TransformBy(const Matrix34& trn) - { - Vec4 tng, btg; - GetTB(tng, btg); - - Vec3 tng3(tng.x, tng.y, tng.z), - btg3(btg.x, btg.y, btg.z); - - tng3 = trn.TransformVector(tng3); - btg3 = trn.TransformVector(btg3); - - *this = SPipTangents(tng3, btg3, PackingSNorm::tPackB2S(Tangent.w)); - } - - void TransformSafelyBy(const Matrix34& trn) - { - Vec4 tng, btg; - GetTB(tng, btg); - - Vec3 tng3(tng.x, tng.y, tng.z), - btg3(btg.x, btg.y, btg.z); - - tng3 = trn.TransformVector(tng3); - btg3 = trn.TransformVector(btg3); - - // normalize in case "trn" wasn't length-preserving - tng3.Normalize(); - btg3.Normalize(); - - *this = SPipTangents(tng3, btg3, PackingSNorm::tPackB2S(Tangent.w)); - } -}; - -struct SPipQTangents -{ - SPipQTangents() {} - -private: - Vec4sf QTangent; - -public: - explicit SPipQTangents(const Vec4sf& other) - { - QTangent = other; - } - - bool operator ==(const SPipQTangents& other) const - { - return - QTangent[0] == other.QTangent[0] || - QTangent[1] == other.QTangent[1] || - QTangent[2] == other.QTangent[2] || - QTangent[3] == other.QTangent[3]; - } - - bool operator !=(const SPipQTangents& other) const - { - return !(*this == other); - } - - // get quaternion - ILINE Quat GetQ() const - { - Quat q; - - q.v.x = PackingSNorm::tPackB2F(QTangent.x); - q.v.y = PackingSNorm::tPackB2F(QTangent.y); - q.v.z = PackingSNorm::tPackB2F(QTangent.z); - q.w = PackingSNorm::tPackB2F(QTangent.w); - - return q; - } - - // get normal vector from quaternion - ILINE Vec3 GetN() const - { - const Quat q = GetQ(); - return q.GetColumn2() * (q.w < 0.0f ? -1.0f : +1.0f); - } -}; - -struct SPipNormal - : public Vec3 -{ - SPipNormal() {} - - explicit SPipNormal(const Vec3& othern) - { - x = othern.x; - y = othern.y; - z = othern.z; - } - - // get normal vector - ILINE Vec3 GetN() const - { - return *this; - } - - // get normal vector - void GetN(Vec3& othern) const - { - othern = GetN(); - } - - void TransformBy(const Matrix34& trn) - { - *this = SPipNormal(trn.TransformVector(*this)); - } - - void TransformSafelyBy(const Matrix34& trn) - { - // normalize in case "trn" wasn't length-preserving - *this = SPipNormal(trn.TransformVector(*this).normalize()); - } -}; - -//================================================================================================== - -typedef SVF_P3F_C4B_T2F SAuxVertex; - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// Vertex Sizes -//extern const int m_VertexSize[]; - -//============================================================================ -// Custom vertex streams definitions -// NOTE: If you add new stream ID also include vertex declarations creating in -// CD3D9Renderer::EF_InitD3DVertexDeclarations (D3DRendPipeline.cpp) - -// Stream IDs -enum EStreamIDs -{ - VSF_GENERAL, // General vertex buffer - VSF_TANGENTS, // Tangents buffer - VSF_QTANGENTS, // Tangents buffer - VSF_HWSKIN_INFO, // HW skinning buffer - VSF_VERTEX_VELOCITY, // Velocity buffer -# if ENABLE_NORMALSTREAM_SUPPORT - VSF_NORMALS, // Normals, used for skinning -#endif - // <- Insert new stream IDs here - VSF_NUM, // Number of vertex streams - - VSF_MORPHBUDDY = 8, // Morphing (from m_pMorphBuddy) - VSF_INSTANCED = 9, // Data is for instance stream - VSF_MORPHBUDDY_WEIGHTS = 15, // Morphing weights -}; - -//================================================================================================================== diff --git a/Code/Legacy/CryCommon/WinBase.cpp b/Code/Legacy/CryCommon/WinBase.cpp index 8473417d4a..71bec78f69 100644 --- a/Code/Legacy/CryCommon/WinBase.cpp +++ b/Code/Legacy/CryCommon/WinBase.cpp @@ -810,21 +810,6 @@ void replaceDoublePathFilename(char* szFileName) azstrcpy((char*)szFileName, AZ_MAX_PATH_LEN, s.c_str()); } -const int comparePathNames(const char* cpFirst, const char* cpSecond, unsigned int len) -{ - //create two strings and replace the \\ by / and /./ by / - AZStd::string first(cpFirst); - AZStd::string second(cpSecond); - adaptFilenameToLinux(first); - adaptFilenameToLinux(second); - if (strlen(cpFirst) < len || strlen(cpSecond) < len) - { - return -1; - } - unsigned int length = std::min(std::min(first.size(), second.size()), (size_t)len); //make sure not to access invalid memory - return memicmp(first.c_str(), second.c_str(), length); -} - #if FIX_FILENAME_CASE static bool FixOnePathElement(char* path) { diff --git a/Code/Legacy/CryCommon/crycommon_files.cmake b/Code/Legacy/CryCommon/crycommon_files.cmake index 2f5030ccc4..c1cdcf094a 100644 --- a/Code/Legacy/CryCommon/crycommon_files.cmake +++ b/Code/Legacy/CryCommon/crycommon_files.cmake @@ -25,7 +25,6 @@ set(FILES IMiniLog.h IMovieSystem.h IProcess.h - IReadWriteXMLSink.h IRenderAuxGeom.h IRenderer.h ISerialize.h @@ -33,7 +32,6 @@ set(FILES ISplines.h IStatObj.h StatObjBus.h - ISurfaceType.h ISystem.h ITexture.h ITimer.h @@ -46,9 +44,6 @@ set(FILES VRCommon.h INavigationSystem.h IMNM.h - SFunctor.h - FunctorBaseFunction.h - FunctorBaseMember.h SerializationTypes.h CryEndian.h CryRandomInternal.h @@ -56,21 +51,15 @@ set(FILES LCGRandom.h BaseTypes.h AnimKey.h - BitFiddling.h - Common_TypeInfo.cpp CryAssert.h - CryCrc32.h CryFile.h CryListenerSet.h CryLegacyAllocator.h CryPath.h - CryPodArray.h - CrySizer.h CrySystemBus.h CryVersion.h LegacyAllocator.cpp LegacyAllocator.h - MetaUtils.h MiniQueue.h MultiThread_Containers.h NullAudioSystem.h @@ -82,13 +71,11 @@ set(FILES SimpleSerialize.h smartptr.h StlUtils.h - Synchronization.h Timer.h TimeValue.h VectorMap.h VertexFormats.h XMLBinaryHeaders.h - RenderBus.h MainThreadRenderRequestBus.h Cry_Matrix33.h Cry_Matrix34.h @@ -106,8 +93,6 @@ set(FILES Cry_Vector3.h CryHalf.inl MathConversion.h - Cry_HWMatrix.h - Cry_HWVector3.h AndroidSpecific.h AppleSpecific.h CryAssert_Android.h diff --git a/Code/Legacy/CryCommon/platform_impl.cpp b/Code/Legacy/CryCommon/platform_impl.cpp index d61bfe6ee4..323d3daf65 100644 --- a/Code/Legacy/CryCommon/platform_impl.cpp +++ b/Code/Legacy/CryCommon/platform_impl.cpp @@ -340,73 +340,6 @@ inline void CryDebugStr([[maybe_unused]] const char* format, ...) */ } -alignas(64) uint32 BoxSides[0x40 * 8] = { - 0, 0, 0, 0, 0, 0, 0, 0, //00 - 0, 4, 6, 2, 0, 0, 0, 4, //01 - 7, 5, 1, 3, 0, 0, 0, 4, //02 - 0, 0, 0, 0, 0, 0, 0, 0, //03 - 0, 1, 5, 4, 0, 0, 0, 4, //04 - 0, 1, 5, 4, 6, 2, 0, 6, //05 - 7, 5, 4, 0, 1, 3, 0, 6, //06 - 0, 0, 0, 0, 0, 0, 0, 0, //07 - 7, 3, 2, 6, 0, 0, 0, 4, //08 - 0, 4, 6, 7, 3, 2, 0, 6, //09 - 7, 5, 1, 3, 2, 6, 0, 6, //0a - 0, 0, 0, 0, 0, 0, 0, 0, //0b - 0, 0, 0, 0, 0, 0, 0, 0, //0c - 0, 0, 0, 0, 0, 0, 0, 0, //0d - 0, 0, 0, 0, 0, 0, 0, 0, //0e - 0, 0, 0, 0, 0, 0, 0, 0, //0f - 0, 2, 3, 1, 0, 0, 0, 4, //10 - 0, 4, 6, 2, 3, 1, 0, 6, //11 - 7, 5, 1, 0, 2, 3, 0, 6, //12 - 0, 0, 0, 0, 0, 0, 0, 0, //13 - 0, 2, 3, 1, 5, 4, 0, 6, //14 - 1, 5, 4, 6, 2, 3, 0, 6, //15 - 7, 5, 4, 0, 2, 3, 0, 6, //16 - 0, 0, 0, 0, 0, 0, 0, 0, //17 - 0, 2, 6, 7, 3, 1, 0, 6, //18 - 0, 4, 6, 7, 3, 1, 0, 6, //19 - 7, 5, 1, 0, 2, 6, 0, 6, //1a - 0, 0, 0, 0, 0, 0, 0, 0, //1b - 0, 0, 0, 0, 0, 0, 0, 0, //1c - 0, 0, 0, 0, 0, 0, 0, 0, //1d - 0, 0, 0, 0, 0, 0, 0, 0, //1e - 0, 0, 0, 0, 0, 0, 0, 0, //1f - 7, 6, 4, 5, 0, 0, 0, 4, //20 - 0, 4, 5, 7, 6, 2, 0, 6, //21 - 7, 6, 4, 5, 1, 3, 0, 6, //22 - 0, 0, 0, 0, 0, 0, 0, 0, //23 - 7, 6, 4, 0, 1, 5, 0, 6, //24 - 0, 1, 5, 7, 6, 2, 0, 6, //25 - 7, 6, 4, 0, 1, 3, 0, 6, //26 - 0, 0, 0, 0, 0, 0, 0, 0, //27 - 7, 3, 2, 6, 4, 5, 0, 6, //28 - 0, 4, 5, 7, 3, 2, 0, 6, //29 - 6, 4, 5, 1, 3, 2, 0, 6, //2a - 0, 0, 0, 0, 0, 0, 0, 0, //2b - 0, 0, 0, 0, 0, 0, 0, 0, //2c - 0, 0, 0, 0, 0, 0, 0, 0, //2d - 0, 0, 0, 0, 0, 0, 0, 0, //2e - 0, 0, 0, 0, 0, 0, 0, 0, //2f - 0, 0, 0, 0, 0, 0, 0, 0, //30 - 0, 0, 0, 0, 0, 0, 0, 0, //31 - 0, 0, 0, 0, 0, 0, 0, 0, //32 - 0, 0, 0, 0, 0, 0, 0, 0, //33 - 0, 0, 0, 0, 0, 0, 0, 0, //34 - 0, 0, 0, 0, 0, 0, 0, 0, //35 - 0, 0, 0, 0, 0, 0, 0, 0, //36 - 0, 0, 0, 0, 0, 0, 0, 0, //37 - 0, 0, 0, 0, 0, 0, 0, 0, //38 - 0, 0, 0, 0, 0, 0, 0, 0, //39 - 0, 0, 0, 0, 0, 0, 0, 0, //3a - 0, 0, 0, 0, 0, 0, 0, 0, //3b - 0, 0, 0, 0, 0, 0, 0, 0, //3c - 0, 0, 0, 0, 0, 0, 0, 0, //3d - 0, 0, 0, 0, 0, 0, 0, 0, //3e - 0, 0, 0, 0, 0, 0, 0, 0, //3f -}; - //////////////////////////////////////////////////////////////////////////////////////////////////////////// #if defined(AZ_RESTRICTED_PLATFORM) #define AZ_RESTRICTED_SECTION PLATFORM_IMPL_H_SECTION_VIRTUAL_ALLOCATORS diff --git a/Code/Legacy/CrySystem/CrySystem_precompiled.h b/Code/Legacy/CrySystem/CrySystem_precompiled.h index 79fbbd92be..faa924931f 100644 --- a/Code/Legacy/CrySystem/CrySystem_precompiled.h +++ b/Code/Legacy/CrySystem/CrySystem_precompiled.h @@ -81,7 +81,6 @@ #include #include #include -#include #include diff --git a/Code/Legacy/CrySystem/Huffman.h b/Code/Legacy/CrySystem/Huffman.h index 942663095e..33f77a2829 100644 --- a/Code/Legacy/CrySystem/Huffman.h +++ b/Code/Legacy/CrySystem/Huffman.h @@ -122,24 +122,6 @@ public: void CompressInput(const uint8* const pInput, const size_t numBytes, uint8* const pOutput, size_t* const outputSize); size_t UncompressInput(const uint8* const pInput, const size_t numBytes, uint8* const pOutput, const size_t maxOutputSize); - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - - if (m_Counts != NULL) - { - pSizer->AddObject(m_Counts, sizeof(uint32), MAX_NUM_SYMBOLS); - } - if (m_TreeNodes != NULL) - { - pSizer->AddObject(m_TreeNodes, sizeof(HuffmanTreeNode), MAX_NUM_NODES); - } - if (m_Codes != NULL) - { - pSizer->AddObject(m_Codes, sizeof(HuffmanSymbolCode), MAX_NUM_CODES); - } - } - private: void ScaleCountsAndUpdateNodes(); int BuildTree(); diff --git a/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp b/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp index fe87c3f784..a0338941b5 100644 --- a/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp +++ b/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp @@ -37,12 +37,6 @@ namespace LegacyLevelSystem { static constexpr const char* ArchiveExtension = ".pak"; -void CLevelInfo::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->AddObject(m_levelName); - pSizer->AddObject(m_levelPath); -} - ////////////////////////////////////////////////////////////////////////// bool CLevelInfo::OpenLevelPak() { @@ -824,17 +818,7 @@ void CLevelSystem::LogLoadingTime() sChain = " (Chained)"; } - AZStd::string text; - text.format("Game Level Load Time: [%s] Level %s loaded in %.2f seconds%s", vers, m_lastLevelName.c_str(), m_fLastLevelLoadTime, sChain); - gEnv->pLog->Log(text.c_str()); -} - -void CLevelSystem::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_levelInfos); - pSizer->AddObject(m_levelsFolder); - pSizer->AddObject(m_listeners); + gEnv->pLog->Log("Game Level Load Time: [%s] Level %s loaded in %.2f seconds%s", vers, m_lastLevelName.c_str(), m_fLastLevelLoadTime, sChain); } ////////////////////////////////////////////////////////////////////////// diff --git a/Code/Legacy/CrySystem/LevelSystem/LevelSystem.h b/Code/Legacy/CrySystem/LevelSystem/LevelSystem.h index f77f818b84..836d2c2484 100644 --- a/Code/Legacy/CrySystem/LevelSystem/LevelSystem.h +++ b/Code/Legacy/CrySystem/LevelSystem/LevelSystem.h @@ -31,8 +31,6 @@ public: // ~ILevelInfo - void GetMemoryUsage(ICrySizer*) const; - private: bool ReadInfo(); @@ -114,8 +112,6 @@ public: // ~ILevelSystem - void GetMemoryUsage(ICrySizer* s) const; - private: float GetLastLevelLoadTime() { return m_fLastLevelLoadTime; } diff --git a/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp b/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp index 72d74ea1c1..a82c4a6914 100644 --- a/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp +++ b/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp @@ -468,10 +468,7 @@ namespace LegacyLevelSystem sChain = " (Chained)"; } - AZStd::string text; - text.format( - "Game Level Load Time: [%s] Level %s loaded in %.2f seconds%s", vers, m_lastLevelName.c_str(), m_fLastLevelLoadTime, sChain); - gEnv->pLog->Log(text.c_str()); + gEnv->pLog->Log("Game Level Load Time: [%s] Level %s loaded in %.2f seconds%s", vers, m_lastLevelName.c_str(), m_fLastLevelLoadTime, sChain); } ////////////////////////////////////////////////////////////////////////// diff --git a/Code/Legacy/CrySystem/LocalizedStringManager.cpp b/Code/Legacy/CrySystem/LocalizedStringManager.cpp index 365c71252c..a87800899d 100644 --- a/Code/Legacy/CrySystem/LocalizedStringManager.cpp +++ b/Code/Legacy/CrySystem/LocalizedStringManager.cpp @@ -802,16 +802,6 @@ bool CLocalizedStringsManager::ReleaseLocalizationDataByTag( m_pLanguage->m_vLocalizedStrings.clear(); m_pLanguage->m_vLocalizedStrings = newVec; } - - /*LARGE_INTEGER liEnd, liFreq; - QueryPerformanceCounter(&liEnd); - QueryPerformanceFrequency(&liFreq); - - CTimeValue lockTime = CTimeValue((liEnd.QuadPart - liStart.QuadPart) * CTimeValue::TIMEVALUE_PRECISION / liFreq.QuadPart); - if (m_cvarLocalizationDebug >= 2) - { - CryLog(" ReleaseLocalizationDataByTag %s lock time %fMS", sTag, lockTime.GetMilliSeconds()); - }*/ } if (m_cvarLocalizationDebug >= 2) @@ -2418,16 +2408,6 @@ void CLocalizedStringsManager::FormatStringMessage(AZStd::string& outString, con } ////////////////////////////////////////////////////////////////////////// -int CLocalizedStringsManager::GetMemoryUsage(ICrySizer* pSizer) -{ - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_languages); - pSizer->AddObject(m_prototypeEvents); - pSizer->AddObject(m_characterNameSet); - pSizer->AddObject(m_pLanguage); - - return 0; -} #if defined (WIN32) || defined(WIN64) namespace diff --git a/Code/Legacy/CrySystem/LocalizedStringManager.h b/Code/Legacy/CrySystem/LocalizedStringManager.h index 1fba05f9ac..b1cb5b2067 100644 --- a/Code/Legacy/CrySystem/LocalizedStringManager.h +++ b/Code/Legacy/CrySystem/LocalizedStringManager.h @@ -89,8 +89,6 @@ public: void OnSystemEvent(ESystemEvent event, UINT_PTR wparam, UINT_PTR lparam); // ~ISystemEventManager - int GetMemoryUsage(ICrySizer* pSizer); - void GetLoadedTags(TLocalizationTagVec& tagVec); void FreeLocalizationData(); @@ -113,17 +111,6 @@ private: AZStd::string sOriginalCharacterName; // english character name speaking via XML asset unsigned int nRow; // Number of row in XML file - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - - pSizer->AddObject(sKey); - pSizer->AddObject(sOriginalActorLine); - pSizer->AddObject(sUtf8TranslatedActorLine); - pSizer->AddObject(sOriginalText); - pSizer->AddObject(sOriginalCharacterName); - } }; struct SLanguage; @@ -194,28 +181,6 @@ private: }; AZStd::string GetTranslatedText(const SLanguage* pLanguage) const; - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - - pSizer->AddObject(sCharacterName); - - if ((flags & IS_COMPRESSED) == 0 && TranslatedText.psUtf8Uncompressed != NULL) //Number of bytes stored for compressed text is unknown, which throws this GetMemoryUsage off - { - pSizer->AddObject(*TranslatedText.psUtf8Uncompressed); - } - - pSizer->AddObject(sPrototypeSoundEvent); - - pSizer->AddObject(SoundMoods); - pSizer->AddObject(EventParameters); - - if (pEditorExtension != NULL) - { - pEditorExtension->GetMemoryUsage(pSizer); - } - } }; //Keys as CRC32. Strings previously, but these proved too large @@ -230,15 +195,6 @@ private: StringsKeyMap m_keysMap; TLocalizedStringEntries m_vLocalizedStrings; THuffmanCoders m_vEncoders; - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(sLanguage); - pSizer->AddObject(m_vLocalizedStrings); - pSizer->AddObject(m_keysMap); - pSizer->AddObject(m_vEncoders); - } }; struct SFileInfo diff --git a/Code/Legacy/CrySystem/Log.cpp b/Code/Legacy/CrySystem/Log.cpp index 68b9621f74..c08d5870e9 100644 --- a/Code/Legacy/CrySystem/Log.cpp +++ b/Code/Legacy/CrySystem/Log.cpp @@ -593,11 +593,11 @@ void CLog::LogPlus(const char* szFormat, ...) if (bfile) { - LogToFilePlus(szTemp); + LogToFilePlus("%s", szTemp); } if (bconsole) { - LogToConsolePlus(szTemp); + LogToConsolePlus("%s", szTemp); } } diff --git a/Code/Legacy/CrySystem/Log.h b/Code/Legacy/CrySystem/Log.h index f3bee44283..fb683e66ef 100644 --- a/Code/Legacy/CrySystem/Log.h +++ b/Code/Legacy/CrySystem/Log.h @@ -11,6 +11,13 @@ #include #include +#include +#include +#include + +struct IConsole; +struct ICVar; +struct ISystem; ////////////////////////////////////////////////////////////////////// #if defined(ANDROID) || defined(AZ_PLATFORM_MAC) @@ -105,7 +112,6 @@ private: // ------------------------------------------------------------------- ELogType logType; bool bAdd; Destination destination; - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const {} }; void CheckAndPruneBackupLogs() const; @@ -193,17 +199,6 @@ private: // ------------------------------------------------------------------- #endif public: // ------------------------------------------------------------------- - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_pLogVerbosity); - pSizer->AddObject(m_pLogWriteToFile); - pSizer->AddObject(m_pLogWriteToFileVerbosity); - pSizer->AddObject(m_pLogVerbosityOverridesWriteToFile); - pSizer->AddObject(m_pLogSpamDelay); - pSizer->AddObject(m_threadSafeMsgQueue); - } // checks the verbosity of the message and returns NULL if the message must NOT be // logged, or the pointer to the part of the message that should be logged const char* CheckAgainstVerbosity(const char* pText, bool& logtofile, bool& logtoconsole, const uint8 DefaultVerbosity = 2); diff --git a/Code/Legacy/CrySystem/System.cpp b/Code/Legacy/CrySystem/System.cpp index 0f0a62f8c6..71775dbb6c 100644 --- a/Code/Legacy/CrySystem/System.cpp +++ b/Code/Legacy/CrySystem/System.cpp @@ -125,7 +125,6 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) #include "Log.h" #include "XML/xml.h" -#include "XML/ReadWriteXMLSink.h" #include "LocalizedStringManager.h" #include "XML/XmlUtils.h" @@ -340,9 +339,6 @@ CSystem::~CSystem() ////////////////////////////////////////////////////////////////////////// void CSystem::Release() { - //Disconnect the render bus - AZ::RenderNotificationsBus::Handler::BusDisconnect(); - delete this; } diff --git a/Code/Legacy/CrySystem/System.h b/Code/Legacy/CrySystem/System.h index 738ffd4bfb..9023171ea3 100644 --- a/Code/Legacy/CrySystem/System.h +++ b/Code/Legacy/CrySystem/System.h @@ -18,19 +18,22 @@ #include "CmdLine.h" #include -#include "RenderBus.h" - #include #include #include +#include +#include + namespace AzFramework { class MissingAssetLogger; } struct IConsoleCmdArgs; +struct ICVar; +struct IFFont; class CWatchdogThread; #if defined(AZ_RESTRICTED_PLATFORM) @@ -48,48 +51,11 @@ class CWatchdogThread; #if defined(WIN32) || defined(LINUX) || defined(APPLE) #define AZ_LEGACY_CRYSYSTEM_TRAIT_ALLOW_CREATE_BACKUP_LOG_FILE 1 #endif -#if defined(WIN32) || (defined(LINUX) && !defined(ANDROID)) || defined(MAC) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_DEFINE_DETECT_PROCESSOR 1 -#endif ////////////////////////////////////////////////////////////////////////// #if defined(WIN32) || defined(APPLE) || defined(LINUX) #define AZ_LEGACY_CRYSYSTEM_TRAIT_DO_PREASSERT 1 #endif -#if defined(MAC) || (defined(LINUX) && !defined(ANDROID)) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_ASM_VOLATILE_CPUID 1 -#endif -#if (defined(WIN32) && !defined(WIN64)) || (defined(LINUX) && !defined(ANDROID) && !defined(LINUX64)) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_HAS64BITEXT 1 -#endif -#if defined(WIN32) || (defined(LINUX) && !defined(ANDROID)) || defined(MAC) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_HTSUPPORTED 1 -#endif -#if defined(WIN32) || (defined(LINUX) && !defined(ANDROID)) || defined(MAC) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_HASCPUID 1 -#endif -#if defined(WIN32) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_HASAFFINITYMASK 1 -#endif - -#if defined(LINUX) || defined(APPLE) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_CRYPAK_POSIX 1 -#endif - -#if defined(WIN64) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_USE_BIT64 1 -#endif - -#if defined(WIN32) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_USE_PACKED_PEHEADER 1 -#endif -#if defined(WIN32) || defined(LINUX) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_USE_RENDERMEMORY_INFO 1 -#endif - -#if defined(WIN32) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_USE_HANDLER_SYNC_AFFINITY 1 -#endif #if defined(LINUX) || defined(APPLE) #define AZ_LEGACY_CRYSYSTEM_TRAIT_FORWARD_EXCEPTION_POINTERS 1 @@ -105,18 +71,6 @@ class CWatchdogThread; #define AZ_LEGACY_CRYSYSTEM_TRAIT_DEBUGCALLSTACK_APPEND_MODULENAME 1 #endif -#if !(defined(ANDROID) || defined(IOS) || defined(LINUX)) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_IMAGEHANDLER_TIFFIO 1 -#endif - -#if 1 -#define AZ_LEGACY_CRYSYSTEM_TRAIT_JOBMANAGER_SIXWORKERTHREADS 0 -#endif - -#if defined(WIN32) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_MEMADDRESSRANGE_WINDOWS_STYLE 1 -#endif - #if 1 #define AZ_LEGACY_CRYSYSTEM_TRAIT_USE_EXCLUDEUPDATE_ON_CONSOLE 0 #endif @@ -127,31 +81,8 @@ class CWatchdogThread; #define AZ_LEGACY_CRYSYSTEM_TRAIT_CAPTURESTACK 1 #endif -#if !defined(LINUX) && !defined(APPLE) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_SYSTEMCFG_MODULENAME 1 -#endif - -#if defined(WIN32) || defined(WIN64) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_THREADINFO_WINDOWS_STYLE 1 -#endif - -#if defined(WIN32) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_THREADTASK_EXCEPTIONS 1 -#endif ////////////////////////////////////////////////////////////////////////// -#if defined(APPLE) || defined(LINUX) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_FACTORY_REGISTRY_USE_PRINTF_FOR_FATAL 1 -#endif - -#if defined(LINUX) || defined(APPLE) -#define AZ_LEGACY_CRYSYSTEM_TRAIT_USE_FTELL_NOT_FTELLI64 1 -#endif - -#endif - -#if defined(USE_UNIXCONSOLE) || defined(USE_ANDROIDCONSOLE) || defined(USE_WINDOWSCONSOLE) || defined(USE_IOSCONSOLE) || defined(USE_NULLCONSOLE) -#define USE_DEDICATED_SERVER_CONSOLE #endif #if defined(LINUX) @@ -269,7 +200,6 @@ class CSystem , public ILoadConfigurationEntrySink , public ISystemEventListener , public IWindowMessageHandler - , public AZ::RenderNotificationsBus::Handler , public CrySystemRequestBus::Handler { public: diff --git a/Code/Legacy/CrySystem/SystemCFG.cpp b/Code/Legacy/CrySystem/SystemCFG.cpp index 0f67fdc2e1..802e577386 100644 --- a/Code/Legacy/CrySystem/SystemCFG.cpp +++ b/Code/Legacy/CrySystem/SystemCFG.cpp @@ -22,8 +22,6 @@ #include #include -#include "SystemCFG.h" - #if defined(AZ_RESTRICTED_PLATFORM) #undef AZ_RESTRICTED_SECTION #define SYSTEMCFG_CPP_SECTION_1 1 @@ -190,7 +188,7 @@ void CSystem::LogVersion() #else strftime(s, 128, "Log Started at %c", today); #endif - CryLogAlways(s); + CryLogAlways("%s", s); CryLogAlways("Built on " __DATE__ " " __TIME__); @@ -256,117 +254,16 @@ void CSystem::LogBuildInfo() CryLogAlways("BuildTime: " __DATE__ " " __TIME__); } - - -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -class CCVarSaveDump - : public ICVarDumpSink -{ -public: - - CCVarSaveDump(FILE* pFile) - { - m_pFile = pFile; - } - - virtual void OnElementFound(ICVar* pCVar) - { - if (!pCVar) - { - return; - } - int nFlags = pCVar->GetFlags(); - if (((nFlags & VF_DUMPTODISK) && (nFlags & VF_MODIFIED)) || (nFlags & VF_WASINCONFIG)) - { - AZStd::string szValue = pCVar->GetString(); - int pos; - - pos = 1; - for (;; ) - { - pos = static_cast(szValue.find_first_of("\\", pos)); - - if (pos == AZStd::string::npos) - { - break; - } - - szValue.replace(pos, 1, "\\\\", 2); - pos += 2; - } - - // replace " with \" - pos = 1; - for (;; ) - { - pos = static_cast(szValue.find_first_of("\"", pos)); - - if (pos == AZStd::string::npos) - { - break; - } - - szValue.replace(pos, 1, "\\\"", 2); - pos += 2; - } - - AZStd::string szLine = pCVar->GetName(); - - if (pCVar->GetType() == CVAR_STRING) - { - szLine += " = \"" + szValue + "\"\r\n"; - } - else - { - szLine += " = " + szValue + "\r\n"; - } - - if (pCVar->GetFlags() & VF_WARNING_NOTUSED) - { - fputs("-- REMARK: the following was not assigned to a console variable\r\n", m_pFile); - } - - fputs(szLine.c_str(), m_pFile); - } - } - -private: // -------------------------------------------------------- - - FILE* m_pFile; // -}; - ////////////////////////////////////////////////////////////////////////// void CSystem::SaveConfiguration() { } ////////////////////////////////////////////////////////////////////////// -// system cfg -////////////////////////////////////////////////////////////////////////// -CSystemConfiguration::CSystemConfiguration(const AZStd::string& strSysConfigFilePath, CSystem* pSystem, ILoadConfigurationEntrySink* pSink, bool warnIfMissing) - : m_strSysConfigFilePath(strSysConfigFilePath) - , m_bError(false) - , m_pSink(pSink) - , m_warnIfMissing(warnIfMissing) +static bool ParseSystemConfig(const AZStd::string& strSysConfigFilePath, ILoadConfigurationEntrySink* pSink, bool warnIfMissing) { assert(pSink); - - m_pSystem = pSystem; - m_bError = !ParseSystemConfig(); -} - -////////////////////////////////////////////////////////////////////////// -CSystemConfiguration::~CSystemConfiguration() -{ -} - -////////////////////////////////////////////////////////////////////////// -bool CSystemConfiguration::ParseSystemConfig() -{ - AZStd::string filename = m_strSysConfigFilePath; + AZStd::string filename = strSysConfigFilePath; if (strlen(PathUtil::GetExt(filename.c_str())) == 0) { filename = PathUtil::ReplaceExtension(filename, "cfg"); @@ -384,7 +281,7 @@ bool CSystemConfiguration::ParseSystemConfig() // if the file is missing and its already prefixed with an alias, there is no need to look any further. if (!(file.Open(filename.c_str(), "rb", flags))) { - if (m_warnIfMissing) + if (warnIfMissing) { CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "Config file %s not found!", filename.c_str()); } @@ -403,7 +300,7 @@ bool CSystemConfiguration::ParseSystemConfig() !(file.Open((AZStd::string("@assets@/config/spec/") + filename).c_str(), "rb", flags)) ) { - if (m_warnIfMissing) + if (warnIfMissing) { CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "Config file %s not found!", filename.c_str()); } @@ -518,7 +415,7 @@ bool CSystemConfiguration::ParseSystemConfig() AZ::StringFunc::Replace(strValue, "\\\\", "\\"); AZ::StringFunc::Replace(strValue, "\\\"", "\""); - m_pSink->OnLoadConfigurationEntry(strKey.c_str(), strValue.c_str(), strGroup.c_str()); + pSink->OnLoadConfigurationEntry(strKey.c_str(), strValue.c_str(), strGroup.c_str()); } } } @@ -532,7 +429,7 @@ bool CSystemConfiguration::ParseSystemConfig() CryLog("Loading Config file %s (%s)", filename.c_str(), filenameLog.c_str()); - m_pSink->OnLoadConfigurationEntry_End(); + pSink->OnLoadConfigurationEntry_End(); return true; } @@ -574,7 +471,7 @@ void CSystem::LoadConfiguration(const char* sFilename, ILoadConfigurationEntrySi pSink = this; } - CSystemConfiguration tempConfig(sFilename, this, pSink, warnIfMissing); + ParseSystemConfig(sFilename, pSink, warnIfMissing); } } diff --git a/Code/Legacy/CrySystem/SystemCFG.h b/Code/Legacy/CrySystem/SystemCFG.h deleted file mode 100644 index 7ec6f1231b..0000000000 --- a/Code/Legacy/CrySystem/SystemCFG.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#ifndef CRYINCLUDE_CRYSYSTEM_SYSTEMCFG_H -#define CRYINCLUDE_CRYSYSTEM_SYSTEMCFG_H - -#pragma once - -#include -#include - -typedef AZStd::string SysConfigKey; -typedef AZStd::string SysConfigValue; - -////////////////////////////////////////////////////////////////////////// -class CSystemConfiguration -{ -public: - CSystemConfiguration(const AZStd::string& strSysConfigFilePath, CSystem* pSystem, ILoadConfigurationEntrySink* pSink, bool warnIfMissing = true); - ~CSystemConfiguration(); - - bool IsError() const { return m_bError; } - -private: // ---------------------------------------- - - // Returns: - // success - bool ParseSystemConfig(); - - CSystem* m_pSystem; - AZStd::string m_strSysConfigFilePath; - bool m_bError; - ILoadConfigurationEntrySink* m_pSink; // never 0 - bool m_warnIfMissing; -}; - - -#endif // CRYINCLUDE_CRYSYSTEM_SYSTEMCFG_H diff --git a/Code/Legacy/CrySystem/SystemInit.cpp b/Code/Legacy/CrySystem/SystemInit.cpp index d5efff2748..5205b19e19 100644 --- a/Code/Legacy/CrySystem/SystemInit.cpp +++ b/Code/Legacy/CrySystem/SystemInit.cpp @@ -516,95 +516,6 @@ void CSystem::ShutdownModuleLibraries() #endif // !defined(AZ_MONOLITHIC_BUILD) } -///////////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////////// - -#if defined(WIN32) || defined(WIN64) -AZStd::wstring GetErrorStringUnsupportedGPU(const char* gpuName, unsigned int gpuVendorId, unsigned int gpuDeviceId) -{ - const size_t fullLangID = (size_t) GetKeyboardLayout(0); - const size_t primLangID = fullLangID & 0x3FF; - - const wchar_t* pFmt = L"Unsupported video card detected! Continuing to run might lead to unexpected results or crashes. " - L"Please check the manual for further information on hardware requirements.\n\n\"%S\" [vendor id = 0x%.4x, device id = 0x%.4x]"; - - switch (primLangID) - { - case 0x04: // Chinese - { - static const wchar_t fmt[] = {0x5075, 0x6E2C, 0x5230, 0x4E0D, 0x652F, 0x63F4, 0x7684, 0x986F, 0x793A, 0x5361, 0xFF01, 0x7E7C, 0x7E8C, 0x57F7, 0x884C, 0x53EF, 0x80FD, 0x5C0E, 0x81F4, 0x7121, 0x6CD5, 0x9810, 0x671F, 0x7684, 0x7D50, 0x679C, 0x6216, 0x7576, 0x6A5F, 0x3002, 0x8ACB, 0x6AA2, 0x67E5, 0x8AAA, 0x660E, 0x66F8, 0x4E0A, 0x7684, 0x786C, 0x9AD4, 0x9700, 0x6C42, 0x4EE5, 0x53D6, 0x5F97, 0x66F4, 0x591A, 0x76F8, 0x95DC, 0x8CC7, 0x8A0A, 0x3002, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x5EE0, 0x5546, 0x7DE8, 0x865F, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x88DD, 0x7F6E, 0x7DE8, 0x865F, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x05: // Czech - { - static const wchar_t fmt[] = {0x0042, 0x0079, 0x006C, 0x0061, 0x0020, 0x0064, 0x0065, 0x0074, 0x0065, 0x006B, 0x006F, 0x0076, 0x00E1, 0x006E, 0x0061, 0x0020, 0x0067, 0x0072, 0x0061, 0x0066, 0x0069, 0x0063, 0x006B, 0x00E1, 0x0020, 0x006B, 0x0061, 0x0072, 0x0074, 0x0061, 0x002C, 0x0020, 0x006B, 0x0074, 0x0065, 0x0072, 0x00E1, 0x0020, 0x006E, 0x0065, 0x006E, 0x00ED, 0x0020, 0x0070, 0x006F, 0x0064, 0x0070, 0x006F, 0x0072, 0x006F, 0x0076, 0x00E1, 0x006E, 0x0061, 0x002E, 0x0020, 0x0050, 0x006F, 0x006B, 0x0072, 0x0061, 0x010D, 0x006F, 0x0076, 0x00E1, 0x006E, 0x00ED, 0x0020, 0x006D, 0x016F, 0x017E, 0x0065, 0x0020, 0x0076, 0x00E9, 0x0073, 0x0074, 0x0020, 0x006B, 0x0065, 0x0020, 0x006B, 0x0072, 0x0069, 0x0074, 0x0069, 0x0063, 0x006B, 0x00FD, 0x006D, 0x0020, 0x0063, 0x0068, 0x0079, 0x0062, 0x00E1, 0x006D, 0x0020, 0x006E, 0x0065, 0x0062, 0x006F, 0x0020, 0x006E, 0x0065, 0x0073, 0x0074, 0x0061, 0x0062, 0x0069, 0x006C, 0x0069, 0x0074, 0x011B, 0x0020, 0x0073, 0x0079, 0x0073, 0x0074, 0x00E9, 0x006D, 0x0075, 0x002E, 0x0020, 0x0050, 0x0159, 0x0065, 0x010D, 0x0074, 0x011B, 0x0074, 0x0065, 0x0020, 0x0073, 0x0069, 0x0020, 0x0070, 0x0072, 0x006F, 0x0073, 0x00ED, 0x006D, 0x0020, 0x0075, 0x017E, 0x0069, 0x0076, 0x0061, 0x0074, 0x0065, 0x006C, 0x0073, 0x006B, 0x006F, 0x0075, 0x0020, 0x0070, 0x0159, 0x00ED, 0x0072, 0x0075, 0x010D, 0x006B, 0x0075, 0x0020, 0x0070, 0x0072, 0x006F, 0x0020, 0x0070, 0x006F, 0x0064, 0x0072, 0x006F, 0x0062, 0x006E, 0x00E9, 0x0020, 0x0069, 0x006E, 0x0066, 0x006F, 0x0072, 0x006D, 0x0061, 0x0063, 0x0065, 0x0020, 0x006F, 0x0020, 0x0073, 0x0079, 0x0073, 0x0074, 0x00E9, 0x006D, 0x006F, 0x0076, 0x00FD, 0x0063, 0x0068, 0x0020, 0x0070, 0x006F, 0x017E, 0x0061, 0x0064, 0x0061, 0x0076, 0x0063, 0x00ED, 0x0063, 0x0068, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x07: // German - { - static const wchar_t fmt[] = {0x004E, 0x0069, 0x0063, 0x0068, 0x0074, 0x002D, 0x0075, 0x006E, 0x0074, 0x0065, 0x0072, 0x0073, 0x0074, 0x00FC, 0x0074, 0x007A, 0x0074, 0x0065, 0x0020, 0x0056, 0x0069, 0x0064, 0x0065, 0x006F, 0x006B, 0x0061, 0x0072, 0x0074, 0x0065, 0x0020, 0x0067, 0x0065, 0x0066, 0x0075, 0x006E, 0x0064, 0x0065, 0x006E, 0x0021, 0x0020, 0x0046, 0x006F, 0x0072, 0x0074, 0x0066, 0x0061, 0x0068, 0x0072, 0x0065, 0x006E, 0x0020, 0x006B, 0x0061, 0x006E, 0x006E, 0x0020, 0x007A, 0x0075, 0x0020, 0x0075, 0x006E, 0x0065, 0x0072, 0x0077, 0x0061, 0x0072, 0x0074, 0x0065, 0x0074, 0x0065, 0x006E, 0x0020, 0x0045, 0x0072, 0x0067, 0x0065, 0x0062, 0x006E, 0x0069, 0x0073, 0x0073, 0x0065, 0x006E, 0x0020, 0x006F, 0x0064, 0x0065, 0x0072, 0x0020, 0x0041, 0x0062, 0x0073, 0x0074, 0x00FC, 0x0072, 0x007A, 0x0065, 0x006E, 0x0020, 0x0066, 0x00FC, 0x0068, 0x0072, 0x0065, 0x006E, 0x002E, 0x0020, 0x0042, 0x0069, 0x0074, 0x0074, 0x0065, 0x0020, 0x006C, 0x0069, 0x0065, 0x0073, 0x0020, 0x0064, 0x0061, 0x0073, 0x0020, 0x004D, 0x0061, 0x006E, 0x0075, 0x0061, 0x006C, 0x0020, 0x0066, 0x00FC, 0x0072, 0x0020, 0x0077, 0x0065, 0x0069, 0x0074, 0x0065, 0x0072, 0x0065, 0x0020, 0x0049, 0x006E, 0x0066, 0x006F, 0x0072, 0x006D, 0x0061, 0x0074, 0x0069, 0x006F, 0x006E, 0x0065, 0x006E, 0x0020, 0x007A, 0x0075, 0x0020, 0x0048, 0x0061, 0x0072, 0x0064, 0x0077, 0x0061, 0x0072, 0x0065, 0x002D, 0x0041, 0x006E, 0x0066, 0x006F, 0x0072, 0x0064, 0x0065, 0x0072, 0x0075, 0x006E, 0x0067, 0x0065, 0x006E, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x0a: // Spanish - { - static const wchar_t fmt[] = {0x0053, 0x0065, 0x0020, 0x0068, 0x0061, 0x0020, 0x0064, 0x0065, 0x0074, 0x0065, 0x0063, 0x0074, 0x0061, 0x0064, 0x006F, 0x0020, 0x0075, 0x006E, 0x0061, 0x0020, 0x0074, 0x0061, 0x0072, 0x006A, 0x0065, 0x0074, 0x0061, 0x0020, 0x0067, 0x0072, 0x00E1, 0x0066, 0x0069, 0x0063, 0x0061, 0x0020, 0x006E, 0x006F, 0x0020, 0x0063, 0x006F, 0x006D, 0x0070, 0x0061, 0x0074, 0x0069, 0x0062, 0x006C, 0x0065, 0x002E, 0x0020, 0x0053, 0x0069, 0x0020, 0x0073, 0x0069, 0x0067, 0x0075, 0x0065, 0x0073, 0x0020, 0x0065, 0x006A, 0x0065, 0x0063, 0x0075, 0x0074, 0x0061, 0x006E, 0x0064, 0x006F, 0x0020, 0x0065, 0x006C, 0x0020, 0x006A, 0x0075, 0x0065, 0x0067, 0x006F, 0x002C, 0x0020, 0x0065, 0x0073, 0x0020, 0x0070, 0x006F, 0x0073, 0x0069, 0x0062, 0x006C, 0x0065, 0x0020, 0x0071, 0x0075, 0x0065, 0x0020, 0x0073, 0x0065, 0x0020, 0x0070, 0x0072, 0x006F, 0x0064, 0x0075, 0x007A, 0x0063, 0x0061, 0x006E, 0x0020, 0x0065, 0x0066, 0x0065, 0x0063, 0x0074, 0x006F, 0x0073, 0x0020, 0x0069, 0x006E, 0x0065, 0x0073, 0x0070, 0x0065, 0x0072, 0x0061, 0x0064, 0x006F, 0x0073, 0x0020, 0x006F, 0x0020, 0x0071, 0x0075, 0x0065, 0x0020, 0x0065, 0x006C, 0x0020, 0x0070, 0x0072, 0x006F, 0x0067, 0x0072, 0x0061, 0x006D, 0x0061, 0x0020, 0x0064, 0x0065, 0x006A, 0x0065, 0x0020, 0x0064, 0x0065, 0x0020, 0x0066, 0x0075, 0x006E, 0x0063, 0x0069, 0x006F, 0x006E, 0x0061, 0x0072, 0x002E, 0x0020, 0x0050, 0x006F, 0x0072, 0x0020, 0x0066, 0x0061, 0x0076, 0x006F, 0x0072, 0x002C, 0x0020, 0x0063, 0x006F, 0x006D, 0x0070, 0x0072, 0x0075, 0x0065, 0x0062, 0x0061, 0x0020, 0x0065, 0x006C, 0x0020, 0x006D, 0x0061, 0x006E, 0x0075, 0x0061, 0x006C, 0x0020, 0x0070, 0x0061, 0x0072, 0x0061, 0x0020, 0x006F, 0x0062, 0x0074, 0x0065, 0x006E, 0x0065, 0x0072, 0x0020, 0x006D, 0x00E1, 0x0073, 0x0020, 0x0069, 0x006E, 0x0066, 0x006F, 0x0072, 0x006D, 0x0061, 0x0063, 0x0069, 0x00F3, 0x006E, 0x0020, 0x0061, 0x0063, 0x0065, 0x0072, 0x0063, 0x0061, 0x0020, 0x0064, 0x0065, 0x0020, 0x006C, 0x006F, 0x0073, 0x0020, 0x0072, 0x0065, 0x0071, 0x0075, 0x0069, 0x0073, 0x0069, 0x0074, 0x006F, 0x0073, 0x0020, 0x0064, 0x0065, 0x006C, 0x0020, 0x0073, 0x0069, 0x0073, 0x0074, 0x0065, 0x006D, 0x0061, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x0c: // French - { - static const wchar_t fmt[] = {0x0041, 0x0074, 0x0074, 0x0065, 0x006E, 0x0074, 0x0069, 0x006F, 0x006E, 0x002C, 0x0020, 0x006C, 0x0061, 0x0020, 0x0063, 0x0061, 0x0072, 0x0074, 0x0065, 0x0020, 0x0076, 0x0069, 0x0064, 0x00E9, 0x006F, 0x0020, 0x0064, 0x00E9, 0x0074, 0x0065, 0x0063, 0x0074, 0x00E9, 0x0065, 0x0020, 0x006E, 0x2019, 0x0065, 0x0073, 0x0074, 0x0020, 0x0070, 0x0061, 0x0073, 0x0020, 0x0073, 0x0075, 0x0070, 0x0070, 0x006F, 0x0072, 0x0074, 0x00E9, 0x0065, 0x0020, 0x0021, 0x0020, 0x0050, 0x006F, 0x0075, 0x0072, 0x0073, 0x0075, 0x0069, 0x0076, 0x0072, 0x0065, 0x0020, 0x006C, 0x2019, 0x0061, 0x0070, 0x0070, 0x006C, 0x0069, 0x0063, 0x0061, 0x0074, 0x0069, 0x006F, 0x006E, 0x0020, 0x0070, 0x006F, 0x0075, 0x0072, 0x0072, 0x0061, 0x0069, 0x0074, 0x0020, 0x0065, 0x006E, 0x0067, 0x0065, 0x006E, 0x0064, 0x0072, 0x0065, 0x0072, 0x0020, 0x0064, 0x0065, 0x0073, 0x0020, 0x0069, 0x006E, 0x0073, 0x0074, 0x0061, 0x0062, 0x0069, 0x006C, 0x0069, 0x0074, 0x00E9, 0x0073, 0x0020, 0x006F, 0x0075, 0x0020, 0x0064, 0x0065, 0x0073, 0x0020, 0x0063, 0x0072, 0x0061, 0x0073, 0x0068, 0x0073, 0x002E, 0x0020, 0x0056, 0x0065, 0x0075, 0x0069, 0x006C, 0x006C, 0x0065, 0x007A, 0x0020, 0x0076, 0x006F, 0x0075, 0x0073, 0x0020, 0x0072, 0x0065, 0x0070, 0x006F, 0x0072, 0x0074, 0x0065, 0x0072, 0x0020, 0x0061, 0x0075, 0x0020, 0x006D, 0x0061, 0x006E, 0x0075, 0x0065, 0x006C, 0x0020, 0x0070, 0x006F, 0x0075, 0x0072, 0x0020, 0x0070, 0x006C, 0x0075, 0x0073, 0x0020, 0x0064, 0x2019, 0x0069, 0x006E, 0x0066, 0x006F, 0x0072, 0x006D, 0x0061, 0x0074, 0x0069, 0x006F, 0x006E, 0x0073, 0x0020, 0x0073, 0x0075, 0x0072, 0x0020, 0x006C, 0x0065, 0x0073, 0x0020, 0x0070, 0x0072, 0x00E9, 0x002D, 0x0072, 0x0065, 0x0071, 0x0075, 0x0069, 0x0073, 0x0020, 0x006D, 0x0061, 0x0074, 0x00E9, 0x0072, 0x0069, 0x0065, 0x006C, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x10: // Italian - { - static const wchar_t fmt[] = {0x00C8, 0x0020, 0x0073, 0x0074, 0x0061, 0x0074, 0x0061, 0x0020, 0x0072, 0x0069, 0x006C, 0x0065, 0x0076, 0x0061, 0x0074, 0x0061, 0x0020, 0x0075, 0x006E, 0x0061, 0x0020, 0x0073, 0x0063, 0x0068, 0x0065, 0x0064, 0x0061, 0x0020, 0x0067, 0x0072, 0x0061, 0x0066, 0x0069, 0x0063, 0x0061, 0x0020, 0x006E, 0x006F, 0x006E, 0x0020, 0x0073, 0x0075, 0x0070, 0x0070, 0x006F, 0x0072, 0x0074, 0x0061, 0x0074, 0x0061, 0x0021, 0x0020, 0x0053, 0x0065, 0x0020, 0x0073, 0x0069, 0x0020, 0x0063, 0x006F, 0x006E, 0x0074, 0x0069, 0x006E, 0x0075, 0x0061, 0x002C, 0x0020, 0x0073, 0x0069, 0x0020, 0x0070, 0x006F, 0x0074, 0x0072, 0x0065, 0x0062, 0x0062, 0x0065, 0x0072, 0x006F, 0x0020, 0x0076, 0x0065, 0x0072, 0x0069, 0x0066, 0x0069, 0x0063, 0x0061, 0x0072, 0x0065, 0x0020, 0x0072, 0x0069, 0x0073, 0x0075, 0x006C, 0x0074, 0x0061, 0x0074, 0x0069, 0x0020, 0x0069, 0x006E, 0x0061, 0x0074, 0x0074, 0x0065, 0x0073, 0x0069, 0x0020, 0x006F, 0x0020, 0x0063, 0x0072, 0x0061, 0x0073, 0x0068, 0x002E, 0x0020, 0x0043, 0x006F, 0x006E, 0x0073, 0x0075, 0x006C, 0x0074, 0x0061, 0x0020, 0x0069, 0x006C, 0x0020, 0x006D, 0x0061, 0x006E, 0x0075, 0x0061, 0x006C, 0x0065, 0x0020, 0x0070, 0x0065, 0x0072, 0x0020, 0x0075, 0x006C, 0x0074, 0x0065, 0x0072, 0x0069, 0x006F, 0x0072, 0x0069, 0x0020, 0x0069, 0x006E, 0x0066, 0x006F, 0x0072, 0x006D, 0x0061, 0x007A, 0x0069, 0x006F, 0x006E, 0x0069, 0x0020, 0x0073, 0x0075, 0x0069, 0x0020, 0x0072, 0x0065, 0x0071, 0x0075, 0x0069, 0x0073, 0x0069, 0x0074, 0x0069, 0x0020, 0x0064, 0x0069, 0x0020, 0x0073, 0x0069, 0x0073, 0x0074, 0x0065, 0x006D, 0x0061, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x11: // Japanese - { - static const wchar_t fmt[] = {0x30B5, 0x30DD, 0x30FC, 0x30C8, 0x3055, 0x308C, 0x3066, 0x3044, 0x306A, 0x3044, 0x30D3, 0x30C7, 0x30AA, 0x30AB, 0x30FC, 0x30C9, 0x304C, 0x691C, 0x51FA, 0x3055, 0x308C, 0x307E, 0x3057, 0x305F, 0xFF01, 0x0020, 0x3053, 0x306E, 0x307E, 0x307E, 0x7D9A, 0x3051, 0x308B, 0x3068, 0x4E88, 0x671F, 0x3057, 0x306A, 0x3044, 0x7D50, 0x679C, 0x3084, 0x30AF, 0x30E9, 0x30C3, 0x30B7, 0x30E5, 0x306E, 0x6050, 0x308C, 0x304C, 0x3042, 0x308A, 0x307E, 0x3059, 0x3002, 0x0020, 0x30DE, 0x30CB, 0x30E5, 0x30A2, 0x30EB, 0x306E, 0x5FC5, 0x8981, 0x52D5, 0x4F5C, 0x74B0, 0x5883, 0x3092, 0x3054, 0x78BA, 0x8A8D, 0x304F, 0x3060, 0x3055, 0x3044, 0x3002, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x30D9, 0x30F3, 0x30C0, 0x30FC, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x30C7, 0x30D0, 0x30A4, 0x30B9, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x15: // Polish - { - static const wchar_t fmt[] = {0x0057, 0x0079, 0x006B, 0x0072, 0x0079, 0x0074, 0x006F, 0x0020, 0x006E, 0x0069, 0x0065, 0x006F, 0x0062, 0x0073, 0x0142, 0x0075, 0x0067, 0x0069, 0x0077, 0x0061, 0x006E, 0x0105, 0x0020, 0x006B, 0x0061, 0x0072, 0x0074, 0x0119, 0x0020, 0x0067, 0x0072, 0x0061, 0x0066, 0x0069, 0x0063, 0x007A, 0x006E, 0x0105, 0x0021, 0x0020, 0x0044, 0x0061, 0x006C, 0x0073, 0x007A, 0x0065, 0x0020, 0x006B, 0x006F, 0x0072, 0x007A, 0x0079, 0x0073, 0x0074, 0x0061, 0x006E, 0x0069, 0x0065, 0x0020, 0x007A, 0x0020, 0x0070, 0x0072, 0x006F, 0x0064, 0x0075, 0x006B, 0x0074, 0x0075, 0x0020, 0x006D, 0x006F, 0x017C, 0x0065, 0x0020, 0x0073, 0x0070, 0x006F, 0x0077, 0x006F, 0x0064, 0x006F, 0x0077, 0x0061, 0x0107, 0x0020, 0x006E, 0x0069, 0x0065, 0x0070, 0x006F, 0x017C, 0x0105, 0x0064, 0x0061, 0x006E, 0x0065, 0x0020, 0x007A, 0x0061, 0x0063, 0x0068, 0x006F, 0x0077, 0x0061, 0x006E, 0x0069, 0x0065, 0x0020, 0x006C, 0x0075, 0x0062, 0x0020, 0x0077, 0x0073, 0x0074, 0x0072, 0x007A, 0x0079, 0x006D, 0x0061, 0x006E, 0x0069, 0x0065, 0x0020, 0x0070, 0x0072, 0x006F, 0x0067, 0x0072, 0x0061, 0x006D, 0x0075, 0x002E, 0x0020, 0x0041, 0x0062, 0x0079, 0x0020, 0x0075, 0x007A, 0x0079, 0x0073, 0x006B, 0x0061, 0x0107, 0x0020, 0x0077, 0x0069, 0x0119, 0x0063, 0x0065, 0x006A, 0x0020, 0x0069, 0x006E, 0x0066, 0x006F, 0x0072, 0x006D, 0x0061, 0x0063, 0x006A, 0x0069, 0x002C, 0x0020, 0x0073, 0x006B, 0x006F, 0x006E, 0x0073, 0x0075, 0x006C, 0x0074, 0x0075, 0x006A, 0x0020, 0x0073, 0x0069, 0x0119, 0x0020, 0x007A, 0x0020, 0x0069, 0x006E, 0x0073, 0x0074, 0x0072, 0x0075, 0x006B, 0x0063, 0x006A, 0x0105, 0x0020, 0x006F, 0x0062, 0x0073, 0x0142, 0x0075, 0x0067, 0x0069, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x19: // Russian - { - static const wchar_t fmt[] = {0x0412, 0x0430, 0x0448, 0x0430, 0x0020, 0x0432, 0x0438, 0x0434, 0x0435, 0x043E, 0x0020, 0x043A, 0x0430, 0x0440, 0x0442, 0x0430, 0x0020, 0x043D, 0x0435, 0x0020, 0x043F, 0x043E, 0x0434, 0x0434, 0x0435, 0x0440, 0x0436, 0x0438, 0x0432, 0x0430, 0x0435, 0x0442, 0x0441, 0x044F, 0x0021, 0x0020, 0x042D, 0x0442, 0x043E, 0x0020, 0x043C, 0x043E, 0x0436, 0x0435, 0x0442, 0x0020, 0x043F, 0x0440, 0x0438, 0x0432, 0x0435, 0x0441, 0x0442, 0x0438, 0x0020, 0x043A, 0x0020, 0x043D, 0x0435, 0x043F, 0x0440, 0x0435, 0x0434, 0x0441, 0x043A, 0x0430, 0x0437, 0x0443, 0x0435, 0x043C, 0x043E, 0x043C, 0x0443, 0x0020, 0x043F, 0x043E, 0x0432, 0x0435, 0x0434, 0x0435, 0x043D, 0x0438, 0x044E, 0x0020, 0x0438, 0x0020, 0x0437, 0x0430, 0x0432, 0x0438, 0x0441, 0x0430, 0x043D, 0x0438, 0x044E, 0x0020, 0x0438, 0x0433, 0x0440, 0x044B, 0x002E, 0x0020, 0x0414, 0x043B, 0x044F, 0x0020, 0x043F, 0x043E, 0x043B, 0x0443, 0x0447, 0x0435, 0x043D, 0x0438, 0x044F, 0x0020, 0x0438, 0x043D, 0x0444, 0x043E, 0x0440, 0x043C, 0x0430, 0x0446, 0x0438, 0x0438, 0x0020, 0x043E, 0x0020, 0x0441, 0x0438, 0x0441, 0x0442, 0x0435, 0x043C, 0x043D, 0x044B, 0x0445, 0x0020, 0x0442, 0x0440, 0x0435, 0x0431, 0x043E, 0x0432, 0x0430, 0x043D, 0x0438, 0x044F, 0x0445, 0x0020, 0x043E, 0x0431, 0x0440, 0x0430, 0x0442, 0x0438, 0x0442, 0x0435, 0x0441, 0x044C, 0x0020, 0x043A, 0x0020, 0x0440, 0x0443, 0x043A, 0x043E, 0x0432, 0x043E, 0x0434, 0x0441, 0x0442, 0x0432, 0x0443, 0x0020, 0x043F, 0x043E, 0x043B, 0x044C, 0x0437, 0x043E, 0x0432, 0x0430, 0x0442, 0x0435, 0x043B, 0x044F, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - case 0x1f: // Turkish - { - static const wchar_t fmt[] = {0x0044, 0x0065, 0x0073, 0x0074, 0x0065, 0x006B, 0x006C, 0x0065, 0x006E, 0x006D, 0x0065, 0x0079, 0x0065, 0x006E, 0x0020, 0x0062, 0x0069, 0x0072, 0x0020, 0x0065, 0x006B, 0x0072, 0x0061, 0x006E, 0x0020, 0x006B, 0x0061, 0x0072, 0x0074, 0x0131, 0x0020, 0x0061, 0x006C, 0x0067, 0x0131, 0x006C, 0x0061, 0x006E, 0x0064, 0x0131, 0x0021, 0x0020, 0x0044, 0x0065, 0x0076, 0x0061, 0x006D, 0x0020, 0x0065, 0x0074, 0x006D, 0x0065, 0x006B, 0x0020, 0x0062, 0x0065, 0x006B, 0x006C, 0x0065, 0x006E, 0x006D, 0x0065, 0x0064, 0x0069, 0x006B, 0x0020, 0x0073, 0x006F, 0x006E, 0x0075, 0x00E7, 0x006C, 0x0061, 0x0072, 0x0061, 0x0020, 0x0076, 0x0065, 0x0020, 0x00E7, 0x00F6, 0x006B, 0x006D, 0x0065, 0x006C, 0x0065, 0x0072, 0x0065, 0x0020, 0x0079, 0x006F, 0x006C, 0x0020, 0x0061, 0x00E7, 0x0061, 0x0062, 0x0069, 0x006C, 0x0069, 0x0072, 0x002E, 0x0020, 0x0044, 0x006F, 0x006E, 0x0061, 0x006E, 0x0131, 0x006D, 0x0020, 0x0067, 0x0065, 0x0072, 0x0065, 0x006B, 0x006C, 0x0069, 0x006C, 0x0069, 0x006B, 0x006C, 0x0065, 0x0072, 0x0069, 0x0020, 0x0069, 0x00E7, 0x0069, 0x006E, 0x0020, 0x006C, 0x00FC, 0x0074, 0x0066, 0x0065, 0x006E, 0x0020, 0x0072, 0x0065, 0x0068, 0x0062, 0x0065, 0x0072, 0x0069, 0x006E, 0x0069, 0x007A, 0x0065, 0x0020, 0x0062, 0x0061, 0x015F, 0x0076, 0x0075, 0x0072, 0x0075, 0x006E, 0x002E, 0x000A, 0x000A, 0x0022, 0x0025, 0x0053, 0x0022, 0x0020, 0x005B, 0x0076, 0x0065, 0x006E, 0x0064, 0x006F, 0x0072, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x002C, 0x0020, 0x0064, 0x0065, 0x0076, 0x0069, 0x0063, 0x0065, 0x0020, 0x0069, 0x0064, 0x0020, 0x003D, 0x0020, 0x0030, 0x0078, 0x0025, 0x002E, 0x0034, 0x0078, 0x005D, 0}; - pFmt = fmt; - break; - } - - case 0x09: // English - default: - break; - } - - wchar_t msg[1024]; - msg[0] = L'\0'; - msg[sizeof(msg) / sizeof(msg[0]) - 1] = L'\0'; - azsnwprintf(msg, sizeof(msg) / sizeof(msg[0]) - 1, pFmt, gpuName, gpuVendorId, gpuDeviceId); - - return msg; -} -#endif - ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// bool CSystem::InitConsole() @@ -1433,10 +1344,6 @@ AZ_POP_DISABLE_WARNING #endif } -#if defined(PERFORMANCE_BUILD) - LoadConfiguration("performance.cfg"); -#endif - ////////////////////////////////////////////////////////////////////////// if (g_cvars.sys_asserts == 0) { @@ -1602,9 +1509,6 @@ AZ_POP_DISABLE_WARNING LoadConfiguration("client.cfg", &CVarsClientConfigSink); } - //Connect to the render bus - AZ::RenderNotificationsBus::Handler::BusConnect(); - // Send out EBus event EBUS_EVENT(CrySystemEventBus, OnCrySystemInitialized, *this, startupParams); diff --git a/Code/Legacy/CrySystem/ViewSystem/View.cpp b/Code/Legacy/CrySystem/ViewSystem/View.cpp index 36cd891e3e..ca5ef3892b 100644 --- a/Code/Legacy/CrySystem/ViewSystem/View.cpp +++ b/Code/Legacy/CrySystem/ViewSystem/View.cpp @@ -534,20 +534,6 @@ void CView::SetFrameAdditiveCameraAngles(const Ang3& addFrameAngles) m_frameAdditiveAngles = addFrameAngles; } -void CView::GetMemoryUsage(ICrySizer* s) const -{ - s->AddObject(this, sizeof(*this)); - s->AddObject(m_shakes); -} - -//void CView::Serialize(TSerialize ser) -//{ -// if (ser.IsReading()) -// { -// ResetShaking(); -// } -//} - void CView::PostSerialize() { } diff --git a/Code/Legacy/CrySystem/ViewSystem/View.h b/Code/Legacy/CrySystem/ViewSystem/View.h index 689c254897..237a2d0fa6 100644 --- a/Code/Legacy/CrySystem/ViewSystem/View.h +++ b/Code/Legacy/CrySystem/ViewSystem/View.h @@ -81,8 +81,6 @@ public: ID = shakeID; } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const { /*nothing*/} }; @@ -111,8 +109,6 @@ public: CCamera& GetCamera() override { return m_camera; } const CCamera& GetCamera() const override { return m_camera; } - void GetMemoryUsage(ICrySizer* s) const; - protected: void ProcessShakeNormal(SShake* pShake, float frameTime); diff --git a/Code/Legacy/CrySystem/ViewSystem/ViewSystem.cpp b/Code/Legacy/CrySystem/ViewSystem/ViewSystem.cpp index 1d141a5e13..e83676827f 100644 --- a/Code/Legacy/CrySystem/ViewSystem/ViewSystem.cpp +++ b/Code/Legacy/CrySystem/ViewSystem/ViewSystem.cpp @@ -610,24 +610,6 @@ void CViewSystem::DebugDraw() } ////////////////////////////////////////////////////////////////////////// -void CViewSystem::GetMemoryUsage(ICrySizer* s) const -{ - SIZER_SUBCOMPONENT_NAME(s, "ViewSystem"); - s->Add(*this); - s->AddContainer(m_views); -} - -//void CViewSystem::Serialize(TSerialize ser) -//{ -// TViewMap::iterator iter = m_views.begin(); -// TViewMap::iterator iterEnd = m_views.end(); -// while (iter != iterEnd) -// { -// iter->second->Serialize(ser); -// ++iter; -// } -//} - void CViewSystem::PostSerialize() { TViewMap::iterator iter = m_views.begin(); diff --git a/Code/Legacy/CrySystem/ViewSystem/ViewSystem.h b/Code/Legacy/CrySystem/ViewSystem/ViewSystem.h index dd49e09e04..e0e4a67e9e 100644 --- a/Code/Legacy/CrySystem/ViewSystem/ViewSystem.h +++ b/Code/Legacy/CrySystem/ViewSystem/ViewSystem.h @@ -105,8 +105,6 @@ public: return stl::find_and_erase(m_listeners, pListener); } - void GetMemoryUsage(ICrySizer* s) const; - void ClearAllViews(); private: diff --git a/Code/Legacy/CrySystem/XConsole.cpp b/Code/Legacy/CrySystem/XConsole.cpp index bb8316981a..9f60a9dd8d 100644 --- a/Code/Legacy/CrySystem/XConsole.cpp +++ b/Code/Legacy/CrySystem/XConsole.cpp @@ -32,6 +32,19 @@ #include //#define DEFENCE_CVAR_HASH_LOGGING +// s should point to a buffer at least 65 chars long +inline void BitsAlpha64(uint64 n, char* s) +{ + for (int i = 0; n != 0; n >>= 1, i++) + { + if (n & 1) + { + *s++ = i < 32 ? static_cast(i + 'z' - 31) : static_cast(i + 'Z' - 63); + } + } + *s++ = '\0'; +} + static inline void AssertName([[maybe_unused]] const char* szName) { #ifdef _DEBUG @@ -297,7 +310,7 @@ void CXConsole::Init(ISystem* pSystem) AzFramework::InputChannelEventListener::Connect(); AzFramework::InputTextEventListener::Connect(); -#if defined(_RELEASE) && !defined(PERFORMANCE_BUILD) +#if defined(_RELEASE) static const int kDeactivateConsoleDefault = 1; #else static const int kDeactivateConsoleDefault = 0; @@ -376,12 +389,12 @@ void CXConsole::LogChangeMessage(const char* name, const bool isConst, const boo if (allowChange) { - gEnv->pLog->LogWarning(logMessage.c_str()); + gEnv->pLog->LogWarning("%s", logMessage.c_str()); gEnv->pLog->LogWarning("Modifying marked variables will not be allowed in Release mode!"); } else { - gEnv->pLog->LogError(logMessage.c_str()); + gEnv->pLog->LogError("%s", logMessage.c_str()); } } @@ -567,35 +580,6 @@ ICVar* CXConsole::Register(const char* sName, int* src, int iValue, int nFlags, } -////////////////////////////////////////////////////////////////////////// -ICVar* CXConsole::RegisterCVarGroup(const char* szName, const char* szFileName) -{ - AssertName(szName); - assert(szFileName); - - // suppress cvars not starting with sys_spec_ as - // cheaters might create cvars before we created ours - if (_strnicmp(szName, "sys_spec_", 9) != 0) - { - return 0; - } - - ICVar* pCVar = stl::find_in_map(m_mapVariables, szName, NULL); - if (pCVar) - { - AZ_Error("System", false, "CVar groups should only be registered once"); - return pCVar; - } - - CXConsoleVariableCVarGroup* pCVarGroup = new CXConsoleVariableCVarGroup(this, szName, szFileName, VF_COPYNAME); - - pCVar = pCVarGroup; - - RegisterVar(pCVar, CXConsoleVariableCVarGroup::OnCVarChangeFunc); - - return pCVar; -} - ////////////////////////////////////////////////////////////////////////// ICVar* CXConsole::Register(const char* sName, float* src, float fValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc, bool allowModify) { @@ -620,7 +604,6 @@ ICVar* CXConsole::Register(const char* sName, float* src, float fValue, int nFla return pCVar; } - ////////////////////////////////////////////////////////////////////////// ICVar* CXConsole::Register(const char* sName, const char** src, const char* defaultValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc, bool allowModify) { @@ -644,7 +627,6 @@ ICVar* CXConsole::Register(const char* sName, const char** src, const char* defa return pCVar; } - ////////////////////////////////////////////////////////////////////////// ICVar* CXConsole::RegisterString(const char* sName, const char* sValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc) { @@ -705,30 +687,6 @@ ICVar* CXConsole::RegisterInt(const char* sName, int iValue, int nFlags, const c return pCVar; } - - -////////////////////////////////////////////////////////////////////////// -ICVar* CXConsole::RegisterInt64(const char* sName, int64 iValue, int nFlags, const char* help, ConsoleVarFunc pChangeFunc) -{ - AssertName(sName); - - ICVar* pCVar = stl::find_in_map(m_mapVariables, sName, NULL); - if (pCVar) - { - gEnv->pLog->Log("[CVARS]: [DUPLICATE] CXConsole::RegisterInt64(): variable [%s] is already registered", pCVar->GetName()); -#if LOG_CVAR_INFRACTIONS_CALLSTACK - gEnv->pSystem->debug_LogCallStack(); -#endif // LOG_CVAR_INFRACTIONS_CALLSTACK - return pCVar; - } - - pCVar = new CXConsoleVariableInt64(this, sName, iValue, nFlags, help); - RegisterVar(pCVar, pChangeFunc); - return pCVar; -} - - - ////////////////////////////////////////////////////////////////////////// void CXConsole::UnregisterVariable(const char* sVarName, [[maybe_unused]] bool bDelete) { @@ -2891,20 +2849,6 @@ int CXConsole::GetNumVisibleVars() return numVars; } -void CXConsole::AddCVarsToHash(ConsoleVariablesVector::const_iterator begin, ConsoleVariablesVector::const_iterator end, CCrc32& runningNameCrc32, CCrc32& runningNameValueCrc32) -{ - for (ConsoleVariablesVector::const_iterator it = begin; it <= end; ++it) - { - // add name & variable to string. We add both since adding only the value could cause - // many collisions with variables all having value 0 or all 1. - AZStd::string hashStr = it->first; - - runningNameCrc32.Add(hashStr.c_str(), hashStr.length()); - hashStr += it->second->GetDataProbeString(); - runningNameValueCrc32.Add(hashStr.c_str(), hashStr.length()); - } -} - ////////////////////////////////////////////////////////////////////////// size_t CXConsole::GetSortedVars(AZStd::vector& pszArray, const char* szPrefix) { @@ -3089,18 +3033,6 @@ inline size_t sizeOf (const char* sz) return sz ? strlen(sz) + 1 : 0; } -////////////////////////////////////////////////////////////////////////// -void CXConsole::GetMemoryUsage (class ICrySizer* pSizer) const -{ - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_sInputBuffer); - pSizer->AddObject(m_sPrevTab); - pSizer->AddObject(m_dqConsoleBuffer); - pSizer->AddObject(m_dqHistory); - pSizer->AddObject(m_mapCommands); - pSizer->AddObject(m_mapBinds); -} - ////////////////////////////////////////////////////////////////////////// void CXConsole::ConsoleLogInputResponse(const char* format, ...) { diff --git a/Code/Legacy/CrySystem/XConsole.h b/Code/Legacy/CrySystem/XConsole.h index 3ff9824e6f..200ddd85b3 100644 --- a/Code/Legacy/CrySystem/XConsole.h +++ b/Code/Legacy/CrySystem/XConsole.h @@ -13,8 +13,8 @@ #pragma once #include -#include #include "Timer.h" +#include #include #include @@ -22,10 +22,12 @@ #include #include +#include +#include //forward declaration struct INetwork; class CSystem; - +struct IFFont; #define MAX_HISTORY_ENTRIES 50 #define LINE_BORDER 10 @@ -53,12 +55,6 @@ struct CConsoleCommand : m_func(0) , m_nFlags(0) {} size_t sizeofThis () const {return sizeof(*this) + m_sName.capacity() + 1 + m_sCommand.capacity() + 1; } - void GetMemoryUsage (class ICrySizer* pSizer) const - { - pSizer->AddObject(m_sName); - pSizer->AddObject(m_sCommand); - pSizer->AddObject(m_sHelp); - } }; ////////////////////////////////////////////////////////////////////////// @@ -136,71 +132,68 @@ public: void Paste(); // interface IConsole --------------------------------------------------------- - virtual void Release(); + void Release() override; - virtual void Init(ISystem* pSystem); - virtual ICVar* RegisterString(const char* sName, const char* sValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0); - virtual ICVar* RegisterInt(const char* sName, int iValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0); - virtual ICVar* RegisterInt64(const char* sName, int64 iValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0); - virtual ICVar* RegisterFloat(const char* sName, float fValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0); - virtual ICVar* Register(const char* name, float* src, float defaultvalue, int flags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true); - virtual ICVar* Register(const char* name, int* src, int defaultvalue, int flags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true); - virtual ICVar* Register(const char* name, const char** src, const char* defaultvalue, int flags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true); - virtual ICVar* Register(ICVar* pVar) { RegisterVar(pVar); return pVar; } + void Init(ISystem* pSystem) override; + ICVar* RegisterString(const char* sName, const char* sValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0) override; + ICVar* RegisterInt(const char* sName, int iValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0) override; + ICVar* RegisterFloat(const char* sName, float fValue, int nFlags, const char* help = "", ConsoleVarFunc pChangeFunc = 0) override; + ICVar* Register(const char* name, float* src, float defaultvalue, int flags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true) override; + ICVar* Register(const char* name, int* src, int defaultvalue, int flags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true) override; + ICVar* Register(const char* name, const char** src, const char* defaultvalue, int flags = 0, const char* help = "", ConsoleVarFunc pChangeFunc = 0, bool allowModify = true) override; - virtual void UnregisterVariable(const char* sVarName, bool bDelete = false); - virtual void SetScrollMax(int value); - virtual void AddOutputPrintSink(IOutputPrintSink* inpSink); - virtual void RemoveOutputPrintSink(IOutputPrintSink* inpSink); - virtual void ShowConsole(bool show, int iRequestScrollMax = -1); - virtual void DumpCVars(ICVarDumpSink* pCallback, unsigned int nFlagsFilter = 0); - virtual void DumpKeyBinds(IKeyBindDumpSink* pCallback); - virtual void CreateKeyBind(const char* sCmd, const char* sRes); - virtual const char* FindKeyBind(const char* sCmd) const; - virtual void SetImage(ITexture* pImage, bool bDeleteCurrent); - virtual inline ITexture* GetImage() { return m_pImage; } - virtual void StaticBackground(bool bStatic) { m_bStaticBackground = bStatic; } - virtual bool GetLineNo(int indwLineNo, char* outszBuffer, int indwBufferSize) const; - virtual int GetLineCount() const; - virtual ICVar* GetCVar(const char* name); - virtual char* GetVariable(const char* szVarName, const char* szFileName, const char* def_val); - virtual float GetVariable(const char* szVarName, const char* szFileName, float def_val); - virtual void PrintLine(const char* s); - virtual void PrintLinePlus(const char* s); - virtual bool GetStatus(); - virtual void Clear(); - virtual void Update(); - virtual void Draw(); - virtual bool AddCommand(const char* sCommand, ConsoleCommandFunc func, int nFlags = 0, const char* sHelp = NULL); - virtual bool AddCommand(const char* sName, const char* sScriptFunc, int nFlags = 0, const char* sHelp = NULL); - virtual void RemoveCommand(const char* sName); - virtual void ExecuteString(const char* command, bool bSilentMode, bool bDeferExecution = false); - virtual void ExecuteConsoleCommand(const char* command) override; - virtual void ResetCVarsToDefaults() override; - virtual void Exit(const char* command, ...) PRINTF_PARAMS(2, 3); - virtual bool IsOpened(); - virtual int GetNumVars(); - virtual int GetNumVisibleVars(); - virtual size_t GetSortedVars(AZStd::vector& pszArray, const char* szPrefix = 0); - virtual void FindVar(const char* substr); - virtual const char* AutoComplete(const char* substr); - virtual const char* AutoCompletePrev(const char* substr); - virtual const char* ProcessCompletion(const char* szInputBuffer); - virtual void RegisterAutoComplete(const char* sVarOrCommand, IConsoleArgumentAutoComplete* pArgAutoComplete); - virtual void UnRegisterAutoComplete(const char* sVarOrCommand); - virtual void ResetAutoCompletion(); - virtual void GetMemoryUsage (ICrySizer* pSizer) const; - virtual void ResetProgressBar(int nProgressRange); - virtual void TickProgressBar(); - virtual void SetLoadingImage(const char* szFilename); - virtual void AddConsoleVarSink(IConsoleVarSink* pSink); - virtual void RemoveConsoleVarSink(IConsoleVarSink* pSink); - virtual const char* GetHistoryElement(bool bUpOrDown); - virtual void AddCommandToHistory(const char* szCommand); - virtual void SetInputLine(const char* szLine); - virtual void LoadConfigVar(const char* sVariable, const char* sValue); - virtual void EnableActivationKey(bool bEnable); - virtual void SetClientDataProbeString(const char* pName, const char* pValue); + void UnregisterVariable(const char* sVarName, bool bDelete = false) override; + void SetScrollMax(int value) override; + void AddOutputPrintSink(IOutputPrintSink* inpSink) override; + void RemoveOutputPrintSink(IOutputPrintSink* inpSink) override; + void ShowConsole(bool show, int iRequestScrollMax = -1) override; + void DumpCVars(ICVarDumpSink* pCallback, unsigned int nFlagsFilter = 0) override; + void DumpKeyBinds(IKeyBindDumpSink* pCallback) override; + void CreateKeyBind(const char* sCmd, const char* sRes) override; + const char* FindKeyBind(const char* sCmd) const override; + void SetImage(ITexture* pImage, bool bDeleteCurrent) override; + inline ITexture* GetImage() override { return m_pImage; } + void StaticBackground(bool bStatic) override { m_bStaticBackground = bStatic; } + bool GetLineNo(int indwLineNo, char* outszBuffer, int indwBufferSize) const override; + int GetLineCount() const override; + ICVar* GetCVar(const char* name) override; + char* GetVariable(const char* szVarName, const char* szFileName, const char* def_val) override; + float GetVariable(const char* szVarName, const char* szFileName, float def_val) override; + void PrintLine(const char* s) override; + void PrintLinePlus(const char* s) override; + bool GetStatus() override; + void Clear() override; + void Update() override; + void Draw() override; + bool AddCommand(const char* sCommand, ConsoleCommandFunc func, int nFlags = 0, const char* sHelp = NULL) override; + bool AddCommand(const char* sName, const char* sScriptFunc, int nFlags = 0, const char* sHelp = NULL) override; + void RemoveCommand(const char* sName) override; + void ExecuteString(const char* command, bool bSilentMode, bool bDeferExecution = false) override; + void ExecuteConsoleCommand(const char* command) override; + void ResetCVarsToDefaults() override; + void Exit(const char* command, ...) override PRINTF_PARAMS(2, 3); + bool IsOpened() override; + int GetNumVars() override; + int GetNumVisibleVars() override; + size_t GetSortedVars(AZStd::vector& pszArray, const char* szPrefix = 0) override; + void FindVar(const char* substr); + const char* AutoComplete(const char* substr) override; + const char* AutoCompletePrev(const char* substr) override; + const char* ProcessCompletion(const char* szInputBuffer) override; + void RegisterAutoComplete(const char* sVarOrCommand, IConsoleArgumentAutoComplete* pArgAutoComplete) override; + void UnRegisterAutoComplete(const char* sVarOrCommand) override; + void ResetAutoCompletion() override; + void ResetProgressBar(int nProgressRange) override; + void TickProgressBar() override; + void SetLoadingImage(const char* szFilename) override; + void AddConsoleVarSink(IConsoleVarSink* pSink) override; + void RemoveConsoleVarSink(IConsoleVarSink* pSink) override; + const char* GetHistoryElement(bool bUpOrDown) override; + void AddCommandToHistory(const char* szCommand) override; + void SetInputLine(const char* szLine) override; + void LoadConfigVar(const char* sVariable, const char* sValue) override; + void EnableActivationKey(bool bEnable) override; + void SetClientDataProbeString(const char* pName, const char* pValue) override; // InputChannelEventListener / InputTextEventListener bool OnInputChannelEventFiltered(const AzFramework::InputChannel& inputChannel) override; @@ -208,7 +201,7 @@ public: // interface IRemoteConsoleListener ------------------------------------------------------------------ - virtual void OnConsoleCommand(const char* cmd); + void OnConsoleCommand(const char* cmd) override; // interface IConsoleVarSink ---------------------------------------------------------------------- @@ -222,10 +215,6 @@ public: ////////////////////////////////////////////////////////////////////////// - // Returns - // 0 if the operation failed - ICVar* RegisterCVarGroup(const char* sName, const char* szFileName); - void SetProcessingGroup(bool isGroup) { m_bIsProcessingGroup = isGroup; } bool GetIsProcessingGroup(void) const { return m_bIsProcessingGroup; } @@ -290,7 +279,6 @@ private: // ---------------------------------------------------------- void AddCheckedCVar(ConsoleVariablesVector& vector, const ConsoleVariablesVector::value_type& value); void RemoveCheckedCVar(ConsoleVariablesVector& vector, const ConsoleVariablesVector::value_type& value); - static void AddCVarsToHash(ConsoleVariablesVector::const_iterator begin, ConsoleVariablesVector::const_iterator end, CCrc32& runningNameCrc32, CCrc32& runningNameValueCrc32); static bool CVarNameLess(const std::pair& lhs, const std::pair& rhs); void PostLine(const char* lineOfText, size_t len); diff --git a/Code/Legacy/CrySystem/XConsoleVariable.cpp b/Code/Legacy/CrySystem/XConsoleVariable.cpp index efd5ecd495..31fea250f6 100644 --- a/Code/Legacy/CrySystem/XConsoleVariable.cpp +++ b/Code/Legacy/CrySystem/XConsoleVariable.cpp @@ -6,10 +6,8 @@ * */ - // Description : implementation of the CXConsoleVariable class. - #include "CrySystem_precompiled.h" #include "XConsole.h" #include "XConsoleVariable.h" @@ -19,6 +17,87 @@ #include +namespace +{ + using stack_string = AZStd::fixed_string<512>; + + uint64 AlphaBit64(char c) + { + return (c >= 'a' && c <= 'z' ? 1U << (c - 'z' + 31) : 0) | + (c >= 'A' && c <= 'Z' ? 1LL << (c - 'Z' + 63) : 0); + } + + int64 TextToInt64(const char* s, int64 nCurrent, bool bBitfield) + { + int64 nValue = 0; + if (s) + { + char* e; + if (bBitfield) + { + // Bit manipulation. + if (*s == '^') + // Bit number +#if defined(_MSC_VER) + { + nValue = 1LL << _strtoi64(++s, &e, 10); + } +#else + { + nValue = 1LL << strtoll(++s, &e, 10); + } +#endif + else + // Full number +#if defined(_MSC_VER) + { + nValue = _strtoi64(s, &e, 10); + } +#else + { + nValue = strtoll(s, &e, 10); + } +#endif + // Check letter codes. + for (; (*e >= 'a' && *e <= 'z') || (*e >= 'A' && *e <= 'Z'); e++) + { + nValue |= AlphaBit64(*e); + } + + if (*e == '+') + { + nValue = nCurrent | nValue; + } + else if (*e == '-') + { + nValue = nCurrent & ~nValue; + } + else if (*e == '^') + { + nValue = nCurrent ^ nValue; + } + } + else +#if defined(_MSC_VER) + { + nValue = _strtoi64(s, &e, 10); + } +#else + { + nValue = strtoll(s, &e, 10); + } +#endif + } + return nValue; + } + + int TextToInt(const char* s, int nCurrent, bool bBitfield) + { + return (int)TextToInt64(s, nCurrent, bBitfield); + } + +} // namespace + ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// @@ -53,7 +132,6 @@ CXConsoleVariableBase::CXConsoleVariableBase(CXConsole* pConsole, const char* sN } } - ////////////////////////////////////////////////////////////////////////// CXConsoleVariableBase::~CXConsoleVariableBase() { @@ -78,10 +156,8 @@ void CXConsoleVariableBase::ForceSet(const char* s) m_nFlags |= oldFlags; } - - ////////////////////////////////////////////////////////////////////////// -void CXConsoleVariableBase::ClearFlags (int flags) +void CXConsoleVariableBase::ClearFlags(int flags) { m_nFlags &= ~flags; } @@ -121,7 +197,7 @@ void CXConsoleVariableBase::SetOnChangeCallback(ConsoleVarFunc pChangeFunc) m_pChangeFunc = pChangeFunc; } -uint64 CXConsoleVariableBase::AddOnChangeFunctor(const SFunctor& pChangeFunctor) +uint64 CXConsoleVariableBase::AddOnChangeFunctor(const AZStd::function& pChangeFunctor) { static int uniqueIdGenerator = 0; int newId = uniqueIdGenerator++; @@ -144,7 +220,7 @@ void CXConsoleVariableBase::CallOnChangeFunctions() const size_t nTotal(m_changeFunctors.size()); for (size_t nCount = 0; nCount < nTotal; ++nCount) { - m_changeFunctors[nCount].second.Call(); + m_changeFunctors[nCount].second(); } } @@ -168,535 +244,325 @@ bool CXConsoleVariableBase::HasCustomLimits() return m_hasCustomLimits; } -void CXConsoleVariableCVarGroup::OnLoadConfigurationEntry(const char* szKey, const char* szValue, const char* szGroup) +const char* CXConsoleVariableBase::GetDataProbeString() const { - assert(szGroup); - assert(szKey); - assert(szValue); - - bool bCheckIfInDefault = false; - - SCVarGroup* pGrp = 0; - - if (azstricmp(szGroup, "default") == 0) // needs to be before the other groups + if (gEnv->IsDedicated() && m_pDataProbeString) { - pGrp = &m_CVarGroupDefault; - - // if(azstricmp(GetName(),szKey)==0) - if (*szKey == 0) - { - m_sDefaultValue = szValue; - int iGrpValue = atoi(szValue); - - // if default state is not part of the mentioned states generate this state, so GetIRealVal() can return this state as well - if (m_CVarGroupStates.find(iGrpValue) == m_CVarGroupStates.end()) - { - m_CVarGroupStates[iGrpValue] = new SCVarGroup; - } - - return; - } - } - else - { - int iGrp; - - if (azsscanf(szGroup, "%d", &iGrp) == 1) - { - if (m_CVarGroupStates.find(iGrp) == m_CVarGroupStates.end()) - { - m_CVarGroupStates[iGrp] = new SCVarGroup; - } - - pGrp = m_CVarGroupStates[iGrp]; - } - else - { - gEnv->pLog->LogError("[CVARS]: [MISSING] [%s] is not a registered console variable group", szGroup); -#if LOG_CVAR_INFRACTIONS_CALLSTACK - gEnv->pSystem->debug_LogCallStack(); -#endif // LOG_CVAR_INFRACTIONS_CALLSTACK - return; - } - - if (*szKey == 0) - { - assert(0); // =%d only expected in default section - return; - } - } - - - if (pGrp) - { - if (pGrp->m_KeyValuePair.find(szKey) != pGrp->m_KeyValuePair.end()) - { - gEnv->pLog->LogError("[CVARS]: [DUPLICATE] [%s] specified multiple times in console variable group [%s] = [%s]", szKey, GetName(), szGroup); - bCheckIfInDefault = true; - } - - pGrp->m_KeyValuePair[szKey] = szValue; - - if (bCheckIfInDefault) - { - if (m_CVarGroupDefault.m_KeyValuePair.find(szKey) == m_CVarGroupDefault.m_KeyValuePair.end()) - { - gEnv->pLog->LogError("[CVARS]: [MISSING] [%s] specified in console variable group [%s] = [%s], but missing from default group", szKey, GetName(), szGroup); - } - } + return m_pDataProbeString; } + return GetOwnDataProbeString(); } - -void CXConsoleVariableCVarGroup::OnLoadConfigurationEntry_End() +void CXConsoleVariableString::Set(const char* s) { - if (!m_sDefaultValue.empty()) - { - gEnv->pConsole->LoadConfigVar(GetName(), m_sDefaultValue.c_str()); - m_sDefaultValue.clear(); - } -} - - -CXConsoleVariableCVarGroup::CXConsoleVariableCVarGroup(CXConsole* pConsole, const char* sName, const char* szFileName, int nFlags) - : CXConsoleVariableInt(pConsole, sName, 0, nFlags, 0) -{ - gEnv->pSystem->LoadConfiguration(szFileName, this); -} - - -AZStd::string CXConsoleVariableCVarGroup::GetDetailedInfo() const -{ - AZStd::string sRet = GetName(); - - sRet += " ["; - - { - TCVarGroupStateMap::const_iterator it, end = m_CVarGroupStates.end(); - - for (it = m_CVarGroupStates.begin(); it != end; ++it) - { - if (it != m_CVarGroupStates.begin()) - { - sRet += "/"; - } - - char szNum[10]; - - azsprintf(szNum, "%d", it->first); - - sRet += szNum; - } - } - - sRet += "/default] [current]:\n"; - - - std::map::const_iterator it, end = m_CVarGroupDefault.m_KeyValuePair.end(); - - for (it = m_CVarGroupDefault.m_KeyValuePair.begin(); it != end; ++it) - { - const AZStd::string& rKey = it->first; - - sRet += " ... "; - sRet += rKey; - sRet += " = "; - - TCVarGroupStateMap::const_iterator it2, end2 = m_CVarGroupStates.end(); - - for (it2 = m_CVarGroupStates.begin(); it2 != end2; ++it2) - { - sRet += GetValueSpec(rKey, &(it2->first)); - sRet += "/"; - } - sRet += GetValueSpec(rKey); - ICVar* pCVar = gEnv->pConsole->GetCVar(rKey.c_str()); - if (pCVar) - { - sRet += " ["; - sRet += pCVar->GetString(); - sRet += "]"; - } - - sRet += "\n"; - } - - return sRet; -} - - - -const char* CXConsoleVariableCVarGroup::GetHelp() -{ - if (m_psHelp) - { - delete m_psHelp; - m_psHelp = NULL; - } - - // create help on demand - AZStd::string sRet = "Console variable group to apply settings to multiple variables\n\n"; - - sRet += GetDetailedInfo(); - - m_psHelp = new char[sRet.size() + 1]; - azstrcpy(m_psHelp, sRet.size() + 1, &sRet[0]); - - return m_psHelp; -} - - - -void CXConsoleVariableCVarGroup::DebugLog(const int iExpectedValue, const ICVar::EConsoleLogMode mode) const -{ - TCVarGroupStateMap::const_iterator it, end = m_CVarGroupStates.end(); - - SCVarGroup* pCurrentGrp = 0; - { - TCVarGroupStateMap::const_iterator itCurrentGrp = m_CVarGroupStates.find(iExpectedValue); - - if (itCurrentGrp != end) - { - pCurrentGrp = itCurrentGrp->second; - } - } - - // try the current state - if (TestCVars(pCurrentGrp, mode)) + if (!s) { return; } + + if ((m_sValue == s) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + if (m_pConsole->OnBeforeVarChange(this, s)) + { + m_nFlags |= VF_MODIFIED; + { + m_sValue = s; + } + + CallOnChangeFunctions(); + + m_pConsole->OnAfterVarChange(this); + } } - -int CXConsoleVariableCVarGroup::GetRealIVal() const +void CXConsoleVariableString::Set(float f) { - TCVarGroupStateMap::const_iterator it, end = m_CVarGroupStates.end(); + stack_string s = stack_string::format("%g", f); - int iValue = GetIVal(); - - SCVarGroup* pCurrentGrp = 0; + if ((m_sValue == s.c_str()) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) { - TCVarGroupStateMap::const_iterator itCurrentGrp = m_CVarGroupStates.find(iValue); - - if (itCurrentGrp != end) - { - pCurrentGrp = itCurrentGrp->second; - } + return; } - // first try the current state - if (TestCVars(pCurrentGrp)) - { - return iValue; - } - - // then all other - for (it = m_CVarGroupStates.begin(); it != end; ++it) - { - SCVarGroup* pLocalGrp = it->second; - - if (pLocalGrp == pCurrentGrp) - { - continue; - } - - int iLocalState = it->first; - - if (TestCVars(pLocalGrp)) - { - return iLocalState; - } - } - - return -1; // no state found that represent the current one + m_nFlags |= VF_MODIFIED; + Set(s.c_str()); } -void CXConsoleVariableCVarGroup::Set(const int i) +void CXConsoleVariableString::Set(int i) { - if (i == m_iValue) + stack_string s = stack_string::format("%d", i); + + if ((m_sValue == s.c_str()) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) { - SCVarGroup* pCurrentGrp = 0; - TCVarGroupStateMap::const_iterator itCurrentGrp = m_CVarGroupStates.find(m_iValue); - - if (itCurrentGrp != m_CVarGroupStates.end()) - { - pCurrentGrp = itCurrentGrp->second; - } - - if (TestCVars(pCurrentGrp)) - { - // All cvars in this group match the current state - no further action is necessary - return; - } + return; } - char sTemp[128]; - azsprintf(sTemp, "%d", i); + m_nFlags |= VF_MODIFIED; + Set(s.c_str()); +} - bool wasProcessingGroup = m_pConsole->GetIsProcessingGroup(); - m_pConsole->SetProcessingGroup(true); - if (m_pConsole->OnBeforeVarChange(this, sTemp)) +const char* CXConsoleVariableInt::GetString() const +{ + static char szReturnString[256]; + + sprintf_s(szReturnString, "%d", GetIVal()); + return szReturnString; +} + +void CXConsoleVariableInt::Set(const char* s) +{ + int nValue = TextToInt(s, m_iValue, (m_nFlags & VF_BITFIELD) != 0); + + Set(nValue); +} + +void CXConsoleVariableInt::Set(float f) +{ + Set((int)f); +} + +void CXConsoleVariableInt::Set(int i) +{ + if (i == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + stack_string s = stack_string::format("%d", i); + + if (m_pConsole->OnBeforeVarChange(this, s.c_str())) { m_nFlags |= VF_MODIFIED; m_iValue = i; CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); } - m_pConsole->SetProcessingGroup(wasProcessingGroup); - - // Useful for debugging cvar groups - //CryLogAlways("[CVARS]: CXConsoleVariableCVarGroup::Set() Group %s in state %d (wanted %d)", GetName(), m_iValue, i); } - -CXConsoleVariableCVarGroup::~CXConsoleVariableCVarGroup() +const char* CXConsoleVariableIntRef::GetString() const { - TCVarGroupStateMap::iterator it, end = m_CVarGroupStates.end(); + static char szReturnString[256]; - for (it = m_CVarGroupStates.begin(); it != end; ++it) - { - SCVarGroup* pGrp = it->second; - - delete pGrp; - } - - delete m_psHelp; + sprintf_s(szReturnString, "%d", m_iValue); + return szReturnString; } - -void CXConsoleVariableCVarGroup::OnCVarChangeFunc(ICVar* pVar) +void CXConsoleVariableIntRef::Set(const char* s) { - CXConsoleVariableCVarGroup* pThis = (CXConsoleVariableCVarGroup*)pVar; - - int iValue = pThis->GetIVal(); - - TCVarGroupStateMap::const_iterator itGrp = pThis->m_CVarGroupStates.find(iValue); - - SCVarGroup* pGrp = 0; - - if (itGrp != pThis->m_CVarGroupStates.end()) + int nValue = TextToInt(s, m_iValue, (m_nFlags & VF_BITFIELD) != 0); + if (nValue == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) { - pGrp = itGrp->second; + return; } - if (pGrp) + if (m_pConsole->OnBeforeVarChange(this, s)) { - pThis->ApplyCVars(*pGrp); - } + m_nFlags |= VF_MODIFIED; + m_iValue = nValue; - pThis->ApplyCVars(pThis->m_CVarGroupDefault, pGrp); + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } } - -bool CXConsoleVariableCVarGroup::TestCVars(const SCVarGroup* pGroup, const ICVar::EConsoleLogMode mode) const +void CXConsoleVariableIntRef::Set(float f) { - if (pGroup) + if ((int)f == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) { - if (!TestCVars(*pGroup, mode)) + return; + } + + char sTemp[128]; + sprintf_s(sTemp, "%g", f); + + if (m_pConsole->OnBeforeVarChange(this, sTemp)) + { + m_nFlags |= VF_MODIFIED; + m_iValue = (int)f; + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } +} + +void CXConsoleVariableIntRef::Set(int i) +{ + if (i == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + char sTemp[128]; + sprintf_s(sTemp, "%d", i); + + if (m_pConsole->OnBeforeVarChange(this, sTemp)) + { + m_nFlags |= VF_MODIFIED; + m_iValue = i; + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } +} + +const char* CXConsoleVariableFloat::GetString() const +{ + static char szReturnString[256]; + + sprintf_s(szReturnString, "%g", m_fValue); // %g -> "2.01", %f -> "2.01000" + return szReturnString; +} + +void CXConsoleVariableFloat::Set(const char* s) +{ + float fValue = 0; + if (s) + { + fValue = (float)atof(s); + } + + if (fValue == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + if (m_pConsole->OnBeforeVarChange(this, s)) + { + m_nFlags |= VF_MODIFIED; + m_fValue = fValue; + + CallOnChangeFunctions(); + + m_pConsole->OnAfterVarChange(this); + } +} + +void CXConsoleVariableFloat::Set(float f) +{ + if (f == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + stack_string s = stack_string::format("%g", f); + + if (m_pConsole->OnBeforeVarChange(this, s.c_str())) + { + m_nFlags |= VF_MODIFIED; + m_fValue = f; + + CallOnChangeFunctions(); + + m_pConsole->OnAfterVarChange(this); + } +} + +void CXConsoleVariableFloat::Set(int i) +{ + if ((float)i == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + char sTemp[128]; + sprintf_s(sTemp, "%d", i); + + if (m_pConsole->OnBeforeVarChange(this, sTemp)) + { + m_nFlags |= VF_MODIFIED; + m_fValue = (float)i; + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } +} + +const char* CXConsoleVariableFloatRef::GetString() const +{ + static char szReturnString[256]; + + sprintf_s(szReturnString, "%g", m_fValue); + return szReturnString; +} + +void CXConsoleVariableFloatRef::Set(const char *s) +{ + float fValue = 0; + if (s) + { + fValue = (float)atof(s); + } + if (fValue == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + if (m_pConsole->OnBeforeVarChange(this, s)) + { + m_nFlags |= VF_MODIFIED; + m_fValue = fValue; + + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } +} + +void CXConsoleVariableFloatRef::Set(float f) +{ + if (f == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + char sTemp[128]; + sprintf_s(sTemp, "%g", f); + + if (m_pConsole->OnBeforeVarChange(this, sTemp)) + { + m_nFlags |= VF_MODIFIED; + m_fValue = f; + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } +} + +void CXConsoleVariableFloatRef::Set(int i) +{ + if ((float)i == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + char sTemp[128]; + sprintf_s(sTemp, "%d", i); + + if (m_pConsole->OnBeforeVarChange(this, sTemp)) + { + m_nFlags |= VF_MODIFIED; + m_fValue = (float)i; + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); + } +} + +void CXConsoleVariableStringRef::Set(const char *s) +{ + if ((m_sValue == s) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) + { + return; + } + + if (m_pConsole->OnBeforeVarChange(this, s)) + { + m_nFlags |= VF_MODIFIED; { - return false; - } - } - - if (!TestCVars(m_CVarGroupDefault, mode, pGroup)) - { - return false; - } - - return true; -} - -bool CXConsoleVariableCVarGroup::TestCVars(const SCVarGroup& rGroup, const ICVar::EConsoleLogMode mode, const SCVarGroup* pExclude) const -{ - bool bRet = true; - std::map::const_iterator it, end = rGroup.m_KeyValuePair.end(); - - for (it = rGroup.m_KeyValuePair.begin(); it != end; ++it) - { - const AZStd::string& rKey = it->first; - const AZStd::string& rValue = it->second; - - if (pExclude) - { - if (pExclude->m_KeyValuePair.find(rKey) != pExclude->m_KeyValuePair.end()) - { - continue; - } + m_sValue = s; + m_userPtr = m_sValue.c_str(); } - ICVar* pVar = gEnv->pConsole->GetCVar(rKey.c_str()); - - if (pVar) - { - if (pVar->GetFlags() & VF_CVARGRP_IGNOREINREALVAL) // Ignore the cvars which change often and shouldn't be used to determine state - { - continue; - } - - bool bOk = true; - - // compare exact type, - // simple string comparison would fail on some comparisons e.g. 2.0 == 2 - // and GetString() for int and float return pointer to shared array so this - // can cause problems - switch (pVar->GetType()) - { - case CVAR_INT: - { - int iVal; - if (azsscanf(rValue.c_str(), "%d", &iVal) == 1) - { - if (pVar->GetIVal() != atoi(rValue.c_str())) - { - bOk = false; - break; - } - } - - if (pVar->GetIVal() != pVar->GetRealIVal()) - { - bOk = false; - break; - } - } - break; - case CVAR_FLOAT: - { - float fVal; - if (azsscanf(rValue.c_str(), "%f", &fVal) == 1) - { - if (pVar->GetFVal() != fVal) - { - bOk = false; - break; - } - } - } - break; - case CVAR_STRING: - if (rValue != pVar->GetString()) - { - bOk = false; - break; - } - break; - default: - assert(0); - } - - if (!bOk) - { - if (mode == ICVar::eCLM_Off) - { - return false; // exit as early as possible - } - bRet = false; // exit with same return code but log all differences - - if (strcmp(pVar->GetString(), rValue.c_str()) != 0) - { - switch (mode) - { - case ICVar::eCLM_ConsoleAndFile: - CryLog("[CVARS]: $3[FAIL] [%s] = $6[%s] $4(expected [%s] in group [%s] = [%s])", rKey.c_str(), pVar->GetString(), rValue.c_str(), GetName(), GetString()); - break; - - case ICVar::eCLM_FileOnly: - case ICVar::eCLM_FullInfo: - gEnv->pLog->LogToFile("[CVARS]: [FAIL] [%s] = [%s] (expected [%s] in group [%s] = [%s])", rKey.c_str(), pVar->GetString(), rValue.c_str(), GetName(), GetString()); - break; - - default: - assert(0); - } - } - else if (mode == ICVar::eCLM_FullInfo) - { - gEnv->pLog->LogToFile("[CVARS]: [FAIL] [%s] = [%s] (expected [%s] in group [%s] = [%s])", rKey.c_str(), pVar->GetString(), rValue.c_str(), GetName(), GetString()); - } - - pVar->DebugLog(pVar->GetIVal(), mode); // recursion - } - - if (pVar->GetFlags() & (VF_CHEAT | VF_CHEAT_ALWAYS_CHECK | VF_CHEAT_NOCHECK)) - { - // either VF_CHEAT should be removed or the var should be not part of the CVarGroup - gEnv->pLog->LogError("[CVARS]: [%s] is cheat protected; referenced in console variable group [%s] = [%s] ", rKey.c_str(), GetName(), GetString()); - } - } - else - { - // Do not warn about D3D registered cvars, which carry the prefix "q_", as they are not actually registered with the cvar system. - if (strcmp(rKey.c_str(), "q") == -1) - { - gEnv->pLog->LogError("[CVARS]: [MISSING] [%s] is not a registered console variable; referenced when testing console variable group [%s] = [%s]", rKey.c_str(), GetName(), GetString()); - } - } + CallOnChangeFunctions(); + m_pConsole->OnAfterVarChange(this); } - - return bRet; } - - - -AZStd::string CXConsoleVariableCVarGroup::GetValueSpec(const AZStd::string& sKey, const int* pSpec) const -{ - if (pSpec) - { - TCVarGroupStateMap::const_iterator itGrp = m_CVarGroupStates.find(*pSpec); - - if (itGrp != m_CVarGroupStates.end()) - { - const SCVarGroup* pGrp = itGrp->second; - - // check in spec - std::map::const_iterator it = pGrp->m_KeyValuePair.find(sKey); - - if (it != pGrp->m_KeyValuePair.end()) - { - return it->second; - } - } - } - - // check in default - std::map::const_iterator it = m_CVarGroupDefault.m_KeyValuePair.find(sKey); - - if (it != m_CVarGroupDefault.m_KeyValuePair.end()) - { - return it->second; - } - - assert(0); // internal error - return ""; -} - -void CXConsoleVariableCVarGroup::ApplyCVars(const SCVarGroup& rGroup, const SCVarGroup* pExclude) -{ - std::map::const_iterator it, end = rGroup.m_KeyValuePair.end(); - - bool wasProcessingGroup = m_pConsole->GetIsProcessingGroup(); - m_pConsole->SetProcessingGroup(true); - - for (it = rGroup.m_KeyValuePair.begin(); it != end; ++it) - { - const AZStd::string& rKey = it->first; - - if (pExclude) - { - if (pExclude->m_KeyValuePair.find(rKey) != pExclude->m_KeyValuePair.end()) - { - continue; - } - } - - // Useful for debugging cvar groups - //CryLogAlways("[CVARS]: [APPLY] ([%s]) [%s] = [%s]", GetName(), rKey.c_str(), it->second.c_str()); - - m_pConsole->LoadConfigVar(rKey.c_str(), it->second.c_str()); - } - - m_pConsole->SetProcessingGroup(wasProcessingGroup); -} - diff --git a/Code/Legacy/CrySystem/XConsoleVariable.h b/Code/Legacy/CrySystem/XConsoleVariable.h index f761287b41..cb8bdbb4ad 100644 --- a/Code/Legacy/CrySystem/XConsoleVariable.h +++ b/Code/Legacy/CrySystem/XConsoleVariable.h @@ -6,86 +6,13 @@ * */ - -#ifndef CRYINCLUDE_CRYSYSTEM_XCONSOLEVARIABLE_H -#define CRYINCLUDE_CRYSYSTEM_XCONSOLEVARIABLE_H #pragma once +#include #include -#include "BitFiddling.h" -#include "SFunctor.h" +#include class CXConsole; -typedef AZStd::fixed_string<512> stack_string; - -inline int64 TextToInt64(const char* s, int64 nCurrent, bool bBitfield) -{ - int64 nValue = 0; - if (s) - { - char* e; - if (bBitfield) - { - // Bit manipulation. - if (*s == '^') - // Bit number -#if defined(_MSC_VER) - { - nValue = 1LL << _strtoi64(++s, &e, 10); - } -#else - { - nValue = 1LL << strtoll(++s, &e, 10); - } -#endif - else - // Full number -#if defined(_MSC_VER) - { - nValue = _strtoi64(s, &e, 10); - } -#else - { - nValue = strtoll(s, &e, 10); - } -#endif - // Check letter codes. - for (; (*e >= 'a' && *e <= 'z') || (*e >= 'A' && *e <= 'Z'); e++) - { - nValue |= AlphaBit64(*e); - } - - if (*e == '+') - { - nValue = nCurrent | nValue; - } - else if (*e == '-') - { - nValue = nCurrent & ~nValue; - } - else if (*e == '^') - { - nValue = nCurrent ^ nValue; - } - } - else -#if defined(_MSC_VER) - { - nValue = _strtoi64(s, &e, 10); - } -#else - { - nValue = strtoll(s, &e, 10); - } -#endif - } - return nValue; -} - -inline int TextToInt(const char* s, int nCurrent, bool bBitfield) -{ - return (int)TextToInt64(s, nCurrent, bBitfield); -} class CXConsoleVariableBase : public ICVar @@ -107,7 +34,7 @@ public: virtual void Release(); virtual void ForceSet(const char* s); virtual void SetOnChangeCallback(ConsoleVarFunc pChangeFunc); - virtual uint64 AddOnChangeFunctor(const SFunctor& pChangeFunctor) override; + virtual uint64 AddOnChangeFunctor(const AZStd::function& pChangeFunctor) override; virtual ConsoleVarFunc GetOnChangeCallback() const; virtual bool ShouldReset() const { return (m_nFlags & VF_RESETTABLE) != 0; } @@ -133,14 +60,7 @@ public: m_pDataProbeString = new char[ strlen(pDataProbeString) + 1 ]; azstrcpy(m_pDataProbeString, strlen(pDataProbeString) + 1, pDataProbeString); } - virtual const char* GetDataProbeString() const - { - if (gEnv->IsDedicated() && m_pDataProbeString) - { - return m_pDataProbeString; - } - return GetOwnDataProbeString(); - } + virtual const char* GetDataProbeString() const; protected: // ------------------------------------------------------------------------------------------ @@ -157,7 +77,7 @@ protected: // ------------------------------------------------------------------ char* m_pDataProbeString; // value client is required to have for data probes int m_nFlags; // e.g. VF_CHEAT, ... - typedef std::vector > ChangeFunctorContainer; + typedef std::vector> > ChangeFunctorContainer; ChangeFunctorContainer m_changeFunctors; ConsoleVarFunc m_pChangeFunc; // Callback function that is called when this variable changes. CXConsole* m_pConsole; // used for the callback OnBeforeVarChange() @@ -185,67 +105,19 @@ public: // interface ICVar -------------------------------------------------------------------------------------- - virtual int GetIVal() const { return atoi(m_sValue.c_str()); } - virtual int64 GetI64Val() const { return _atoi64(m_sValue.c_str()); } - virtual float GetFVal() const { return (float)atof(m_sValue.c_str()); } - virtual const char* GetString() const { return m_sValue.c_str(); } - virtual void ResetImpl() + int GetIVal() const override { return atoi(m_sValue.c_str()); } + int64 GetI64Val() const override { return _atoi64(m_sValue.c_str()); } + float GetFVal() const override { return (float)atof(m_sValue.c_str()); } + const char* GetString() const override { return m_sValue.c_str(); } + void ResetImpl() override { Set(m_sDefault.c_str()); } - virtual void Set(const char* s) - { - if (!s) - { - return; - } + void Set(const char* s) override; + void Set(float f) override; + void Set(int i) override; + int GetType() override { return CVAR_STRING; } - if ((m_sValue == s) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - if (m_pConsole->OnBeforeVarChange(this, s)) - { - m_nFlags |= VF_MODIFIED; - { - m_sValue = s; - } - - CallOnChangeFunctions(); - - m_pConsole->OnAfterVarChange(this); - } - } - - virtual void Set(float f) - { - stack_string s = stack_string::format("%g", f); - - if ((m_sValue == s.c_str()) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - m_nFlags |= VF_MODIFIED; - Set(s.c_str()); - } - - virtual void Set(int i) - { - stack_string s = stack_string::format("%d", i); - - if ((m_sValue == s.c_str()) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - m_nFlags |= VF_MODIFIED; - Set(s.c_str()); - } - virtual int GetType() { return CVAR_STRING; } - - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } private: // -------------------------------------------------------------------------------------------- AZStd::string m_sValue; AZStd::string m_sDefault; //!< @@ -267,122 +139,21 @@ public: // interface ICVar -------------------------------------------------------------------------------------- - virtual int GetIVal() const { return m_iValue; } - virtual int64 GetI64Val() const { return m_iValue; } - virtual float GetFVal() const { return (float)GetIVal(); } - virtual const char* GetString() const - { - static char szReturnString[256]; - - sprintf_s(szReturnString, "%d", GetIVal()); - return szReturnString; - } - virtual void ResetImpl() { Set(m_iDefault); } - virtual void Set(const char* s) - { - int nValue = TextToInt(s, m_iValue, (m_nFlags & VF_BITFIELD) != 0); - - Set(nValue); - } - virtual void Set(float f) - { - Set((int)f); - } - virtual void Set(int i) - { - if (i == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - stack_string s = stack_string::format("%d", i); - - if (m_pConsole->OnBeforeVarChange(this, s.c_str())) - { - m_nFlags |= VF_MODIFIED; - m_iValue = i; - - CallOnChangeFunctions(); - - m_pConsole->OnAfterVarChange(this); - } - } - virtual int GetType() { return CVAR_INT; } - - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } + int GetIVal() const override { return m_iValue; } + int64 GetI64Val() const override { return m_iValue; } + float GetFVal() const override { return (float)GetIVal(); } + const char* GetString() const override; + void ResetImpl() override { Set(m_iDefault); } + void Set(const char* s) override; + void Set(float f) override; + void Set(int i) override; + int GetType() override { return CVAR_INT; } protected: // -------------------------------------------------------------------------------------------- int m_iValue; int m_iDefault; //!< }; - -class CXConsoleVariableInt64 - : public CXConsoleVariableBase -{ -public: - // constructor - CXConsoleVariableInt64(CXConsole* pConsole, const char* sName, const int64 iDefault, int nFlags, const char* help) - : CXConsoleVariableBase(pConsole, sName, nFlags, help) - , m_iValue(iDefault) - , m_iDefault(iDefault) - { - } - - // interface ICVar -------------------------------------------------------------------------------------- - - virtual int GetIVal() const { return (int)m_iValue; } - virtual int64 GetI64Val() const { return m_iValue; } - virtual float GetFVal() const { return (float)GetIVal(); } - virtual const char* GetString() const - { - static char szReturnString[256]; - sprintf_s(szReturnString, "%lld", GetI64Val()); - return szReturnString; - } - virtual void ResetImpl() { Set(m_iDefault); } - virtual void Set(const char* s) - { - int64 nValue = TextToInt64(s, m_iValue, (m_nFlags & VF_BITFIELD) != 0); - - Set(nValue); - } - virtual void Set(float f) - { - Set((int)f); - } - virtual void Set(int i) - { - Set((int64)i); - } - virtual void Set(int64 i) - { - if (i == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - stack_string s = stack_string::format("%lld", i); - - if (m_pConsole->OnBeforeVarChange(this, s.c_str())) - { - m_nFlags |= VF_MODIFIED; - m_iValue = i; - - CallOnChangeFunctions(); - - m_pConsole->OnAfterVarChange(this); - } - } - virtual int GetType() { return CVAR_INT; } - - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } -protected: // -------------------------------------------------------------------------------------------- - - int64 m_iValue; - int64 m_iDefault; //!< -}; - ////////////////////////////////////////////////////////////////////////// class CXConsoleVariableFloat : public CXConsoleVariableBase @@ -401,78 +172,13 @@ public: virtual int GetIVal() const { return (int)m_fValue; } virtual int64 GetI64Val() const { return (int64)m_fValue; } virtual float GetFVal() const { return m_fValue; } - virtual const char* GetString() const - { - static char szReturnString[256]; - - sprintf_s(szReturnString, "%g", m_fValue); // %g -> "2.01", %f -> "2.01000" - return szReturnString; - } + virtual const char* GetString() const; virtual void ResetImpl() { Set(m_fDefault); } - virtual void Set(const char* s) - { - float fValue = 0; - if (s) - { - fValue = (float)atof(s); - } - - if (fValue == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - if (m_pConsole->OnBeforeVarChange(this, s)) - { - m_nFlags |= VF_MODIFIED; - m_fValue = fValue; - - CallOnChangeFunctions(); - - m_pConsole->OnAfterVarChange(this); - } - } - virtual void Set(float f) - { - if (f == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - stack_string s = stack_string::format("%g", f); - - if (m_pConsole->OnBeforeVarChange(this, s.c_str())) - { - m_nFlags |= VF_MODIFIED; - m_fValue = f; - - CallOnChangeFunctions(); - - m_pConsole->OnAfterVarChange(this); - } - } - virtual void Set(int i) - { - if ((float)i == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - char sTemp[128]; - sprintf_s(sTemp, "%d", i); - - if (m_pConsole->OnBeforeVarChange(this, sTemp)) - { - m_nFlags |= VF_MODIFIED; - m_fValue = (float)i; - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } + virtual void Set(const char* s); + virtual void Set(float f); + virtual void Set(int i); virtual int GetType() { return CVAR_FLOAT; } - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } - protected: virtual const char* GetOwnDataProbeString() const @@ -509,186 +215,19 @@ public: virtual int GetIVal() const { return m_iValue; } virtual int64 GetI64Val() const { return m_iValue; } virtual float GetFVal() const { return (float)m_iValue; } - virtual const char* GetString() const - { - static char szReturnString[256]; - - sprintf_s(szReturnString, "%d", m_iValue); - return szReturnString; - } + virtual const char* GetString() const; virtual void ResetImpl() { Set(m_iDefault); } - virtual void Set(const char* s) - { - int nValue = TextToInt(s, m_iValue, (m_nFlags & VF_BITFIELD) != 0); - if (nValue == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - if (m_pConsole->OnBeforeVarChange(this, s)) - { - m_nFlags |= VF_MODIFIED; - m_iValue = nValue; - - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } - virtual void Set(float f) - { - if ((int)f == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - char sTemp[128]; - sprintf_s(sTemp, "%g", f); - - if (m_pConsole->OnBeforeVarChange(this, sTemp)) - { - m_nFlags |= VF_MODIFIED; - m_iValue = (int)f; - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } - virtual void Set(int i) - { - if (i == m_iValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - char sTemp[128]; - sprintf_s(sTemp, "%d", i); - - if (m_pConsole->OnBeforeVarChange(this, sTemp)) - { - m_nFlags |= VF_MODIFIED; - m_iValue = i; - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } + virtual void Set(const char* s); + virtual void Set(float f); + virtual void Set(int i); virtual int GetType() { return CVAR_INT; } - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } private: // -------------------------------------------------------------------------------------------- int& m_iValue; int m_iDefault; //!< }; - - - - -class CXConsoleVariableFloatRef - : public CXConsoleVariableBase -{ -public: - //! constructor - //!\param pVar must not be 0 - CXConsoleVariableFloatRef(CXConsole* pConsole, const char* sName, float* pVar, int nFlags, const char* help) - : CXConsoleVariableBase(pConsole, sName, nFlags, help) - , m_fValue(*pVar) - , m_fDefault(*pVar) - { - assert(pVar); - } - - // interface ICVar -------------------------------------------------------------------------------------- - - virtual int GetIVal() const { return (int)m_fValue; } - virtual int64 GetI64Val() const { return (int64)m_fValue; } - virtual float GetFVal() const { return m_fValue; } - virtual const char* GetString() const - { - static char szReturnString[256]; - - sprintf_s(szReturnString, "%g", m_fValue); - return szReturnString; - } - virtual void ResetImpl() { Set(m_fDefault); } - virtual void Set(const char* s) - { - float fValue = 0; - if (s) - { - fValue = (float)atof(s); - } - if (fValue == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - if (m_pConsole->OnBeforeVarChange(this, s)) - { - m_nFlags |= VF_MODIFIED; - m_fValue = fValue; - - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } - virtual void Set(float f) - { - if (f == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - char sTemp[128]; - sprintf_s(sTemp, "%g", f); - - if (m_pConsole->OnBeforeVarChange(this, sTemp)) - { - m_nFlags |= VF_MODIFIED; - m_fValue = f; - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } - virtual void Set(int i) - { - if ((float)i == m_fValue && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - char sTemp[128]; - sprintf_s(sTemp, "%d", i); - - if (m_pConsole->OnBeforeVarChange(this, sTemp)) - { - m_nFlags |= VF_MODIFIED; - m_fValue = (float)i; - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } - virtual int GetType() { return CVAR_FLOAT; } - - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } - -protected: - - virtual const char* GetOwnDataProbeString() const - { - static char szReturnString[8]; - - sprintf_s(szReturnString, "%.1g", m_fValue); - return szReturnString; - } - -private: // -------------------------------------------------------------------------------------------- - - float& m_fValue; - float m_fDefault; //!< -}; - - - class CXConsoleVariableStringRef : public CXConsoleVariableBase { @@ -715,25 +254,7 @@ public: return m_sValue.c_str(); } virtual void ResetImpl() { Set(m_sDefault.c_str()); } - virtual void Set(const char* s) - { - if ((m_sValue == s) && (m_nFlags & VF_ALWAYSONCHANGE) == 0) - { - return; - } - - if (m_pConsole->OnBeforeVarChange(this, s)) - { - m_nFlags |= VF_MODIFIED; - { - m_sValue = s; - m_userPtr = m_sValue.c_str(); - } - - CallOnChangeFunctions(); - m_pConsole->OnAfterVarChange(this); - } - } + virtual void Set(const char* s); virtual void Set(float f) { stack_string s = stack_string::format("%g", f); @@ -746,7 +267,6 @@ public: } virtual int GetType() { return CVAR_STRING; } - virtual void GetMemoryUsage(class ICrySizer* pSizer) const { pSizer->AddObject(this, sizeof(*this)); } private: // -------------------------------------------------------------------------------------------- AZStd::string m_sValue; @@ -754,84 +274,44 @@ private: // -------------------------------------------------------------------- const char*& m_userPtr; //!< }; - - -// works like CXConsoleVariableInt but when changing it sets other console variables -// getting the value returns the last value it was set to - if that is still what was applied -// to the cvars can be tested with GetRealIVal() -class CXConsoleVariableCVarGroup - : public CXConsoleVariableInt - , public ILoadConfigurationEntrySink +class CXConsoleVariableFloatRef + : public CXConsoleVariableBase { public: - // constructor - CXConsoleVariableCVarGroup(CXConsole* pConsole, const char* sName, const char* szFileName, int nFlags); - - // destructor - ~CXConsoleVariableCVarGroup(); - - // Returns: - // part of the help string - useful to log out detailed description without additional help text - AZStd::string GetDetailedInfo() const; - - // interface ICVar ----------------------------------------------------------------------------------- - - virtual const char* GetHelp(); - - virtual int GetRealIVal() const; - - virtual void DebugLog(const int iExpectedValue, const ICVar::EConsoleLogMode mode) const; - - virtual void Set(int i); - - // ConsoleVarFunc ------------------------------------------------------------------------------------ - - static void OnCVarChangeFunc(ICVar* pVar); - - // interface ILoadConfigurationEntrySink ------------------------------------------------------------- - - virtual void OnLoadConfigurationEntry(const char* szKey, const char* szValue, const char* szGroup); - virtual void OnLoadConfigurationEntry_End(); - - virtual void GetMemoryUsage(class ICrySizer* pSizer) const + //! constructor + //!\param pVar must not be 0 + CXConsoleVariableFloatRef(CXConsole* pConsole, const char* sName, float* pVar, int nFlags, const char* help) + : CXConsoleVariableBase(pConsole, sName, nFlags, help) + , m_fValue(*pVar) + , m_fDefault(*pVar) { - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_sDefaultValue); - pSizer->AddObject(m_CVarGroupStates); + assert(pVar); } + + // interface ICVar -------------------------------------------------------------------------------------- + + virtual int GetIVal() const { return (int)m_fValue; } + virtual int64 GetI64Val() const { return (int64)m_fValue; } + virtual float GetFVal() const { return m_fValue; } + virtual const char* GetString() const; + virtual void ResetImpl() { Set(m_fDefault); } + virtual void Set(const char* s); + virtual void Set(float f); + virtual void Set(int i); + virtual int GetType() { return CVAR_FLOAT; } + +protected: + + virtual const char *GetOwnDataProbeString() const + { + static char szReturnString[8]; + + sprintf_s(szReturnString, "%.1g", m_fValue); + return szReturnString; + } + private: // -------------------------------------------------------------------------------------------- - struct SCVarGroup - { - std::map m_KeyValuePair; // e.g. m_KeyValuePair["r_fullscreen"]="0" - void GetMemoryUsage(class ICrySizer* pSizer) const - { - pSizer->AddObject(m_KeyValuePair); - } - }; - - SCVarGroup m_CVarGroupDefault; - typedef std::map TCVarGroupStateMap; - TCVarGroupStateMap m_CVarGroupStates; - AZStd::string m_sDefaultValue; // used by OnLoadConfigurationEntry_End() - - void ApplyCVars(const SCVarGroup& rGroup, const SCVarGroup* pExclude = 0); - - // Arguments: - // sKey - must exist, at least in default - // pSpec - can be 0 - AZStd::string GetValueSpec(const AZStd::string& sKey, const int* pSpec = 0) const; - - // should only be used by TestCVars() - // Returns: - // true=all console variables match the state (excluding default state), false otherwise - bool TestCVars(const SCVarGroup& rGroup, const ICVar::EConsoleLogMode mode, const SCVarGroup* pExclude = 0) const; - - // Arguments: - // pGroup - can be 0 to test if the default state is set - // Returns: - // true=all console variables match the state (including default state), false otherwise - bool TestCVars(const SCVarGroup* pGroup, const ICVar::EConsoleLogMode mode = ICVar::eCLM_Off) const; + float& m_fValue; + float m_fDefault; //!< }; - -#endif // CRYINCLUDE_CRYSYSTEM_XCONSOLEVARIABLE_H diff --git a/Code/Legacy/CrySystem/XML/ReadWriteXMLSink.h b/Code/Legacy/CrySystem/XML/ReadWriteXMLSink.h deleted file mode 100644 index b4dd28e813..0000000000 --- a/Code/Legacy/CrySystem/XML/ReadWriteXMLSink.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#ifndef CRYINCLUDE_CRYSYSTEM_XML_READWRITEXMLSINK_H -#define CRYINCLUDE_CRYSYSTEM_XML_READWRITEXMLSINK_H -#pragma once - - -#include -#include - -class CReadWriteXMLSink - : public IReadWriteXMLSink -{ -public: - bool ReadXML(const char* definitionFile, const char* dataFile, IReadXMLSink* pSink); - bool ReadXML(const char* definitionFile, XmlNodeRef node, IReadXMLSink* pSink); - bool ReadXML(XmlNodeRef definition, const char* dataFile, IReadXMLSink* pSink); - bool ReadXML(XmlNodeRef definition, XmlNodeRef node, IReadXMLSink* pSink); - - XmlNodeRef CreateXMLFromSource(const char* definitionFile, IWriteXMLSource* pSource); - bool WriteXML(const char* definitionFile, const char* dataFile, IWriteXMLSource* pSource); -}; - - -// helper to define the if/else chain that we need in a few locations... -// types must match IReadXMLSink::TValueTypes -#define XML_SET_PROPERTY_HELPER(ELSE_LOAD_PROPERTY) \ - if (false) {; } \ - ELSE_LOAD_PROPERTY(Vec3); \ - ELSE_LOAD_PROPERTY(int); \ - ELSE_LOAD_PROPERTY(float); \ - ELSE_LOAD_PROPERTY(AZStd::string); \ - ELSE_LOAD_PROPERTY(bool); - - -#endif // CRYINCLUDE_CRYSYSTEM_XML_READWRITEXMLSINK_H diff --git a/Code/Legacy/CrySystem/XML/ReadXMLSink.cpp b/Code/Legacy/CrySystem/XML/ReadXMLSink.cpp deleted file mode 100644 index e75fed22ed..0000000000 --- a/Code/Legacy/CrySystem/XML/ReadXMLSink.cpp +++ /dev/null @@ -1,683 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#include "CrySystem_precompiled.h" -#include "ReadWriteXMLSink.h" - -#include -#include - -typedef std::map IdTable; -struct SParseParams -{ - IdTable idTable; - XmlNodeRef useAlways; - bool strict; - - SParseParams() - { - strict = true; - } -}; - -static XmlNodeRef Clone(XmlNodeRef source); -static void CopyAttributes(const XmlNodeRef& source, XmlNodeRef& dest); -static bool IsOptionalReadXML(const SParseParams& parseParams, XmlNodeRef& definition); -static bool CheckEnum(const SParseParams& parseParams, const char* name, XmlNodeRef& definition, XmlNodeRef& data); - -static bool LoadTableInner(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); -static bool LoadArray(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); -static bool LoadProperty(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); -static bool LoadTable(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); -static bool LoadReferencedId(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); -static bool LoadSomething(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); -static bool LoadArraySetValueTable(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink, int elem); - -typedef bool (* LoadArraySetValue)(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink, int elem); -typedef bool (* LoadDefinitionFunction)(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink); - - -template -struct ReadPropertyTyped; - -template -struct ReadPropertyTyped -{ - static bool Load(const SParseParams& parseParams, const char* name, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) - { - T value; - memset(&value, 0, sizeof(T)); - - if (!pSink->IsCreationMode()) - { - if (!data->haveAttr(name)) - { - return false; - } - if (!data->getAttr(name, value)) - { - return false; - } - if (!CheckEnum(parseParams, name, definition, data)) - { - return false; - } - } - - IReadXMLSink::TValue vvalue(value); - pSink->SetValue(name, vvalue, definition); - return true; - } - static bool LoadArray([[maybe_unused]] const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink, int elem) - { - T value; - memset(&value, 0, sizeof(T)); - - if (!pSink->IsCreationMode()) - { - if (!data->haveAttr("value")) - { - return false; - } - if (!data->getAttr("value", value)) - { - return false; - } - } - - IReadXMLSink::TValue vvalue(value); - pSink->SetAt(elem, vvalue, definition); - return true; - } -}; - -template <> -struct ReadPropertyTyped -{ - static bool Load(const SParseParams& parseParams, const char* name, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) - { - const char* value = 0; - - if (!pSink->IsCreationMode()) - { - if (!data->haveAttr(name)) - { - return false; - } - if (!CheckEnum(parseParams, name, definition, data)) - { - return false; - } - - value = data->getAttr(name); - } - - IReadXMLSink::TValue vvalue(value); - pSink->SetValue(name, vvalue, definition); - return true; - } - static bool LoadArray([[maybe_unused]] const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink, int elem) - { - const char* value = 0; - - if (!pSink->IsCreationMode()) - { - if (!data->haveAttr("value")) - { - return false; - } - - value = data->getAttr("value"); - } - - IReadXMLSink::TValue vvalue(value); - pSink->SetAt(elem, vvalue, definition); - return true; - } -}; - -XmlNodeRef Clone(XmlNodeRef source) -{ - assert(source != (IXmlNode*)NULL); - - // Can't use clone() on XmlNodeRef objects since they can contain a CXMLBinaryNode, which doesn't support - // clone(). Instead we just create a regular xml node and manually copy content, tag, attributes and children - XmlNodeRef cloned = GetISystem()->CreateXmlNode(source->getTag()); - cloned->setContent(source->getContent()); - CopyAttributes(source, cloned); - const int iChildCount = source->getChildCount(); - for (int i = 0; i < iChildCount; ++i) - { - cloned->addChild(Clone(source->getChild(i))); - } - - return cloned; -} - -void CopyAttributes(const XmlNodeRef& source, XmlNodeRef& dest) -{ - // Not as fast as CXmlNode::copyAttributes(), but that method will have undefined behavior if the XmlNodeRef contains - // a CBinaryXmlNode object - int nNumAttributes = source->getNumAttributes(); - for (int i = 0; i < nNumAttributes; ++i) - { - const char* key = NULL; - const char* value = NULL; - if (source->getAttributeByIndex(i, &key, &value)) - { - dest->setAttr(key, value); - } - } -} - -bool IsOptionalReadXML(const SParseParams& parseParams, XmlNodeRef& definition) -{ - // If strict mode is off, then everything is optional - if (parseParams.strict == false) - { - return true; - } - - bool optional = false; - definition->getAttr("optional", optional); - return optional; -} - -bool CheckEnum([[maybe_unused]] const SParseParams& parseParams, [[maybe_unused]] const char* name, XmlNodeRef& definition, [[maybe_unused]] XmlNodeRef& data) -{ - if (XmlNodeRef enumNode = definition->findChild("Enum")) - { - // If strict mode is off, then no need to check the enum value - return true; - } - return true; -} - -bool LoadProperty(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) -{ - const char* name = definition->getAttr("name"); - if (0 == strlen(name)) - { - CryLog("Property has no name"); - return false; - } - - const char* type = definition->getAttr("type"); - if (0 == strlen(type)) - { - CryLog("Property '%s' has no type", type); - return false; - } - - XmlNodeRef dataToRead = data; - if (!pSink->IsCreationMode()) - { - // This check is done so the data xml can specify child elements instead of attributes if desired, - // since the rest of the code assume only attributes - if (XmlNodeRef childRef = data->findChild(name)) - { - if (data->haveAttr(name)) - { - CryLog("Duplicate definition (attribute and element) for %s", name); - return false; - } - if (childRef->getChildCount()) - { - CryLog("Property-style elements can not have children (property was %s)", name); - return false; - } - - dataToRead = GetISystem()->CreateXmlNode(data->getTag()); - - AZStd::string content = childRef->getContent(); - AZ::StringFunc::TrimWhiteSpace(content, true, true); - dataToRead->setAttr(name, content.c_str()); - } - - if (!dataToRead->haveAttr(name)) - { - if (!IsOptionalReadXML(parseParams, definition)) - { - CryLog("Failed to load property %s", name); - return false; - } - return true; - } - } - - bool ok = false; -#define LOAD_PROPERTY(whichType) else if (0 == strcmp(type, #whichType)) ok = ReadPropertyTyped::Load(parseParams, name, definition, dataToRead, pSink) - XML_SET_PROPERTY_HELPER(LOAD_PROPERTY); -#undef LOAD_PROPERTY - - if (!ok) - { - CryLog("Failed loading attribute %s of type %s", name, type); - } - - return ok; -} - -bool LoadArraySetValueTable(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink, int elem) -{ - IReadXMLSinkPtr pChildSink = pSink->BeginTableAt(elem, definition); - - if (pSink->IsCreationMode() && definition->haveAttr("type")) - { - if (!LoadSomething(parseParams, definition, data, &*pChildSink)) - { - return false; - } - } - else - { - if (!LoadTableInner(parseParams, definition, data, &*pChildSink)) - { - return false; - } - } - - if (!pChildSink->EndTableAt(elem)) - { - CryLog("Failed to finish table at element %d", elem); - return false; - } - - return true; -} - -bool LoadArray(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) -{ - const char* name = definition->getAttr("name"); - if (0 == strlen(name)) - { - CryLog("Array has no name"); - return false; - } - - const char* elementName = definition->getAttr("elementName"); - if (0 == strlen(elementName)) - { - elementName = "element"; - } - - bool validateArray = true; - if (definition->haveAttr(elementName)) - { - definition->getAttr("validate", validateArray); - } - - - XmlNodeRef childData; - - if (!pSink->IsCreationMode()) - { - childData = data->findChild(name); - if (!childData) - { - bool ok = IsOptionalReadXML(parseParams, definition); - if (!ok) - { - CryLog("Failed to load child table %s", name); - } - return ok; - } - } - - IReadXMLSinkPtr childSink = pSink->BeginArray(name, definition); - if (!childSink) - { - CryLog("Failed to begin array named %s", name); - return false; - } - - LoadArraySetValue setter = NULL; - if (definition->haveAttr("type")) - { - setter = NULL; - const char* type = definition->getAttr("type"); -#define SETTER_PROPERTY(whichType) else if (0 == strcmp(type, #whichType)) setter = ReadPropertyTyped::LoadArray - XML_SET_PROPERTY_HELPER(SETTER_PROPERTY); -#undef SETTER_PROPERTY - if (!setter) - { - CryLog("Unknown type %s in array %s", type, name); - return false; - } - } - else - { - setter = LoadArraySetValueTable; - } - - if (!pSink->IsCreationMode()) - { - int numElems = childData->getChildCount(); - int elem = 1; - for (int i = 0; i < numElems; i++) - { - XmlNodeRef elemData = childData->getChild(i); - if (0 == strcmp(elemData->getTag(), elementName)) - { - int increment = 1; - if (elemData->haveAttr("_index")) - { - if (!elemData->getAttr("_index", elem)) - { - CryLog("_index is not an integer in array %s (pos hint=%d)", name, elem); - return false; - } - } - if (!setter(parseParams, definition, elemData, &*childSink, elem)) - { - CryLog("Failed loading element %d of array %s", elem, name); - return false; - } - elem += increment; - } - else if (validateArray) - { - CryLog("Invalid node %s in array %s", elemData->getTag(), name); - return false; - } - } - } - else - { - // only process array content for the array being created - if (0 == strcmp(name, pSink->GetCreationNode()->getAttr("name"))) - { - if (!setter(parseParams, definition, data, &*childSink, 1)) - { - CryLog("[ReadXML CreationMode]: Failed loading element %d of array %s", 1, name); - return false; - } - } - } - - if (!pSink->EndArray(name)) - { - CryLog("Failed to finish array named %s", name); - return false; - } - - return true; -} - -bool LoadTable(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) -{ - const char* name = definition->getAttr("name"); - if (0 == strlen(name)) - { - CryLog("Child-table has no name"); - return false; - } - - XmlNodeRef childData; - - if (!pSink->IsCreationMode()) - { - childData = data->findChild(name); - if (!childData) - { - bool ok = IsOptionalReadXML(parseParams, definition); - if (!ok) - { - CryLog("Failed to load child table %s", name); - } - return ok; - } - } - - IReadXMLSinkPtr childSink = pSink->BeginTable(name, definition); - if (!childSink) - { - CryLog("Sink creation failed for table %s", name); - return false; - } - - - if (!LoadTableInner(parseParams, definition, childData, childSink)) - { - CryLog("Failed to load data for child table %s", name); - return false; - } - - if (!pSink->EndTable(name)) - { - CryLog("Table %s failed to complete in sink", name); - return false; - } - - return true; -} - -bool LoadSomething(const SParseParams& parseParams, XmlNodeRef& nodeDefinition, XmlNodeRef& data, IReadXMLSink* pSink) -{ - // Ignore if it's the useAlways array - if (parseParams.useAlways == nodeDefinition) - { - return true; - } - - static struct - { - const char* name; - LoadDefinitionFunction loader; - } loaderTypes[] = { - {"Property", &LoadProperty}, - {"Array", &LoadArray}, - {"Table", &LoadTable}, - {"Use", &LoadReferencedId}, - }; - static const int numLoaderTypes = sizeof(loaderTypes) / sizeof(*loaderTypes); - - const char* nodeDefinitionTag = nodeDefinition->getTag(); - bool ok = false; - int i; - - for (i = 0; i < numLoaderTypes; i++) - { - if (0 == strcmp(loaderTypes[i].name, nodeDefinitionTag)) - { - ok = loaderTypes[i].loader(parseParams, nodeDefinition, data, pSink); - break; - } - } - - if (0 == _stricmp("Settings", nodeDefinitionTag)) - { - return true; - } - - if (!ok) - { - if (i == numLoaderTypes) - { - CryLog("Invalid definition node type %s, line %d", nodeDefinitionTag, nodeDefinition->getLine()); - } - } - return ok; -} - -bool LoadReferencedId(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) -{ - IdTable::const_iterator iter = parseParams.idTable.find(definition->getAttr("id")); - if (iter == parseParams.idTable.end()) - { - CryLog("No definition with id '%s'", definition->getAttr("id")); - return false; - } - XmlNodeRef useDefinition = Clone(iter->second); - CopyAttributes(definition, useDefinition); - - return LoadSomething(parseParams, useDefinition, data, pSink); -} - -bool LoadTableInner(const SParseParams& parseParams, XmlNodeRef& definition, XmlNodeRef& data, IReadXMLSink* pSink) -{ - const int nChildrenDefinition = definition->getChildCount(); - - for (int nChildDefinition = 0; nChildDefinition < nChildrenDefinition; nChildDefinition++) - { - XmlNodeRef nodeDefinition = definition->getChild(nChildDefinition); - - if (!LoadSomething(parseParams, nodeDefinition, data, pSink)) - { - return false; - } - } - - if (parseParams.useAlways != (IXmlNode*)NULL) - { - assert(!definition->haveAttr("type")); - - const int nUseAlwaysDefCount = parseParams.useAlways->getChildCount(); - for (int i = 0; i < nUseAlwaysDefCount; ++i) - { - XmlNodeRef nodeDefinition = parseParams.useAlways->getChild(i); - - // Don't continue loading useAlways nodes in creation mode - if (!pSink->IsCreationMode()) - { - if (!LoadSomething(parseParams, nodeDefinition, data, pSink)) - { - return false; - } - } - } - } - - return true; -} - -bool CReadWriteXMLSink::ReadXML(XmlNodeRef rootDefinition, XmlNodeRef rootData, IReadXMLSink* pSink) -{ - if (!pSink->IsCreationMode()) - { - if (0 == rootData) - { - return false; - } - - if (0 != strcmp(rootDefinition->getTag(), "Definition")) - { - CryLog("Root tag of definition file was %s; expected Definition", rootDefinition->getTag()); - return false; - } - if (rootDefinition->haveAttr("root")) - { - if (0 != strcmp(rootDefinition->getAttr("root"), rootData->getTag())) - { - CryLog("Root data has wrong tag; was %s expected %s", rootData->getTag(), rootDefinition->getAttr("root")); - return false; - } - } - } - - SParseParams parseParams; - parseParams.useAlways = rootDefinition->findChild("AllowAlways"); - - if (XmlNodeRef settingsParams = rootDefinition->findChild("Settings")) - { - settingsParams->getAttr("strict", parseParams.strict); - } - - // scan for id's in the structure (for the Use member) - std::stack scanStack; - scanStack.push(rootDefinition); - while (!scanStack.empty()) - { - XmlNodeRef refNode = scanStack.top(); - scanStack.pop(); - - int numChildren = refNode->getChildCount(); - const char* tag = refNode->getTag(); - - for (int i = 0; i < numChildren; i++) - { - const XmlNodeRef& childNodeRef = refNode->getChild(i); - if (parseParams.useAlways != childNodeRef) - { - scanStack.push(childNodeRef); - } - } - - // If the element has an attribute id="" and is not a "" element add it to the idTable map - if (refNode->haveAttr("id") && 0 != strcmp("Use", tag)) - { - parseParams.idTable[refNode->getAttr("id")] = refNode; - } - } - - if (pSink->IsCreationMode() && rootDefinition->haveAttr("type")) - { - // if creating from a 0-child definition node, load itself - if (!LoadSomething(parseParams, rootDefinition, rootData, pSink)) - { - return false; - } - } - else - { - // load content - if (!LoadTableInner(parseParams, rootDefinition, rootData, pSink)) - { - return false; - } - } - - bool ok = pSink->Complete(); - if (!ok) - { - CryLog("Warning: sink failed to complete reading"); - } - - return ok; -} - -bool CReadWriteXMLSink::ReadXML(XmlNodeRef definition, const char* dataFile, IReadXMLSink* pSink) -{ - XmlNodeRef rootData = GetISystem()->LoadXmlFromFile(dataFile); - if (!rootData) - { - CryLog("Unable to load XML-Lua data file: %s", dataFile); - return false; - } - return ReadXML(definition, rootData, pSink); -} - -bool CReadWriteXMLSink::ReadXML(const char* definitionFile, XmlNodeRef rootData, IReadXMLSink* pSink) -{ - XmlNodeRef rootDefinition = GetISystem()->LoadXmlFromFile(definitionFile); - if (!rootDefinition) - { - CryLog("Unable to load XML-Lua definition file: %s", definitionFile); - return false; - } - return ReadXML(rootDefinition, rootData, pSink); -} - -bool CReadWriteXMLSink::ReadXML(const char* definitionFile, const char* dataFile, IReadXMLSink* pSink) -{ - XmlNodeRef rootData = GetISystem()->LoadXmlFromFile(dataFile); - if (!rootData) - { - CryLog("Unable to load XML-Lua data file: %s", dataFile); - return false; - } - if (!ReadXML(definitionFile, rootData, pSink)) - { - CryLog("Unable to load file %s", dataFile); - return false; - } - return true; -} - - diff --git a/Code/Legacy/CrySystem/XML/SerializeXMLReader.cpp b/Code/Legacy/CrySystem/XML/SerializeXMLReader.cpp index 841697ecdb..528e3dbcc5 100644 --- a/Code/Legacy/CrySystem/XML/SerializeXMLReader.cpp +++ b/Code/Legacy/CrySystem/XML/SerializeXMLReader.cpp @@ -104,23 +104,6 @@ bool CSerializeXMLReaderImpl::Value(const char* name, CTimeValue& value) return true; } -bool CSerializeXMLReaderImpl::Value(const char* name, XmlNodeRef& value) -{ - DefaultValue(value); // Set input value to default. - if (m_nErrors) - { - return false; - } - - if (BeginOptionalGroup(name, true)) - { - value = CurNode()->getChild(0); - EndGroup(); - } - - return true; -} - void CSerializeXMLReaderImpl::BeginGroup(const char* szName) { if (m_nErrors) @@ -173,32 +156,3 @@ void CSerializeXMLReaderImpl::EndGroup() } assert(!m_nodeStack.empty()); } - -////////////////////////////////////////////////////////////////////////// -AZStd::string CSerializeXMLReaderImpl::GetStackInfo() const -{ - AZStd::string str; - for (int i = 0; i < (int)m_nodeStack.size(); i++) - { - const char* name = m_nodeStack[i].m_node->getAttr(TAG_SCRIPT_NAME); - if (name && name[0]) - { - str += name; - } - else - { - str += m_nodeStack[i].m_node->getTag(); - } - if (i != m_nodeStack.size() - 1) - { - str += "/"; - } - } - return str; -} - -void CSerializeXMLReaderImpl::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->Add(*this); - pSizer->AddContainer(m_nodeStack); -} diff --git a/Code/Legacy/CrySystem/XML/SerializeXMLReader.h b/Code/Legacy/CrySystem/XML/SerializeXMLReader.h index f87350d3fe..58c150db24 100644 --- a/Code/Legacy/CrySystem/XML/SerializeXMLReader.h +++ b/Code/Legacy/CrySystem/XML/SerializeXMLReader.h @@ -6,22 +6,16 @@ * */ - -#ifndef CRYINCLUDE_CRYSYSTEM_XML_SERIALIZEXMLREADER_H -#define CRYINCLUDE_CRYSYSTEM_XML_SERIALIZEXMLREADER_H #pragma once - #include "SimpleSerialize.h" #include #include #include -#include -#include #include "xml.h" class CSerializeXMLReaderImpl - : public CSimpleSerializeImpl + : public CSimpleSerializeImpl { public: CSerializeXMLReaderImpl(const XmlNodeRef& nodeRef); @@ -41,7 +35,7 @@ public: g_pXmlStrCmp = &strcmp; // Do case-sensitive compare bool bReturn = node->haveAttr(name); if (bReturn) - { + { value = node->getAttr(name); } g_pXmlStrCmp = pPrevCmpFunc; @@ -51,10 +45,6 @@ public: { return false; } - ILINE bool GetAttr([[maybe_unused]] const XmlNodeRef& node, [[maybe_unused]] const char* name, [[maybe_unused]] SNetObjectID& value) - { - return false; - } template bool Value(const char* name, T_Value& value) @@ -77,23 +67,12 @@ public: bool Value(const char* name, int8& value); bool Value(const char* name, AZStd::string& value); bool Value(const char* name, CTimeValue& value); - bool Value(const char* name, XmlNodeRef& value); - - template - bool Value(const char* name, T_Value& value, [[maybe_unused]] const T_Policy& policy) - { - return Value(name, value); - } void BeginGroup(const char* szName); bool BeginOptionalGroup(const char* szName, bool condition); void EndGroup(); - AZStd::string GetStackInfo() const; - - void GetMemoryUsage(ICrySizer* pSizer) const; private: - //CTimeValue m_curTime; XmlNodeRef CurNode() { return m_nodeStack.back().m_node; } XmlNodeRef NextOf(const char* name) { @@ -171,13 +150,9 @@ private: void DefaultValue(Ang3& v) const { v.x = 0; v.y = 0; v.z = 0; } void DefaultValue(Quat& v) const { v.w = 1.0f; v.v.x = 0; v.v.y = 0; v.v.z = 0; } void DefaultValue(CTimeValue& v) const { v.SetValue(0); } - //void DefaultValue( char *str ) const { if (str) str[0] = 0; } void DefaultValue(AZStd::string& str) const { str = ""; } void DefaultValue([[maybe_unused]] const AZStd::string& str) const {} - void DefaultValue([[maybe_unused]] SNetObjectID& id) const {} void DefaultValue([[maybe_unused]] SSerializeString& str) const {} void DefaultValue(XmlNodeRef& ref) const { ref = NULL; } ////////////////////////////////////////////////////////////////////////// }; - -#endif // CRYINCLUDE_CRYSYSTEM_XML_SERIALIZEXMLREADER_H diff --git a/Code/Legacy/CrySystem/XML/SerializeXMLWriter.cpp b/Code/Legacy/CrySystem/XML/SerializeXMLWriter.cpp index ce3fbcc2b1..5a3e403218 100644 --- a/Code/Legacy/CrySystem/XML/SerializeXMLWriter.cpp +++ b/Code/Legacy/CrySystem/XML/SerializeXMLWriter.cpp @@ -49,16 +49,6 @@ bool CSerializeXMLWriterImpl::Value(const char* name, CTimeValue value) return true; } -bool CSerializeXMLWriterImpl::Value(const char* name, XmlNodeRef& value) -{ - if (BeginOptionalGroup(name, value != NULL)) - { - CurNode()->addChild(value); - EndGroup(); - } - return true; -} - void CSerializeXMLWriterImpl::BeginGroup(const char* szName) { if (strchr(szName, ' ') != 0) @@ -104,13 +94,6 @@ void CSerializeXMLWriterImpl::EndGroup() assert(!m_nodeStack.empty()); } -void CSerializeXMLWriterImpl::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->Add(*this); - pSizer->AddObject(m_nodeStack); - pSizer->AddContainer(m_luaSaveStack); -} - ////////////////////////////////////////////////////////////////////////// AZStd::string CSerializeXMLWriterImpl::GetStackInfo() const { diff --git a/Code/Legacy/CrySystem/XML/SerializeXMLWriter.h b/Code/Legacy/CrySystem/XML/SerializeXMLWriter.h index 5f3e9f2c53..26fbe4b29c 100644 --- a/Code/Legacy/CrySystem/XML/SerializeXMLWriter.h +++ b/Code/Legacy/CrySystem/XML/SerializeXMLWriter.h @@ -15,11 +15,10 @@ #include #include #include -#include "IValidator.h" #include "SimpleSerialize.h" class CSerializeXMLWriterImpl - : public CSimpleSerializeImpl + : public CSimpleSerializeImpl { public: CSerializeXMLWriterImpl(const XmlNodeRef& nodeRef); @@ -32,21 +31,12 @@ public: return true; } - template - bool Value(const char* name, T_Value& value, [[maybe_unused]] const T_Policy& policy) - { - return Value(name, value); - } - bool Value(const char* name, CTimeValue value); - bool Value(const char* name, XmlNodeRef& value); void BeginGroup(const char* szName); bool BeginOptionalGroup(const char* szName, bool condition); void EndGroup(); - void GetMemoryUsage(ICrySizer* pSizer) const; - private: ////////////////////////////////////////////////////////////////////////// // Vars. @@ -99,10 +89,6 @@ private: { AddValue(name, value.c_str()); } - void AddValue([[maybe_unused]] const char* name, [[maybe_unused]] const SNetObjectID& value) - { - assert(false); - } template void AddTypedValue(const char* name, const T& value, const char* type) { diff --git a/Code/Legacy/CrySystem/XML/WriteXMLSource.cpp b/Code/Legacy/CrySystem/XML/WriteXMLSource.cpp deleted file mode 100644 index c5fa3839e0..0000000000 --- a/Code/Legacy/CrySystem/XML/WriteXMLSource.cpp +++ /dev/null @@ -1,432 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#include "CrySystem_precompiled.h" -#include "ReadWriteXMLSink.h" - -#include - -typedef std::map IdTable; - -static bool IsOptionalWriteXML(XmlNodeRef& definition); - -static bool SaveTableInner(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); -static bool SaveReferencedId(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); -static bool SaveSomething(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); -static bool SaveArray(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); -static bool SaveProperty(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); -static bool SaveTable(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); -static bool SaveArraySetValueTable(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource, int elem); - -typedef bool (* SaveArraySetValue)(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource, int elem); -typedef bool (* SaveDefinitionFunction)(const IdTable&, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource); - -template -struct WritePropertyTyped; - -template -struct WritePropertyTyped -{ - static bool Save(const char* name, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource) - { - IWriteXMLSource::TValue vvalue((T())); - if (!pSource->GetValue(name, vvalue, definition)) - { - return false; - } - T* pValue = AZStd::get_if(&vvalue); - if (!pValue) - { - return false; - } - data->setAttr(name, *pValue); - return true; - } - static bool SaveArray([[maybe_unused]] const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource, int elem) - { - IWriteXMLSource::TValue vvalue((T())); - if (!pSource->GetAt(elem, vvalue, definition)) - { - return false; - } - T* pValue = AZStd::get_if(&vvalue); - if (!pValue) - { - return false; - } - data->setAttr("value", *pValue); - return true; - } -}; - -template <> -struct WritePropertyTyped - : public WritePropertyTyped -{ -}; - -bool IsOptionalWriteXML(XmlNodeRef& definition) -{ - bool optional = false; - definition->getAttr("optional", optional); - return optional; -} - -bool SaveProperty([[maybe_unused]] const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource) -{ - const char* name = definition->getAttr("name"); - if (0 == strlen(name)) - { - CryLog("Property has no name"); - return false; - } - - const char* type = definition->getAttr("type"); - if (0 == strlen(type)) - { - CryLog("Property '%s' has no type", type); - return false; - } - - if (IsOptionalWriteXML(definition) && !pSource->HaveValue(name)) - { - return true; - } - - bool ok = false; -#define SAVE_PROPERTY(whichType) else if (0 == strcmp(type, #whichType)) ok = WritePropertyTyped::Save(name, definition, data, pSource) - XML_SET_PROPERTY_HELPER(SAVE_PROPERTY); -#undef SAVE_PROPERTY - - if (!ok) - { - CryLog("Failed loading attribute %s of type %s", name, type); - } - - return ok; -} - -bool SaveArraySetValueTable(const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource, int elem) -{ - IWriteXMLSourcePtr pChildSource = pSource->BeginTableAt(elem); - if (!pChildSource) - { - CryLog("Failed to find source table at %d", elem); - return false; - } - - if (!SaveTableInner(idTable, definition, data, &*pChildSource)) - { - return false; - } - - if (!pChildSource->EndTableAt(elem)) - { - CryLog("Failed to finish table at element %d", elem); - return false; - } - - return true; -} - -bool SaveArray(const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource) -{ - const char* name = definition->getAttr("name"); - if (0 == strlen(name)) - { - CryLog("Array has no name"); - return false; - } - - const char* elementName = definition->getAttr("elementName"); - if (0 == strlen(elementName)) - { - elementName = "element"; - } - - bool validateArray = true; - if (definition->haveAttr(elementName)) - { - definition->getAttr("validate", validateArray); - } - - size_t numElems = 0; - IWriteXMLSourcePtr childSource = pSource->BeginArray(name, &numElems, definition); - if (!childSource) - { - bool ok = IsOptionalWriteXML(definition); - if (!ok) - { - CryLog("Failed to begin array named %s", name); - } - return ok; - } - - XmlNodeRef childData = data->createNode(name); - - SaveArraySetValue setter = NULL; - if (definition->haveAttr("type")) - { - setter = NULL; - const char* type = definition->getAttr("type"); -#define SETTER_PROPERTY(whichType) else if (0 == strcmp(type, #whichType)) setter = WritePropertyTyped::SaveArray - XML_SET_PROPERTY_HELPER(SETTER_PROPERTY); -#undef SETTER_PROPERTY - if (!setter) - { - CryLog("Unknown type %s in array %s", type, name); - return false; - } - } - else - { - setter = SaveArraySetValueTable; - } - - bool needIndex = false; - for (size_t sizei = 1; sizei <= numElems; sizei++) - { - const int i = static_cast(sizei); - if (!childSource->HaveElemAt(i)) - { - needIndex = true; - } - else - { - XmlNodeRef elemData = childData->createNode(elementName); - if (needIndex) - { - elemData->setAttr("_index", i); - } - needIndex = false; - - if (!setter(idTable, definition, elemData, &*childSource, i)) - { - CryLog("Failed saving element %d of array %s", int(i), name); - return false; - } - - childData->addChild(elemData); - } - } - - if (!pSource->EndArray(name)) - { - CryLog("Failed to finish array named %s", name); - return false; - } - - data->addChild(childData); - - return true; -} - -bool SaveTable(const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource) -{ - const char* name = definition->getAttr("name"); - if (0 == strlen(name)) - { - CryLog("Child-table has no name"); - return false; - } - - IWriteXMLSourcePtr childSource = pSource->BeginTable(name); - if (!childSource) - { - bool ok = IsOptionalWriteXML(definition); - if (!ok) - { - CryLog("Source creation failed for table %s", name); - } - return ok; - } - - XmlNodeRef childData = data->createNode(name); - - if (!SaveTableInner(idTable, definition, childData, childSource)) - { - CryLog("Failed to load data for child table %s", name); - return false; - } - - if (!pSource->EndTable(name)) - { - CryLog("Table %s failed to complete in sink", name); - return false; - } - - data->addChild(childData); - - return true; -} - -bool SaveSomething(const IdTable& idTable, XmlNodeRef& nodeDefinition, XmlNodeRef& data, IWriteXMLSource* pSource) -{ - static struct - { - const char* name; - SaveDefinitionFunction saver; - } saverTypes[] = { - {"Property", &SaveProperty}, - {"Array", &SaveArray}, - {"Table", &SaveTable}, - {"Use", &SaveReferencedId}, - }; - static const int numSaverTypes = sizeof(saverTypes) / sizeof(*saverTypes); - - const char* nodeDefinitionTag = nodeDefinition->getTag(); - bool ok = false; - int i; - for (i = 0; i < numSaverTypes; i++) - { - if (0 == strcmp(saverTypes[i].name, nodeDefinitionTag)) - { - ok = saverTypes[i].saver(idTable, nodeDefinition, data, pSource); - break; - } - } - if (!ok) - { - if (i == numSaverTypes) - { - CryLog("Invalid definition node type %s", nodeDefinitionTag); - } - } - return ok; -} - -bool SaveReferencedId(const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource) -{ - IdTable::const_iterator iter = idTable.find(definition->getAttr("id")); - if (iter == idTable.end()) - { - CryLog("No definition with id '%s'", definition->getAttr("id")); - return false; - } - XmlNodeRef useDefinition = iter->second; - useDefinition = useDefinition->clone(); - int numAttrs = definition->getNumAttributes(); - for (int i = 0; i < numAttrs; i++) - { - const char* key, * value; - definition->getAttributeByIndex(i, &key, &value); - useDefinition->setAttr(key, value); - } - return SaveSomething(idTable, useDefinition, data, pSource); -} - -bool SaveTableInner(const IdTable& idTable, XmlNodeRef& definition, XmlNodeRef& data, IWriteXMLSource* pSource) -{ - const int nChildrenDefinition = definition->getChildCount(); - for (int nChildDefinition = 0; nChildDefinition < nChildrenDefinition; nChildDefinition++) - { - XmlNodeRef nodeDefinition = definition->getChild(nChildDefinition); - - if (!SaveSomething(idTable, nodeDefinition, data, pSource)) - { - return false; - } - } - return true; -} - -XmlNodeRef CReadWriteXMLSink::CreateXMLFromSource(const char* definitionFile, IWriteXMLSource* pSource) -{ - XmlNodeRef rootDefinition = GetISystem()->LoadXmlFromFile(definitionFile); - if (!rootDefinition) - { - CryLog("Unable to load XML-Lua definition file: %s", definitionFile); - return 0; - } - if (0 != strcmp(rootDefinition->getTag(), "Definition")) - { - CryLog("Root tag of definition file was %s; expected Definition", rootDefinition->getTag()); - return 0; - } - const char* rootNode = "Root"; - if (rootDefinition->haveAttr("root")) - { - rootNode = rootDefinition->getAttr("root"); - } - XmlNodeRef rootData = GetISystem()->CreateXmlNode(rootNode); - - XmlNodeRef allowAlways = rootDefinition->findChild("AllowAlways"); - if (allowAlways != 0) - { - rootDefinition->removeChild(allowAlways); - } - - XmlNodeRef settingsParams = rootDefinition->findChild("Settings"); - if (settingsParams != 0) - { - rootDefinition->removeChild(settingsParams); - } - - // scan for id's in the structure (for the Use member) - IdTable idTable; - std::stack scanStack; - scanStack.push(rootDefinition); - while (!scanStack.empty()) - { - XmlNodeRef refNode = scanStack.top(); - scanStack.pop(); - - int numChildren = refNode->getChildCount(); - const char* tag = refNode->getTag(); - - for (int i = 0; i < numChildren; i++) - { - scanStack.push(refNode->getChild(i)); - } - - if (refNode->haveAttr("id") && 0 != strcmp("Use", tag)) - { - idTable[refNode->getAttr("id")] = refNode; - } - - if (allowAlways != 0 && (!strcmp("Table", tag) || !strcmp("Array", tag))) - { - for (int i = 0; i < allowAlways->getChildCount(); ++i) - { - refNode->addChild(allowAlways->getChild(i)->clone()); - } - } - } - - if (!SaveTableInner(idTable, rootDefinition, rootData, pSource)) - { - CryLog("Error createing xml using definition %s", definitionFile); - return 0; - } - - bool ok = pSource->Complete(); - if (!ok) - { - CryLog("Warning: sink failed to complete writing"); - return 0; - } - - return rootData; -} - -bool CReadWriteXMLSink::WriteXML(const char* definitionFile, const char* dataFile, IWriteXMLSource* pSource) -{ - XmlNodeRef data = CreateXMLFromSource(definitionFile, pSource); - if (!data) - { - CryLog("Failed creating %s", dataFile); - return false; - } - if (!data->saveToFile(dataFile)) - { - CryLog("Failed saving %s", dataFile); - return false; - } - return true; -} diff --git a/Code/Legacy/CrySystem/XML/XMLBinaryNode.cpp b/Code/Legacy/CrySystem/XML/XMLBinaryNode.cpp index d209478957..ec154b31e8 100644 --- a/Code/Legacy/CrySystem/XML/XMLBinaryNode.cpp +++ b/Code/Legacy/CrySystem/XML/XMLBinaryNode.cpp @@ -8,8 +8,8 @@ #include +#include "Cry_Color.h" #include "XMLBinaryNode.h" -#include ////////////////////////////////////////////////////////////////////////// CBinaryXmlData::CBinaryXmlData() @@ -38,24 +38,10 @@ CBinaryXmlData::~CBinaryXmlData() pBinaryNodes = 0; } -void CBinaryXmlData::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->AddObject(pFileContents, nFileSize); - const XMLBinary::BinaryFileHeader* pHeader = reinterpret_cast(pFileContents); - pSizer->AddObject(pBinaryNodes, sizeof(CBinaryXmlNode) * pHeader->nNodeCount); -} - ////////////////////////////////////////////////////////////////////////// // CBinaryXmlNode implementation. ////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// -// collect allocated memory informations -void CBinaryXmlNode::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->AddObject(m_pData); -} - ////////////////////////////////////////////////////////////////////////// XmlNodeRef CBinaryXmlNode::getParent() const { @@ -244,21 +230,6 @@ bool CBinaryXmlNode::getAttr(const char* key, Vec4& value) const return false; } -bool CBinaryXmlNode::getAttr(const char* key, Vec3d& value) const -{ - const char* svalue = GetValue(key); - if (svalue) - { - double x, y, z; - if (azsscanf(svalue, "%lf,%lf,%lf", &x, &y, &z) == 3) - { - value = Vec3d(x, y, z); - return true; - } - } - return false; -} - ////////////////////////////////////////////////////////////////////////// bool CBinaryXmlNode::getAttr(const char* key, Vec2& value) const { @@ -275,22 +246,6 @@ bool CBinaryXmlNode::getAttr(const char* key, Vec2& value) const return false; } -////////////////////////////////////////////////////////////////////////// -bool CBinaryXmlNode::getAttr(const char* key, Vec2d& value) const -{ - const char* svalue = GetValue(key); - if (svalue) - { - double x, y; - if (azsscanf(svalue, "%lf,%lf", &x, &y) == 2) - { - value = Vec2d(x, y); - return true; - } - } - return false; -} - ////////////////////////////////////////////////////////////////////////// bool CBinaryXmlNode::getAttr(const char* key, Quat& value) const { diff --git a/Code/Legacy/CrySystem/XML/XMLBinaryNode.h b/Code/Legacy/CrySystem/XML/XMLBinaryNode.h index 34e0ca22ce..855ef8b348 100644 --- a/Code/Legacy/CrySystem/XML/XMLBinaryNode.h +++ b/Code/Legacy/CrySystem/XML/XMLBinaryNode.h @@ -41,8 +41,6 @@ public: CBinaryXmlData(); ~CBinaryXmlData(); - - void GetMemoryUsage(ICrySizer* pSizer) const; }; // forward declaration @@ -59,9 +57,6 @@ class CBinaryXmlNode { public: - // collect allocated memory informations - void GetMemoryUsage(ICrySizer* pSizer) const; - ////////////////////////////////////////////////////////////////////////// // Custom new/delete with pool allocator. ////////////////////////////////////////////////////////////////////////// @@ -163,11 +158,9 @@ public: void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] float value) { assert(0); }; void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] f64 value) { assert(0); }; void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Vec2& value) { assert(0); }; - void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Vec2d& value) { assert(0); }; void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Ang3& value) { assert(0); }; void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Vec3& value) { assert(0); }; void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Vec4& value) { assert(0); }; - void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Vec3d& value) { assert(0); }; void setAttr([[maybe_unused]] const char* key, [[maybe_unused]] const Quat& value) { assert(0); }; void delAttr([[maybe_unused]] const char* key) { assert(0); }; void removeAllAttributes() { assert(0); }; @@ -182,11 +175,9 @@ public: bool getAttr(const char* key, bool& value) const; bool getAttr(const char* key, XmlString& value) const {const char* v(NULL); bool boHasAttribute(getAttr(key, &v)); value = v; return boHasAttribute; } bool getAttr(const char* key, Vec2& value) const; - bool getAttr(const char* key, Vec2d& value) const; bool getAttr(const char* key, Ang3& value) const; bool getAttr(const char* key, Vec3& value) const; bool getAttr(const char* key, Vec4& value) const; - bool getAttr(const char* key, Vec3d& value) const; bool getAttr(const char* key, Quat& value) const; bool getAttr(const char* key, ColorB& value) const; diff --git a/Code/Legacy/CrySystem/XML/XMLBinaryWriter.cpp b/Code/Legacy/CrySystem/XML/XMLBinaryWriter.cpp index 265953850f..63bf4adef2 100644 --- a/Code/Legacy/CrySystem/XML/XMLBinaryWriter.cpp +++ b/Code/Legacy/CrySystem/XML/XMLBinaryWriter.cpp @@ -12,40 +12,6 @@ #include "CryEndian.h" #include // memcpy() -////////////////////////////////////////////////////////////////////////// -namespace XMLBinary -{ - void SwapEndianness_Node(Node& t) - { - SwapEndian(t.nTagStringOffset, true); - SwapEndian(t.nContentStringOffset, true); - SwapEndian(t.nAttributeCount, true); - SwapEndian(t.nChildCount, true); - SwapEndian(t.nParentIndex, true); - SwapEndian(t.nFirstAttributeIndex, true); - SwapEndian(t.nFirstChildIndex, true); - } - - void SwapEndianness_Attribute(Attribute& t) - { - SwapEndian(t.nKeyStringOffset, true); - SwapEndian(t.nValueStringOffset, true); - } - - void SwapEndianness_Header(BinaryFileHeader& t) - { - SwapEndian(t.nXMLSize, true); - SwapEndian(t.nNodeTablePosition, true); - SwapEndian(t.nNodeCount, true); - SwapEndian(t.nAttributeTablePosition, true); - SwapEndian(t.nAttributeCount, true); - SwapEndian(t.nChildTablePosition, true); - SwapEndian(t.nChildCount, true); - SwapEndian(t.nStringDataPosition, true); - SwapEndian(t.nStringDataSize, true); - } -} - ////////////////////////////////////////////////////////////////////////// XMLBinary::CXMLBinaryWriter::CXMLBinaryWriter() { @@ -84,7 +50,7 @@ static void write(XMLBinary::IDataWriter* const pFile, size_t& nPosition, const } ////////////////////////////////////////////////////////////////////////// -bool XMLBinary::CXMLBinaryWriter::WriteNode(IDataWriter* pFile, XmlNodeRef node, bool bNeedSwapEndian, XMLBinary::IFilter* pFilter, AZStd::string& error) +bool XMLBinary::CXMLBinaryWriter::WriteNode(IDataWriter* pFile, XmlNodeRef node, XMLBinary::IFilter* pFilter, AZStd::string& error) { error = ""; @@ -135,24 +101,6 @@ bool XMLBinary::CXMLBinaryWriter::WriteNode(IDataWriter* pFile, XmlNodeRef node, header.nXMLSize = static_cast(nTheoreticalPosition); - // Swap endianness of the data structures - if (bNeedSwapEndian) - { - SwapEndianness_Header(header); - for (size_t i = 0, iCount = m_nodes.size(); i < iCount; ++i) - { - SwapEndianness_Node(m_nodes[i]); - } - for (size_t i = 0, iCount = m_attributes.size(); i < iCount; ++i) - { - SwapEndianness_Attribute(m_attributes[i]); - } - for (size_t i = 0, iCount = m_childs.size(); i < iCount; ++i) - { - SwapEndian(m_childs[i], true); - } - } - // Write file { nTheoreticalPosition = 0; diff --git a/Code/Legacy/CrySystem/XML/XMLBinaryWriter.h b/Code/Legacy/CrySystem/XML/XMLBinaryWriter.h index 810a2268c9..4b0d19fe26 100644 --- a/Code/Legacy/CrySystem/XML/XMLBinaryWriter.h +++ b/Code/Legacy/CrySystem/XML/XMLBinaryWriter.h @@ -25,7 +25,7 @@ namespace XMLBinary { public: CXMLBinaryWriter(); - bool WriteNode(IDataWriter* pFile, XmlNodeRef node, bool bNeedSwapEndian, XMLBinary::IFilter* pFilter, AZStd::string & error); + bool WriteNode(IDataWriter* pFile, XmlNodeRef node, XMLBinary::IFilter* pFilter, AZStd::string & error); private: bool CompileTables(XmlNodeRef node, XMLBinary::IFilter* pFilter, AZStd::string& error); diff --git a/Code/Legacy/CrySystem/XML/XMLPatcher.cpp b/Code/Legacy/CrySystem/XML/XMLPatcher.cpp deleted file mode 100644 index 03c5af92d3..0000000000 --- a/Code/Legacy/CrySystem/XML/XMLPatcher.cpp +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#include "CrySystem_precompiled.h" -#include "XMLPatcher.h" - -CXMLPatcher::CXMLPatcher(XmlNodeRef& patchXML) -{ - m_patchXML = patchXML; - -#if DATA_PATCH_DEBUG - m_pDumpFilesCVar = REGISTER_INT("g_datapatcher_dumpfiles", 0, NULL, "will dump a copy of every file data patched, before and after patching"); -#endif -} - -CXMLPatcher::~CXMLPatcher() -{ -#if DATA_PATCH_DEBUG - if (IConsole* pIC = gEnv->pConsole) - { - pIC->UnregisterVariable(m_pDumpFilesCVar->GetName()); - } -#endif -} - -XmlNodeRef CXMLPatcher::DuplicateForPatching( - const XmlNodeRef& inOrig, - bool inShareChildren) -{ - XmlNodeRef newNode(0); - - if (m_patchXML) - { - newNode = m_patchXML->createNode(inOrig->getTag()); - if (newNode) - { - // copy attributes in a safe way, copyAttributes() itself assumes the node being copied from is of the same type - int numAttr = inOrig->getNumAttributes(); - - for (int i = 0; i < numAttr; i++) - { - const char* pKey, * pValue; - if (inOrig->getAttributeByIndex(i, &pKey, &pValue)) - { - newNode->setAttr(pKey, pValue); - } - } - - if (inShareChildren) - { - newNode->shareChildren(inOrig); - } - } - } - - return newNode; -} - -void CXMLPatcher::PatchFail( - const char* pInReason) -{ - CryLogAlways("Failed to apply data patch for file '%s' - reason '%s'", m_pFileBeingPatched, pInReason); -} - -XmlNodeRef CXMLPatcher::FindPatchForFile( - const char* pInFileToPatch) -{ - XmlNodeRef result; - - if (m_patchXML) - { - for (int i = 0, m = m_patchXML->getChildCount(); i < m; i++) - { - XmlNodeRef child = m_patchXML->getChild(i); - - if (child->isTag("patch")) - { - const char* pForFile = child->getAttr("forfile"); - - if (pForFile && AZ::StringFunc::Find(pForFile, pInFileToPatch) != AZStd::string::npos) - { - result = child; - break; - } - } - } - } - - return result; -} - -XmlNodeRef CXMLPatcher::ApplyPatchToNode( - const XmlNodeRef& inNode, - const XmlNodeRef& inPatch) -{ - XmlNodeRef result = inNode; - - for (int i = 0, m = inPatch->getChildCount(); i < m; i++) - { - XmlNodeRef patchNode = inPatch->getChild(i); - if (!patchNode || _stricmp(patchNode->getTag(), "patchnode") != 0) - { - continue; - } - - int indexToPatch; - if (!patchNode->getAttr("index", indexToPatch)) - { - PatchFail("found patchnode missing index"); - continue; - } - - int maxChildren = result->getChildCount(); - - if ((indexToPatch < 0 || indexToPatch >= maxChildren) && indexToPatch != -1) - { - PatchFail("patchnode index out of valid range"); - continue; - } - - XmlNodeRef childToPatch = (indexToPatch != -1) ? result->getChild(indexToPatch) : XmlNodeRef(0); - XmlNodeRef matchTag = GetMatchTag(patchNode); - - if (childToPatch && matchTag && !CompareTags(matchTag, childToPatch)) - { - PatchFail("patch failed to apply, data did not match what was expected"); - continue; - } - - // we need to apply a patch to this child, make it patchable by duplicating the node - - if (inNode == result) - { - // make parent patchable if not already - result = DuplicateForPatching(inNode, true); - } - - if (XmlNodeRef insertTag = GetInsertTag(patchNode)) - { - // insert a new child after this node - XmlNodeRef newChild = DuplicateForPatching(insertTag, true); // have to duplicate it as we don't have an 'insert shared child' function - result->insertChild(indexToPatch + 1, newChild); - } - else - { - if (indexToPatch == -1) - { - PatchFail("child indices of -1 can only be used when inserting new nodes"); - continue; - } - } - - bool shouldReplaceChildren = false; - - if (XmlNodeRef replaceTag = GetReplaceTag(patchNode, &shouldReplaceChildren)) - { - XmlNodeRef newChild = DuplicateForPatching(replaceTag, false); - - if (!shouldReplaceChildren) - { - newChild->shareChildren(childToPatch); - } - else - { - // note: this is inserting children that belong to the data patcher into the data being patched - // this is fine to do, as long as the caller doesn't make any permanent changes to the xml tree - // returned. if they did they would alter the patcher's nodes and thus affect future patches - // applied using the same patch - // as most callers are working with binary xmls they don't try and modify them - as this is not - // a supported operation - // note, if a second patch was applied to this patched tree containing the patch nodes, it - // wouldn't mess up the patch, as patching a tree never modifies it, it always returns a new tree - // that may share parts of the original tree - newChild->shareChildren(replaceTag); - } - - result->replaceChild(indexToPatch, newChild); - - childToPatch = newChild; - } - - if (XmlNodeRef deleteTag = GetDeleteTag(patchNode)) - { - result->deleteChildAt(indexToPatch); - childToPatch = 0; // deleted - don't recurse into it - } - - if (childToPatch) - { - // Apply recursively - XmlNodeRef newChild = ApplyPatchToNode(childToPatch, patchNode); - - // child has been patched, insert new child into parent - if (newChild != childToPatch) - { - result->replaceChild(indexToPatch, newChild); - } - } - } - - return result; -} - -XmlNodeRef CXMLPatcher::ApplyXMLDataPatch( - const XmlNodeRef& inNode, - const char* pInXMLFileName) -{ - XmlNodeRef result = inNode; - - if (m_patchingEnabled) - { - if (m_patchXML) - { - XmlNodeRef patchForFile = FindPatchForFile(pInXMLFileName); - if (patchForFile) - { - m_pFileBeingPatched = pInXMLFileName; - CryLog("Applying game data patch to %s", pInXMLFileName); - XmlNodeRef containerNode = m_patchXML->createNode(""); - containerNode->addChild(inNode); - containerNode = ApplyPatchToNode(containerNode, patchForFile); - result = containerNode->getChild(0); - m_pFileBeingPatched = NULL; - -#if DATA_PATCH_DEBUG - if (inNode != result) - { - DumpFiles(pInXMLFileName, inNode, result); - } -#endif - } - } - } - - return result; -} - -XmlNodeRef CXMLPatcher::GetMatchTag( - const XmlNodeRef& inNode) -{ - XmlNodeRef result; - XmlNodeRef nr = inNode->findChild("match"); - if (nr && nr->getChildCount() == 1) - { - result = nr->getChild(0); - } - return result; -} - -XmlNodeRef CXMLPatcher::GetReplaceTag( - const XmlNodeRef& inNode, - bool* outShouldReplaceChildren) -{ - XmlNodeRef result; - XmlNodeRef nr = inNode->findChild("replacewith"); - if (nr && nr->getChildCount() == 1) - { - if (!nr->getAttr("replaceChildren", *outShouldReplaceChildren)) - { - *outShouldReplaceChildren = false; - } - result = nr->getChild(0); - } - return result; -} - - -XmlNodeRef CXMLPatcher::GetInsertTag( - const XmlNodeRef& inNode) -{ - XmlNodeRef result; - XmlNodeRef nr = inNode->findChild("insertAfter"); - if (nr && nr->getChildCount() == 1) - { - result = nr->getChild(0); - } - return result; -} - -XmlNodeRef CXMLPatcher::GetDeleteTag( - const XmlNodeRef& inNode) -{ - XmlNodeRef result = inNode->findChild("delete"); - return result; -} - -// compares the two tags for equality of tag and attributes -// used to ensure the source data being patched meets the patches expectations -// only compares tag and attribs, doesn't do deep compare of children -bool CXMLPatcher::CompareTags( - const XmlNodeRef& inA, - const XmlNodeRef& inB) -{ - bool result = true; - - if (inA != inB) - { - result = false; - - if (_stricmp(inA->getTag(), inB->getTag()) == 0) - { - if (inA->getNumAttributes() == inB->getNumAttributes()) - { - result = true; - - for (int i = 0, m = inA->getNumAttributes(); i < m; i++) - { - const char* pAKey, * pBKey; - const char* pAValue, * pBValue; - - inA->getAttributeByIndex(i, &pAKey, &pAValue); - inB->getAttributeByIndex(i, &pBKey, &pBValue); - - if (_stricmp(pAKey, pBKey) || _stricmp(pAValue, pBValue)) - { - result = false; - break; - } - } - } - } - } - - return result; -} - -#if DATA_PATCH_DEBUG - -static const char* k_lotsOfTabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"; - -#define INDENT() \ - if (inIndent > 0) \ - { \ - pPak->FWrite(k_lotsOfTabs, inIndent, inFileHandle); \ - } - -void CXMLPatcher::DumpXMLNodes( - AZ::IO::HandleType inFileHandle, - int inIndent, - const XmlNodeRef& inNode, - AZStd::fixed_string<512>* ioTempString) -{ - auto pPak = gEnv->pCryPak; - - inIndent = min(inIndent, int(sizeof(k_lotsOfTabs) - 1)); - - INDENT(); - - *ioTempString = AZStd::fixed_string<512>::format("<%s ", inNode->getTag()); - - pPak->FWrite(ioTempString->c_str(), ioTempString->length(), inFileHandle); - - for (int i = 0, m = inNode->getNumAttributes(); i < m; i++) - { - const char* pKey, * pVal; - inNode->getAttributeByIndex(i, &pKey, &pVal); - *ioTempString = AZStd::fixed_string<512>::format("%s=\"%s\" ", pKey, pVal); - pPak->FWrite(ioTempString->c_str(), ioTempString->length(), inFileHandle); - } - pPak->FWrite(">\n", 2, inFileHandle); - - for (int i = 0, m = inNode->getChildCount(); i < m; i++) - { - DumpXMLNodes(inFileHandle, inIndent + 1, inNode->getChild(i), ioTempString); - } - - INDENT(); - *ioTempString = AZStd::fixed_string<512>::format("\n", inNode->getTag()); - pPak->FWrite(ioTempString->c_str(), ioTempString->length(), inFileHandle); -} - - -void CXMLPatcher::DumpFiles( - const char* pInXMLFileName, - const XmlNodeRef& inBefore, - const XmlNodeRef& inAfter) -{ - if (m_pDumpFilesCVar->GetIVal()) - { - CryLog("Dumping before and after data files for '%s'", pInXMLFileName); - - const char* pOrigFileName = strrchr(pInXMLFileName, '/'); - if (pOrigFileName) - { - pOrigFileName++; - - DumpXMLFile(AZStd::string::format("PATCH_%s", pOrigFileName).c_str(), inBefore); - - AZStd::string newFileName(pOrigFileName); - AZ::StringFunc::Replace(newFileName, ".xml", "_patched.xml"); - - DumpXMLFile(AZStd::string::format("PATCH_%s", newFileName.c_str()).c_str(), inAfter); - } - else - { - CryLog("Couldn't determine file name for path '%s' can't output diffs", pInXMLFileName); - } - } -} - -void CXMLPatcher::DumpXMLFile( - const char* pInFilePath, - const XmlNodeRef& inNode) -{ - auto pIPak = GetISystem()->GetIPak(); - AZ::IO::HandleType fileHandle = pIPak->FOpen(pInFilePath, "wb"); - - if (fileHandle != AZ::IO::InvalidHandle) - { - AZStd::fixed_string<512> tempStr; - - DumpXMLNodes(fileHandle, 0, inNode, &tempStr); - - pIPak->FClose(fileHandle); - } -} -#endif diff --git a/Code/Legacy/CrySystem/XML/XMLPatcher.h b/Code/Legacy/CrySystem/XML/XMLPatcher.h deleted file mode 100644 index ccc5f481eb..0000000000 --- a/Code/Legacy/CrySystem/XML/XMLPatcher.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#ifndef CRYINCLUDE_CRYSYSTEM_XML_XMLPATCHER_H -#define CRYINCLUDE_CRYSYSTEM_XML_XMLPATCHER_H -#pragma once - - -#if defined(WIN32) && !defined(_RELEASE) -#define DATA_PATCH_DEBUG 1 -#else -#define DATA_PATCH_DEBUG 0 -#endif - -class CXMLPatcher -{ -protected: -#if DATA_PATCH_DEBUG - ICVar * m_pDumpFilesCVar; -#endif - - XmlNodeRef m_patchXML; - const char* m_pFileBeingPatched; - bool m_patchingEnabled; - - void PatchFail( - const char* pInReason); - XmlNodeRef ApplyPatchToNode( - const XmlNodeRef& inNode, - const XmlNodeRef& inPatch); - - XmlNodeRef DuplicateForPatching( - const XmlNodeRef& inOrig, - bool inShareChildren); - - bool CompareTags( - const XmlNodeRef& inA, - const XmlNodeRef& inB); - XmlNodeRef GetMatchTag( - const XmlNodeRef& inNode); - XmlNodeRef GetReplaceTag( - const XmlNodeRef& inNode, - bool* outShouldReplaceChildren); - XmlNodeRef GetInsertTag( - const XmlNodeRef& inNode); - XmlNodeRef GetDeleteTag( - const XmlNodeRef& inNode); - XmlNodeRef FindPatchForFile( - const char* pInFileToPatch); - -#if DATA_PATCH_DEBUG - void DumpXMLNodes( - AZ::IO::HandleType inFileHandle, - int inIndent, - const XmlNodeRef& inNode, - AZStd::fixed_string<512>* ioTempString); - void DumpFiles( - const char* pInXMLFileName, - const XmlNodeRef& inBefore, - const XmlNodeRef& inAfter); - void DumpXMLFile( - const char* pInFilePath, - const XmlNodeRef& inNode); -#endif - -public: - CXMLPatcher(XmlNodeRef& patchXML); - ~CXMLPatcher(); - - XmlNodeRef ApplyXMLDataPatch( - const XmlNodeRef& inNode, - const char* pInXMLFileName); -}; - -#endif // CRYINCLUDE_CRYSYSTEM_XML_XMLPATCHER_H diff --git a/Code/Legacy/CrySystem/XML/XmlUtils.cpp b/Code/Legacy/CrySystem/XML/XmlUtils.cpp index 56944eb344..0afa5e19db 100644 --- a/Code/Legacy/CrySystem/XML/XmlUtils.cpp +++ b/Code/Legacy/CrySystem/XML/XmlUtils.cpp @@ -11,7 +11,6 @@ #include #include "xml.h" #include "XmlUtils.h" -#include "ReadWriteXMLSink.h" #include "../SimpleStringPool.h" #include "SerializeXMLReader.h" @@ -20,7 +19,6 @@ #include "XMLBinaryWriter.h" #include "XMLBinaryReader.h" -#include "XMLPatcher.h" #include ////////////////////////////////////////////////////////////////////////// @@ -28,23 +26,14 @@ SXmlNodeStats* g_pCXmlNode_Stats = 0; #endif -extern bool g_bEnableBinaryXmlLoading; - ////////////////////////////////////////////////////////////////////////// CXmlUtils::CXmlUtils(ISystem* pSystem) { m_pSystem = pSystem; - // create IReadWriteXMLSink object - m_pReadWriteXMLSink = new CReadWriteXMLSink(); #ifdef CRY_COLLECT_XML_NODE_STATS g_pCXmlNode_Stats = new SXmlNodeStats(); #endif - m_pStatsXmlNodePool = 0; -#ifndef _RELEASE - m_statsThreadOwner = CryGetCurrentThreadId(); -#endif - m_pXMLPatcher = NULL; } ////////////////////////////////////////////////////////////////////////// @@ -53,8 +42,6 @@ CXmlUtils::~CXmlUtils() #ifdef CRY_COLLECT_XML_NODE_STATS delete g_pCXmlNode_Stats; #endif - SAFE_DELETE(m_pStatsXmlNodePool); - SAFE_DELETE(m_pXMLPatcher); } ////////////////////////////////////////////////////////////////////////// @@ -65,21 +52,13 @@ IXmlParser* CXmlUtils::CreateXmlParser() } ////////////////////////////////////////////////////////////////////////// -XmlNodeRef CXmlUtils::LoadXmlFromFile(const char* sFilename, bool bReuseStrings, bool bEnablePatching) +XmlNodeRef CXmlUtils::LoadXmlFromFile(const char* sFilename, bool bReuseStrings) { - XmlParser parser(bReuseStrings); - XmlNodeRef node = parser.ParseFile(sFilename, true); - // XmlParser is supposed to log warnings and errors (if any), // so we don't need to call parser.getErrorString(), // CryLog() etc here. - - if (node && bEnablePatching && m_pXMLPatcher) - { - node = m_pXMLPatcher->ApplyXMLDataPatch(node, sFilename); - } - - return node; + XmlParser parser(bReuseStrings); + return parser.ParseFile(sFilename, true); } ////////////////////////////////////////////////////////////////////////// @@ -99,29 +78,6 @@ void GetMD5(const char* pSrcBuffer, int nSrcSize, char signatureMD5[16]) MD5Final((unsigned char*)signatureMD5, &md5c); } -////////////////////////////////////////////////////////////////////////// -const char* CXmlUtils::HashXml(XmlNodeRef node) -{ - static char signature[16 * 2 + 1]; - static char temp[16]; - static const char* hex = "0123456789abcdef"; - XmlString str = node->getXML(); - GetMD5(str.data(), static_cast(str.length()), temp); - for (int i = 0; i < 16; i++) - { - signature[2 * i + 0] = hex[((uint8)temp[i]) >> 4]; - signature[2 * i + 1] = hex[((uint8)temp[i]) & 0xf]; - } - signature[16 * 2] = 0; - return signature; -} - -////////////////////////////////////////////////////////////////////////// -IReadWriteXMLSink* CXmlUtils::GetIReadWriteXMLSink() -{ - return m_pReadWriteXMLSink; -} - ////////////////////////////////////////////////////////////////////////// class CXmlSerializer : public IXmlSerializer @@ -172,12 +128,6 @@ public: return m_pReaderSer; } - virtual void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->Add(*this); - pSizer->AddObject(m_pReaderImpl); - pSizer->AddObject(m_pWriterImpl); - } ////////////////////////////////////////////////////////////////////////// private: int m_nRefCount; @@ -194,62 +144,6 @@ IXmlSerializer* CXmlUtils::CreateXmlSerializer() return new CXmlSerializer; } -////////////////////////////////////////////////////////////////////////// -void CXmlUtils::GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) -{ -#ifdef CRY_COLLECT_XML_NODE_STATS - // yes, slow - std::vector rootNodes; - { - TXmlNodeSet::const_iterator iter = g_pCXmlNode_Stats->nodeSet.begin(); - TXmlNodeSet::const_iterator iterEnd = g_pCXmlNode_Stats->nodeSet.end(); - while (iter != iterEnd) - { - const CXmlNode* pNode = *iter; - if (pNode->getParent() == 0) - { - rootNodes.push_back(pNode); - } - ++iter; - } - } - - // use the following to log to console -#if 0 - CryLogAlways("NumXMLRootNodes=%d NumXMLNodes=%d TotalAllocs=%d TotalFrees=%d", - rootNodes.size(), g_pCXmlNode_Stats->nodeSet.size(), - g_pCXmlNode_Stats->nAllocs, g_pCXmlNode_Stats->nFrees); -#endif - - - // use the following to debug the nodes in the system -#if 0 - { - std::vector::const_iterator iter = rootNodes.begin(); - std::vector::const_iterator iterEnd = rootNodes.end(); - while (iter != iterEnd) - { - const CXmlNode* pNode = *iter; - CryLogAlways("Node 0x%p Tag='%s'", pNode, pNode->getTag()); - ++iter; - } - } -#endif - - // only for debugging, add it as pseudo numbers to the CrySizer. - // shift it by 10, so we get the actual number - { - SIZER_COMPONENT_NAME(pSizer, "#NumTotalNodes"); - pSizer->Add("#NumTotalNodes", g_pCXmlNode_Stats->nodeSet.size() << 10); - } - - { - SIZER_COMPONENT_NAME(pSizer, "#NumRootNodes"); - pSizer->Add("#NumRootNodes", rootNodes.size() << 10); - } -#endif -} - ////////////////////////////////////////////////////////////////////////// class CXmlBinaryDataWriterFile : public XMLBinary::IDataWriter @@ -282,49 +176,13 @@ private: AZ::IO::HandleType m_fileHandle; }; -////////////////////////////////////////////////////////////////////////// -bool CXmlUtils::SaveBinaryXmlFile(const char* filename, XmlNodeRef root) -{ - CXmlBinaryDataWriterFile fileSink(filename); - if (!fileSink.IsOk()) - { - return false; - } - XMLBinary::CXMLBinaryWriter writer; - AZStd::string error; - return writer.WriteNode(&fileSink, root, false, 0, error); -} - -////////////////////////////////////////////////////////////////////////// -XmlNodeRef CXmlUtils::LoadBinaryXmlFile(const char* filename, bool bEnablePatching) -{ - XMLBinary::XMLBinaryReader reader; - XMLBinary::XMLBinaryReader::EResult result; - XmlNodeRef root = reader.LoadFromFile(filename, result); - - if (result == XMLBinary::XMLBinaryReader::eResult_Success && bEnablePatching == true && m_pXMLPatcher != NULL) - { - root = m_pXMLPatcher->ApplyXMLDataPatch(root, filename); - } - - return root; -} - -////////////////////////////////////////////////////////////////////////// -bool CXmlUtils::EnableBinaryXmlLoading(bool bEnable) -{ - bool bPrev = g_bEnableBinaryXmlLoading; - g_bEnableBinaryXmlLoading = bEnable; - return bPrev; -} - ////////////////////////////////////////////////////////////////////////// class CXmlTableReader : public IXmlTableReader { public: CXmlTableReader(); - virtual ~CXmlTableReader(); + ~CXmlTableReader() override; virtual void Release(); @@ -332,7 +190,6 @@ public: virtual int GetEstimatedRowCount(); virtual bool ReadRow(int& rowIndex); virtual bool ReadCell(int& columnIndex, const char*& pContent, size_t& contentSize); - float GetCurrentRowHeight() override; private: bool m_bExcel; @@ -341,7 +198,6 @@ private: XmlNodeRef m_rowNode; - float m_currentRowHeight; int m_rowNodeIndex; int m_row; @@ -411,7 +267,6 @@ int CXmlTableReader::GetEstimatedRowCount() ////////////////////////////////////////////////////////////////////////// bool CXmlTableReader::ReadRow(int& rowIndex) { - m_currentRowHeight = 0.0f; if (!m_tableNode) { return false; @@ -459,12 +314,6 @@ bool CXmlTableReader::ReadRow(int& rowIndex) } m_row = index; } - float height; - if (m_rowNode->getAttr("ss:Height", height)) - { - m_currentRowHeight = height; - } - rowIndex = m_row; return true; } @@ -617,75 +466,8 @@ bool CXmlTableReader::ReadCell(int& columnIndex, const char*& pContent, size_t& } } -float CXmlTableReader::GetCurrentRowHeight() -{ - return m_currentRowHeight; -} ////////////////////////////////////////////////////////////////////////// IXmlTableReader* CXmlUtils::CreateXmlTableReader() { return new CXmlTableReader; } - -////////////////////////////////////////////////////////////////////////// -// Init xml stats nodes pool -void CXmlUtils::InitStatsXmlNodePool(uint32 nPoolSize) -{ - CHECK_STATS_THREAD_OWNERSHIP(); - if (0 == m_pStatsXmlNodePool) - { - // create special xml node pools for game statistics - - const bool bReuseStrings = true; // TODO parameterise? - m_pStatsXmlNodePool = new CXmlNodePool(nPoolSize, bReuseStrings); - assert(m_pStatsXmlNodePool); - } - else - { - CryLog("[CXmlNodePool]: Xml stats nodes pool already initialized"); - } -} - -////////////////////////////////////////////////////////////////////////// -// Creates new xml node for statistics. -XmlNodeRef CXmlUtils::CreateStatsXmlNode(const char* sNodeName) -{ - CHECK_STATS_THREAD_OWNERSHIP(); - if (0 == m_pStatsXmlNodePool) - { - CryLog("[CXmlNodePool]: Xml stats nodes pool isn't initialized. Perform default initialization."); - InitStatsXmlNodePool(); - } - return m_pStatsXmlNodePool->GetXmlNode(sNodeName); -} - -void CXmlUtils::SetStatsOwnerThread([[maybe_unused]] threadID threadId) -{ -#ifndef _RELEASE - m_statsThreadOwner = threadId; -#endif -} - -void CXmlUtils::FlushStatsXmlNodePool() -{ - CHECK_STATS_THREAD_OWNERSHIP(); - if (m_pStatsXmlNodePool) - { - if (m_pStatsXmlNodePool->empty()) - { - SAFE_DELETE(m_pStatsXmlNodePool); - } - } -} - -void CXmlUtils::SetXMLPatcher(XmlNodeRef* pPatcher) -{ - SAFE_DELETE(m_pXMLPatcher); - - if (pPatcher != NULL) - { - m_pXMLPatcher = new CXMLPatcher(*pPatcher); - } -} - - diff --git a/Code/Legacy/CrySystem/XML/XmlUtils.h b/Code/Legacy/CrySystem/XML/XmlUtils.h index d81dc4b642..b9d1c87554 100644 --- a/Code/Legacy/CrySystem/XML/XmlUtils.h +++ b/Code/Legacy/CrySystem/XML/XmlUtils.h @@ -20,7 +20,6 @@ #endif class CXmlNodePool; -class CXMLPatcher; ////////////////////////////////////////////////////////////////////////// // Implements IXmlUtils interface. @@ -39,57 +38,17 @@ public: virtual IXmlParser* CreateXmlParser(); // Load xml from file, returns 0 if load failed. - virtual XmlNodeRef LoadXmlFromFile(const char* sFilename, bool bReuseStrings = false, bool bEnablePatching = true); + virtual XmlNodeRef LoadXmlFromFile(const char* sFilename, bool bReuseStrings = false); // Load xml from memory buffer, returns 0 if load failed. virtual XmlNodeRef LoadXmlFromBuffer(const char* buffer, size_t size, bool bReuseStrings = false, bool bSuppressWarnings = false); - // create an MD5 hash of an XML file - virtual const char* HashXml(XmlNodeRef node); - - // Get an object that can read a xml into a IReadXMLSink - // and write a xml from a IWriteXMLSource - virtual IReadWriteXMLSink* GetIReadWriteXMLSink(); - virtual IXmlSerializer* CreateXmlSerializer(); - virtual bool SaveBinaryXmlFile(const char* sFilename, XmlNodeRef root); - virtual XmlNodeRef LoadBinaryXmlFile(const char* sFilename, bool bEnablePatching = true); - - virtual bool EnableBinaryXmlLoading(bool bEnable); - // Create XML Table reader. virtual IXmlTableReader* CreateXmlTableReader(); ////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - virtual void GetMemoryUsage(ICrySizer* pSizer); - - ////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////// - // Init xml stats nodes pool - virtual void InitStatsXmlNodePool(uint32 nPoolSize = 1024*1024); - - // Create new xml node for statistics - virtual XmlNodeRef CreateStatsXmlNode(const char* sNodeName = ""); - - // Set owner thread - virtual void SetStatsOwnerThread(threadID threadId); - - // Free memory if stats xml node pool is empty - virtual void FlushStatsXmlNodePool(); - - // Set the XML Patcher. This is an XML object that modifies named XML files as they are loaded - // EXCEPT for xml files loaded from a buffer, for which names aren't passed in - virtual void SetXMLPatcher(XmlNodeRef* pPatcher); - private: ISystem* m_pSystem; - IReadWriteXMLSink* m_pReadWriteXMLSink; - CXmlNodePool* m_pStatsXmlNodePool; - CXMLPatcher* m_pXMLPatcher; //If set, applies data patches to any XML file that is loaded by this class -#ifndef _RELEASE - threadID m_statsThreadOwner; -#endif }; #endif // CRYINCLUDE_CRYSYSTEM_XML_XMLUTILS_H diff --git a/Code/Legacy/CrySystem/XML/xml.cpp b/Code/Legacy/CrySystem/XML/xml.cpp index cc3ea7f820..b1f18142f1 100644 --- a/Code/Legacy/CrySystem/XML/xml.cpp +++ b/Code/Legacy/CrySystem/XML/xml.cpp @@ -9,8 +9,6 @@ #include "CrySystem_precompiled.h" -//#define _CRT_SECURE_NO_DEPRECATE 1 -//#define _CRT_NONSTDC_NO_DEPRECATE #include #define XML_STATIC // Alternative to defining this here would be setting it project-wide @@ -19,6 +17,7 @@ #include #include #include +#include #include "XMLBinaryReader.h" #define FLOAT_FMT "%.8g" @@ -77,7 +76,6 @@ static int __cdecl ascii_stricmp(const char* dst, const char* src) ////////////////////////////////////////////////////////////////////////// XmlStrCmpFunc g_pXmlStrCmp = &ascii_stricmp; -bool g_bEnableBinaryXmlLoading = true; ////////////////////////////////////////////////////////////////////////// class CXmlStringData @@ -113,10 +111,6 @@ public: void Clear() { m_stringPool.Clear(); } void SetBlockSize(unsigned int nBlockSize) { m_stringPool.SetBlockSize(nBlockSize); } - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(m_stringPool); - } private: CSimpleStringPool m_stringPool; }; @@ -174,23 +168,6 @@ CXmlNode::CXmlNode(const char* tag, bool bReuseStrings, bool bIsProcessingInstru m_tag = m_pStringPool->AddString(tag); } -////////////////////////////////////////////////////////////////////////// -// collect allocated memory informations -void CXmlNode::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_pStringPool); - - if (m_pChilds) - { - pSizer->AddObject(*m_pChilds); - } - if (m_pAttributes) - { - pSizer->AddContainer(*m_pAttributes); - } -} - ////////////////////////////////////////////////////////////////////////// XmlNodeRef CXmlNode::createNode(const char* tag) { @@ -378,13 +355,6 @@ void CXmlNode::setAttr(const char* key, const Vec4& value) setAttr(key, str); } -void CXmlNode::setAttr(const char* key, const Vec3d& value) -{ - char str[128]; - SCOPED_LOCALE_RESETTER; - sprintf_s(str, DOUBLE_FMT "," DOUBLE_FMT "," DOUBLE_FMT, value.x, value.y, value.z); - setAttr(key, str); -} void CXmlNode::setAttr(const char* key, const Vec2& value) { char str[128]; @@ -392,13 +362,6 @@ void CXmlNode::setAttr(const char* key, const Vec2& value) sprintf_s(str, FLOAT_FMT "," FLOAT_FMT, value.x, value.y); setAttr(key, str); } -void CXmlNode::setAttr(const char* key, const Vec2d& value) -{ - char str[128]; - SCOPED_LOCALE_RESETTER; - sprintf_s(str, DOUBLE_FMT "," DOUBLE_FMT, value.x, value.y); - setAttr(key, str); -} void CXmlNode::setAttr(const char* key, const Quat& value) { @@ -557,22 +520,6 @@ bool CXmlNode::getAttr(const char* key, Vec4& value) const return false; } -bool CXmlNode::getAttr(const char* key, Vec3d& value) const -{ - const char* svalue = GetValue(key); - if (svalue) - { - SCOPED_LOCALE_RESETTER; - double x, y, z; - if (azsscanf(svalue, "%lf,%lf,%lf", &x, &y, &z) == 3) - { - value = Vec3d(x, y, z); - return true; - } - } - return false; -} - ////////////////////////////////////////////////////////////////////////// bool CXmlNode::getAttr(const char* key, Vec2& value) const { @@ -590,22 +537,6 @@ bool CXmlNode::getAttr(const char* key, Vec2& value) const return false; } -bool CXmlNode::getAttr(const char* key, Vec2d& value) const -{ - const char* svalue = GetValue(key); - if (svalue) - { - SCOPED_LOCALE_RESETTER; - double x, y; - if (azsscanf(svalue, "%lf,%lf", &x, &y) == 2) - { - value = Vec2d(x, y); - return true; - } - } - return false; -} - ////////////////////////////////////////////////////////////////////////// bool CXmlNode::getAttr(const char* key, Quat& value) const { @@ -1369,14 +1300,6 @@ public: // Add new string to pool. const char* AddString(const char* str) { return m_stringPool.Append(str, (int)strlen(str)); } - //char* AddString( const char *str ) { return (char*)str; } - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_stringPool); - pSizer->AddObject(m_nodeStack); - } protected: void onStartElement(const char* tagName, const char** atts); void onEndElement(const char* tagName); @@ -1410,12 +1333,6 @@ protected: { XmlNodeRef node; std::vector childs; //TODO: is it worth lazily initializing this, like CXmlNode::m_pChilds? - - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(node); - pSizer->AddObject(childs); - } }; // First node will become root node. @@ -1735,38 +1652,35 @@ XmlNodeRef XmlParserImp::ParseFile(const char* filename, XmlString& errorString, AZStd::replace(pakPath.begin(), pakPath.end(), '\\', '/'); } - if (g_bEnableBinaryXmlLoading) + XMLBinary::XMLBinaryReader reader; + XMLBinary::XMLBinaryReader::EResult result; + root = reader.LoadFromBuffer(XMLBinary::XMLBinaryReader::eBufferMemoryHandling_TakeOwnership, pFileContents, fileSize, result); + if (root) { - XMLBinary::XMLBinaryReader reader; - XMLBinary::XMLBinaryReader::EResult result; - root = reader.LoadFromBuffer(XMLBinary::XMLBinaryReader::eBufferMemoryHandling_TakeOwnership, pFileContents, fileSize, result); - if (root) + return root; + } + if (result != XMLBinary::XMLBinaryReader::eResult_NotBinXml) + { + delete [] pFileContents; + sprintf_s(str, "%s%s (%s)", errorPrefix, reader.GetErrorDescription(), filename); + errorString = str; + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "%s", str); + return 0; + } + else + { + // not binary XML - refuse to load if in scripts dir and not in bin xml to help reduce hacking + // wish we could compile the text xml parser out, but too much work to get everything moved over + constexpr AZStd::fixed_string<32> strScripts{"Scripts/"}; + // exclude files and PAKs from Mods folder + constexpr AZStd::fixed_string<8> modsStr{"Mods/"}; + if (_strnicmp(filename, strScripts.c_str(), strScripts.length()) == 0 && + _strnicmp(adjustedFilename.c_str(), modsStr.c_str(), modsStr.length()) != 0 && + _strnicmp(pakPath.c_str(), modsStr.c_str(), modsStr.length()) != 0) { - return root; - } - if (result != XMLBinary::XMLBinaryReader::eResult_NotBinXml) - { - delete [] pFileContents; - sprintf_s(str, "%s%s (%s)", errorPrefix, reader.GetErrorDescription(), filename); - errorString = str; - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "%s", str); - return 0; - } - else - { - // not binary XML - refuse to load if in scripts dir and not in bin xml to help reduce hacking - // wish we could compile the text xml parser out, but too much work to get everything moved over - constexpr AZStd::fixed_string<32> strScripts{"Scripts/"}; - // exclude files and PAKs from Mods folder - constexpr AZStd::fixed_string<8> modsStr{"Mods/"}; - if (_strnicmp(filename, strScripts.c_str(), strScripts.length()) == 0 && - _strnicmp(adjustedFilename.c_str(), modsStr.c_str(), modsStr.length()) != 0 && - _strnicmp(pakPath.c_str(), modsStr.c_str(), modsStr.length()) != 0) - { #ifdef _RELEASE CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "Non binary XML found in scripts dir (%s)", filename); #endif - } } } @@ -1806,12 +1720,6 @@ XmlParser::~XmlParser() m_pImpl->Release(); } -void XmlParser::GetMemoryUsage(ICrySizer* pSizer) const -{ - pSizer->AddObject(this, sizeof(*this)); - pSizer->AddObject(m_pImpl); -} - ////////////////////////////////////////////////////////////////////////// XmlNodeRef XmlParser::ParseBuffer(const char* buffer, int nBufLen, bool bCleanPools, bool bSuppressWarnings) { diff --git a/Code/Legacy/CrySystem/XML/xml.h b/Code/Legacy/CrySystem/XML/xml.h index 912767eae7..f4bf6b2969 100644 --- a/Code/Legacy/CrySystem/XML/xml.h +++ b/Code/Legacy/CrySystem/XML/xml.h @@ -34,7 +34,6 @@ public: } }; virtual const char* AddString(const char* str) = 0; - virtual void GetMemoryUsage(ICrySizer* pSizer) const = 0; private: int m_refCount; }; @@ -68,8 +67,6 @@ public: const char* getErrorString() const { return m_errorString; } - void GetMemoryUsage(ICrySizer* pSizer) const; - private: int m_nRefCount; XmlString m_errorString; @@ -88,8 +85,6 @@ struct XmlAttribute const char* key; const char* value; - void GetMemoryUsage([[maybe_unused]] ICrySizer* pSizer) const{} - bool operator<(const XmlAttribute& attr) const { return g_pXmlStrCmp(key, attr.key) < 0; } bool operator>(const XmlAttribute& attr) const { return g_pXmlStrCmp(key, attr.key) > 0; } bool operator==(const XmlAttribute& attr) const { return g_pXmlStrCmp(key, attr.key) == 0; } @@ -119,9 +114,6 @@ public: //! Destructor. ~CXmlNode(); - // collect allocated memory informations - void GetMemoryUsage(ICrySizer* pSizer) const; - ////////////////////////////////////////////////////////////////////////// // Custom new/delete with pool allocator. ////////////////////////////////////////////////////////////////////////// @@ -219,11 +211,9 @@ public: void setAttr(const char* key, float value); void setAttr(const char* key, double value); void setAttr(const char* key, const Vec2& value); - void setAttr(const char* key, const Vec2d& value); void setAttr(const char* key, const Ang3& value); void setAttr(const char* key, const Vec3& value); void setAttr(const char* key, const Vec4& value); - void setAttr(const char* key, const Vec3d& value); void setAttr(const char* key, const Quat& value); //! Delete attrbute. @@ -243,11 +233,9 @@ public: bool getAttr(const char* key, XmlString& value) const {const char* v(NULL); bool boHasAttribute(getAttr(key, &v)); value = v; return boHasAttribute; } bool getAttr(const char* key, Vec2& value) const; - bool getAttr(const char* key, Vec2d& value) const; bool getAttr(const char* key, Ang3& value) const; bool getAttr(const char* key, Vec3& value) const; bool getAttr(const char* key, Vec4& value) const; - bool getAttr(const char* key, Vec3d& value) const; bool getAttr(const char* key, Quat& value) const; bool getAttr(const char* key, ColorB& value) const; diff --git a/Code/Legacy/CrySystem/XML/xml_string.h b/Code/Legacy/CrySystem/XML/xml_string.h deleted file mode 100644 index 5973143509..0000000000 --- a/Code/Legacy/CrySystem/XML/xml_string.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#ifndef CRYINCLUDE_CRYSYSTEM_XML_XML_STRING_H -#define CRYINCLUDE_CRYSYSTEM_XML_XML_STRING_H -#pragma once - - -typedef string xml_string; - -#endif // CRYINCLUDE_CRYSYSTEM_XML_XML_STRING_H diff --git a/Code/Legacy/CrySystem/crysystem_files.cmake b/Code/Legacy/CrySystem/crysystem_files.cmake index ac0fd7989c..fc923705f2 100644 --- a/Code/Legacy/CrySystem/crysystem_files.cmake +++ b/Code/Legacy/CrySystem/crysystem_files.cmake @@ -23,7 +23,6 @@ set(FILES Timer.cpp XConsole.cpp XConsoleVariable.cpp - XML/ReadWriteXMLSink.h AZCrySystemInitLogSink.h AZCoreLogSink.h CmdLine.h @@ -36,7 +35,6 @@ set(FILES SimpleStringPool.h CrySystem_precompiled.h System.h - SystemCFG.h SystemEventDispatcher.h Timer.h XConsole.h @@ -44,16 +42,11 @@ set(FILES XML/SerializeXMLReader.cpp XML/SerializeXMLWriter.cpp XML/xml.cpp - XML/XMLPatcher.cpp XML/XmlUtils.cpp XML/SerializeXMLReader.h XML/SerializeXMLWriter.h XML/xml.h - XML/XMLPatcher.h - XML/xml_string.h XML/XmlUtils.h - XML/ReadXMLSink.cpp - XML/WriteXMLSource.cpp LocalizedStringManager.cpp LocalizedStringManager.h Huffman.cpp diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json index 2c6bbd2282..52b242ba4a 100644 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json @@ -33,6 +33,7 @@ { "idiom" : "mac", "size" : "256x256", + "filename" : "icon_256x256.png", "scale" : "1x" }, { @@ -43,7 +44,6 @@ { "size" : "512x512", "idiom" : "mac", - "filename" : "icon_512x512.png", "scale" : "1x" }, { diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png new file mode 100644 index 0000000000..50610c7ff4 --- /dev/null +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f16c891aaa1686a3735fe84c7a69c3cef24e68af7baa86bf2f54ab4d51b71e8 +size 8489 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png deleted file mode 100644 index 99123c81ee..0000000000 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a396a13d3bc7ca074cdc6fdd072ba18c2e359bd24408783809b6c90adf23e22a -size 21937 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json index 2c6bbd2282..52b242ba4a 100644 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json @@ -33,6 +33,7 @@ { "idiom" : "mac", "size" : "256x256", + "filename" : "icon_256x256.png", "scale" : "1x" }, { @@ -43,7 +44,6 @@ { "size" : "512x512", "idiom" : "mac", - "filename" : "icon_512x512.png", "scale" : "1x" }, { diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png new file mode 100644 index 0000000000..50610c7ff4 --- /dev/null +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f16c891aaa1686a3735fe84c7a69c3cef24e68af7baa86bf2f54ab4d51b71e8 +size 8489 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png deleted file mode 100644 index 99123c81ee..0000000000 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a396a13d3bc7ca074cdc6fdd072ba18c2e359bd24408783809b6c90adf23e22a -size 21937 diff --git a/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp b/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp index 9e0ea304ef..a1bcc1ec5f 100644 --- a/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp +++ b/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp @@ -278,7 +278,7 @@ static void *thread_logger_func(void*) --readSize; } logBuffer[readSize] = '\0'; - ((void) __android_log_print(ANDROID_LOG_INFO, s_logTag, logBuffer)); + ((void) __android_log_print(ANDROID_LOG_INFO, s_logTag, "%s", logBuffer)); } } return 0; diff --git a/Code/Tools/TestImpactFramework/Frontend/Console/Code/CMakeLists.txt b/Code/Tools/TestImpactFramework/Frontend/Console/Code/CMakeLists.txt index 1aed0aadc6..9c1ccb2255 100644 --- a/Code/Tools/TestImpactFramework/Frontend/Console/Code/CMakeLists.txt +++ b/Code/Tools/TestImpactFramework/Frontend/Console/Code/CMakeLists.txt @@ -6,6 +6,10 @@ # # +if(LY_MONOLITHIC_GAME) + return() +endif() + ly_add_target( NAME TestImpact.Frontend.Console.Static STATIC NAMESPACE AZ diff --git a/Code/Tools/TestImpactFramework/Frontend/Console/Code/Source/TestImpactCommandLineOptions.cpp b/Code/Tools/TestImpactFramework/Frontend/Console/Code/Source/TestImpactCommandLineOptions.cpp index 0d1f352f21..1bd57e49aa 100644 --- a/Code/Tools/TestImpactFramework/Frontend/Console/Code/Source/TestImpactCommandLineOptions.cpp +++ b/Code/Tools/TestImpactFramework/Frontend/Console/Code/Source/TestImpactCommandLineOptions.cpp @@ -266,7 +266,8 @@ namespace TestImpact { { SuiteTypeAsString(SuiteType::Main), SuiteType::Main }, { SuiteTypeAsString(SuiteType::Periodic), SuiteType::Periodic }, - { SuiteTypeAsString(SuiteType::Sandbox), SuiteType::Sandbox } + { SuiteTypeAsString(SuiteType::Sandbox), SuiteType::Sandbox }, + { SuiteTypeAsString(SuiteType::AWSI), SuiteType::AWSI } }; return ParseMultiStateOption(OptionKeys[SuiteFilterKey], states, cmd).value_or(SuiteType::Main); @@ -472,7 +473,7 @@ namespace TestImpact " available, no prioritization will occur).\n" " -maxconcurrency= The maximum number of concurrent test targets/shards to be in flight at \n" " any given moment.\n" - " -suite= The test suite to select from for this test sequence."; + " -suite= The test suite to select from for this test sequence."; return help; } diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactTestSequence.h b/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactTestSequence.h index 38b716398c..0a62b7a004 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactTestSequence.h +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactTestSequence.h @@ -30,7 +30,8 @@ namespace TestImpact { Main = 0, Periodic, - Sandbox + Sandbox, + AWSI }; //! Result of a test sequence that was run. diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestImpactUtils.cpp b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestImpactUtils.cpp index 993aee9af5..3f6c9dafd4 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestImpactUtils.cpp +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestImpactUtils.cpp @@ -53,6 +53,8 @@ namespace TestImpact return "periodic"; case SuiteType::Sandbox: return "sandbox"; + case SuiteType::AWSI: + return "awsi"; default: throw(Exception("Unexpected suite type")); } diff --git a/Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzerSystemComponent.cpp b/Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzerSystemComponent.cpp index bc9763496c..bf03342149 100644 --- a/Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzerSystemComponent.cpp +++ b/Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzerSystemComponent.cpp @@ -30,17 +30,16 @@ namespace AssetMemoryAnalyzer if (customFilename) { - azsnprintf(sharedBuffer, sizeof(sharedBuffer), "@log@/%s", customFilename); + azsnprintf(sharedBuffer, AZ_ARRAY_SIZE(sharedBuffer), "@log@/%s", customFilename); } else { - char timestampBuffer[64]; time_t ltime; time(<ime); struct tm timeInfo; AZ_TRAIT_CTIME_LOCALTIME(&timeInfo, <ime); - strftime(timestampBuffer, sizeof(timestampBuffer), "@log@/assetmem-%Y-%m-%d-%H-%M-%S.%%s", &timeInfo); - azsnprintf(sharedBuffer, sizeof(sharedBuffer), timestampBuffer, extension); + strftime(sharedBuffer, AZ_ARRAY_SIZE(sharedBuffer), "@log@/assetmem-%Y-%m-%d-%H-%M-%S.", &timeInfo); + azstrcat(sharedBuffer, AZ_ARRAY_SIZE(sharedBuffer), extension); } return sharedBuffer; diff --git a/Gems/AssetMemoryAnalyzer/Code/Source/DebugImGUI.cpp b/Gems/AssetMemoryAnalyzer/Code/Source/DebugImGUI.cpp index aecac5fa34..c9c123cf70 100644 --- a/Gems/AssetMemoryAnalyzer/Code/Source/DebugImGUI.cpp +++ b/Gems/AssetMemoryAnalyzer/Code/Source/DebugImGUI.cpp @@ -200,7 +200,7 @@ namespace AssetMemoryAnalyzer switch (ap->m_codePoint->m_category) { case AllocationCategories::HEAP: - ImGui::Text(FormatUtils::FormatCodePoint(*ap->m_codePoint)); + ImGui::Text("%s", FormatUtils::FormatCodePoint(*ap->m_codePoint)); heapSummary.m_allocationCount = static_cast(ap->m_allocations.size()); heapSummary.m_allocatedMemory = ap->m_totalAllocatedMemory; break; @@ -247,7 +247,7 @@ namespace AssetMemoryAnalyzer { if (text) { - ImGui::Text(text); + ImGui::Text("%s", text); ImGui::SameLine(); } diff --git a/Gems/Atom/Feature/Common/Code/CMakeLists.txt b/Gems/Atom/Feature/Common/Code/CMakeLists.txt index 8ed02f2c2f..b8c414dcc6 100644 --- a/Gems/Atom/Feature/Common/Code/CMakeLists.txt +++ b/Gems/Atom/Feature/Common/Code/CMakeLists.txt @@ -39,7 +39,7 @@ ly_add_target( Gem::Atom_Utils.Static Gem::Atom_Feature_Common.Public Gem::ImGui.imguilib - 3rdParty::lux_core + #3rdParty::lux_core # AZ_TRAIT_LUXCORE_SUPPORTED is disabled in every platform, Issue #3915 will remove ) ly_add_target( @@ -87,7 +87,7 @@ ly_add_target( AZ::AzFramework Gem::Atom_Feature_Common.Static Gem::Atom_Feature_Common.Public - 3rdParty::lux_core + #3rdParty::lux_core # AZ_TRAIT_LUXCORE_SUPPORTED is disabled in every platform, Issue #3915 will remove ) if(PAL_TRAIT_BUILD_HOST_TOOLS) diff --git a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp index f52d9fe37c..67702a8176 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp @@ -425,6 +425,7 @@ namespace AZ if (meshHandle.IsValid()) { meshHandle->SetVisible(visible); + SetRayTracingEnabled(meshHandle, visible); } } @@ -696,8 +697,13 @@ namespace AZ void MeshDataInstance::SetRayTracingData() { + if (!m_model) + { + return; + } + RayTracingFeatureProcessor* rayTracingFeatureProcessor = m_scene->GetFeatureProcessor(); - if (rayTracingFeatureProcessor == nullptr) + if (!rayTracingFeatureProcessor) { return; } diff --git a/Gems/Atom/Feature/Common/Code/Source/Platform/Windows/platform_windows.cmake b/Gems/Atom/Feature/Common/Code/Source/Platform/Windows/platform_windows.cmake index b74260a5de..ecdc7d59ab 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Platform/Windows/platform_windows.cmake +++ b/Gems/Atom/Feature/Common/Code/Source/Platform/Windows/platform_windows.cmake @@ -6,6 +6,10 @@ # # +if(LY_MONOLITHIC_GAME) # Do not use OpenImageIO in monolithic game + return() +endif() + set(LY_BUILD_DEPENDENCIES PRIVATE 3rdParty::OpenImageIO diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp index 4e84187165..af17e3a1da 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp @@ -115,10 +115,13 @@ namespace AZ AZ_Assert(m_shaderResourceGroup, "RayTracingPass [%s]: Failed to create RayTracingGlobalSrg", GetPathName().GetCStr()); RPI::PassUtils::BindDataMappingsToSrg(m_passDescriptor, m_shaderResourceGroup.get()); - // check to see if the shader requires the View and RayTracingMaterial Srgs + // check to see if the shader requires the View, Scene, or RayTracingMaterial Srgs const auto& viewSrgLayout = m_rayGenerationShader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::View); m_requiresViewSrg = (viewSrgLayout != nullptr); + const auto& sceneSrgLayout = m_rayGenerationShader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Scene); + m_requiresSceneSrg = (sceneSrgLayout != nullptr); + const auto& rayTracingMaterialSrgLayout = m_rayGenerationShader->FindShaderResourceGroupLayout(RayTracingMaterialSrgBindingSlot); m_requiresRayTracingMaterialSrg = (rayTracingMaterialSrgLayout != nullptr); @@ -324,6 +327,11 @@ namespace AZ } } + if (m_requiresSceneSrg) + { + shaderResourceGroups.push_back(scene->GetShaderResourceGroup()->GetRHIShaderResourceGroup()); + } + if (m_requiresRayTracingMaterialSrg) { shaderResourceGroups.push_back(rayTracingFeatureProcessor->GetRayTracingMaterialSrg()->GetRHIShaderResourceGroup()); diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.h b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.h index 5eafa5b2f4..6ef97e0f10 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.h @@ -72,6 +72,7 @@ namespace AZ RHI::ConstPtr m_globalPipelineState; RHI::Ptr m_rayTracingShaderTable; bool m_requiresViewSrg = false; + bool m_requiresSceneSrg = false; bool m_requiresRayTracingMaterialSrg = false; }; } // namespace RPI diff --git a/Gems/Atom/RHI/3rdParty/Findrenderdoc.cmake b/Gems/Atom/RHI/3rdParty/Findrenderdoc.cmake new file mode 100644 index 0000000000..f8f17392b3 --- /dev/null +++ b/Gems/Atom/RHI/3rdParty/Findrenderdoc.cmake @@ -0,0 +1,15 @@ +# +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# +# + +ly_add_external_target( + NAME renderdoc + 3RDPARTY_ROOT_DIRECTORY "${LY_RENDERDOC_PATH}" + VERSION + INCLUDE_DIRECTORIES . + COMPILE_DEFINITIONS USE_RENDERDOC +) diff --git a/Gems/Atom/RHI/Code/Platform/AppleTV/AtomRHITests_traits_appletv.cmake b/Gems/Atom/RHI/3rdParty/Platform/Linux/renderdoc_linux.cmake similarity index 69% rename from Gems/Atom/RHI/Code/Platform/AppleTV/AtomRHITests_traits_appletv.cmake rename to Gems/Atom/RHI/3rdParty/Platform/Linux/renderdoc_linux.cmake index 1aeb95c7b1..a74d250901 100644 --- a/Gems/Atom/RHI/Code/Platform/AppleTV/AtomRHITests_traits_appletv.cmake +++ b/Gems/Atom/RHI/3rdParty/Platform/Linux/renderdoc_linux.cmake @@ -6,5 +6,4 @@ # # -set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_TEST FALSE) -set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_EDIT FALSE) +set(RENDERDOC_RUNTIME_DEPENDENCIES "${BASE_PATH}/librenderdoc.so") diff --git a/Gems/Atom/RHI/3rdParty/Platform/Windows/renderdoc_windows.cmake b/Gems/Atom/RHI/3rdParty/Platform/Windows/renderdoc_windows.cmake new file mode 100644 index 0000000000..559863ca07 --- /dev/null +++ b/Gems/Atom/RHI/3rdParty/Platform/Windows/renderdoc_windows.cmake @@ -0,0 +1,9 @@ +# +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# +# + +set(RENDERDOC_RUNTIME_DEPENDENCIES "${BASE_PATH}/renderdoc.dll") diff --git a/Gems/Atom/RHI/CMakeLists.txt b/Gems/Atom/RHI/CMakeLists.txt index 28a3e1ad7d..074f6acfd7 100644 --- a/Gems/Atom/RHI/CMakeLists.txt +++ b/Gems/Atom/RHI/CMakeLists.txt @@ -6,6 +6,8 @@ # # +ly_add_external_target_path(${CMAKE_CURRENT_LIST_DIR}/3rdParty) + add_subdirectory(Code) add_subdirectory(DX12) add_subdirectory(Metal) diff --git a/Gems/Atom/RHI/Code/CMakeLists.txt b/Gems/Atom/RHI/Code/CMakeLists.txt index 343736ff7c..879fc7d2ce 100644 --- a/Gems/Atom/RHI/Code/CMakeLists.txt +++ b/Gems/Atom/RHI/Code/CMakeLists.txt @@ -11,19 +11,11 @@ ly_get_list_relative_pal_filename(pal_source_dir ${CMAKE_CURRENT_LIST_DIR}/Sourc include(${pal_dir}/AtomRHITests_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) -set(LY_RENDERDOC_ENABLED OFF CACHE BOOL "Enable RenderDoc integration.") -set(RENDERDOC_CMAKE ${CMAKE_CURRENT_SOURCE_DIR}/${pal_dir}/renderdoc_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) -if(EXISTS ${RENDERDOC_CMAKE}) - include(${RENDERDOC_CMAKE}) -endif() - -if(LY_RENDERDOC_ENABLED AND TARGET "3rdParty::renderdoc") - message(STATUS "Renderdoc found, adding as runtime dependency") - set(USE_RENDERDOC_DEFINE "USE_RENDERDOC") - set(RENDERDOC_BUILD_DEPENDENCY "3rdParty::renderdoc") -else() - set(USE_RENDERDOC_DEFINE "") - set(RENDERDOC_BUILD_DEPENDENCY "") +if(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED) + set(LY_RENDERDOC_ENABLED OFF CACHE BOOL "Enable RenderDoc integration. Use LY_RENDERDOC_PATH to specific the path to RenderDoc.") + if(LY_RENDERDOC_ENABLED) + set(RENDERDOC_DEPENDENCY 3rdParty::renderdoc) + endif() endif() ly_add_target( @@ -62,10 +54,10 @@ ly_add_target( AZ::AzFramework Gem::Atom_RHI.Reflect PUBLIC - ${RENDERDOC_BUILD_DEPENDENCY} + ${RENDERDOC_DEPENDENCY} COMPILE_DEFINITIONS PUBLIC - ${USE_RENDERDOC_DEFINE} + ${RENDERDOC_DEFINE} ) ly_add_target( diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI/PipelineLibrary.h b/Gems/Atom/RHI/Code/Include/Atom/RHI/PipelineLibrary.h index 0c5cfd1182..3a49b121cd 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI/PipelineLibrary.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI/PipelineLibrary.h @@ -19,25 +19,24 @@ namespace AZ /// A handle typed to the pipeline library. Used by the PipelineStateCache to abstract access. using PipelineLibraryHandle = Handle; - /** - * PipelineState initialization is an expensive operation on certain platforms. If multiple pipeline states - * are created with little variation between them, the contents are still duplicated. This class is an allocation - * context for pipeline states, provided at PipelineState::Init, which will perform de-duplication of - * internal pipeline state components and cache the results. - * - * Practically speaking, if many pipeline states are created with shared data between them (e.g. permutations - * of the same shader), then providing a PipelineLibrary instance will reduce the memory footprint and cost - * of compilation. - * - * Additionally, the PipelineLibrary is able to serialize the internal driver-contents to and from an opaque - * data blob. This enables building up a pipeline state cache on disk, which can dramatically reduce pipeline - * state compilation cost when run from a pre-warmed cache. - * - * PipelineLibrary is thread-safe, in the sense that it will take a lock during compilation. It is possible - * to initialize pipeline states across threads using the same PipelineLibrary instance, but this will - * result in the two calls serializing on the mutex. Instead, see PipelineStateCache which stores - * a PipelineLibrary instance per thread to avoid this contention. - */ + + //! PipelineState initialization is an expensive operation on certain platforms. If multiple pipeline states + //! are created with little variation between them, the contents are still duplicated. This class is an allocation + //! context for pipeline states, provided at PipelineState::Init, which will perform de-duplication of + //! internal pipeline state components and cache the results. + //! + //! Practically speaking, if many pipeline states are created with shared data between them (e.g. permutations + //! of the same shader), then providing a PipelineLibrary instance will reduce the memory footprint and cost + //! of compilation. + //! + //! Additionally, the PipelineLibrary is able to serialize the internal driver-contents to and from an opaque + //! data blob. This enables building up a pipeline state cache on disk, which can dramatically reduce pipeline + //! state compilation cost when run from a pre-warmed cache. + //! + //! PipelineLibrary is thread-safe, in the sense that it will take a lock during compilation. It is possible + //! to initialize pipeline states across threads using the same PipelineLibrary instance, but this will + //! result in the two calls serializing on the mutex. Instead, see PipelineStateCache which stores + //! a PipelineLibrary instance per thread to avoid this contention. class PipelineLibrary : public DeviceObject { @@ -45,34 +44,31 @@ namespace AZ AZ_RTTI(PipelineLibrary, "{843579BE-57E4-4527-AB00-C0217885AEA9}"); virtual ~PipelineLibrary() = default; - /** - * Initializes the pipeline library from a platform-specific data payload. This data is generated - * by calling GetSerializedData in a previous run of the application. When run for the first - * time, the serialized data should be empty. When the application completes, the library can be - * serialized and the contents saved to disk. Subsequent loads will experience much faster pipeline - * state creation times (on supported platforms). On success, the library is transitioned to the - * initialized state. On failure, the library remains uninitialized. - * @param serializedData The initial serialized data used to initialize the library. It can be null. - */ + //! Initializes the pipeline library from a platform-specific data payload. This data is generated + //! by calling GetSerializedData in a previous run of the application. When run for the first + //! time, the serialized data should be empty. When the application completes, the library can be + //! serialized and the contents saved to disk. Subsequent loads will experience much faster pipeline + //! state creation times (on supported platforms). On success, the library is transitioned to the + //! initialized state. On failure, the library remains uninitialized. + //! @param serializedData The initial serialized data used to initialize the library. It can be null. ResultCode Init(Device& device, const PipelineLibraryData* serializedData); - /** - * Merges the contents of other libraries into this library. This method must be called - * on an initialized library. A common use case for this method is to construct thread-local - * libraries and merge them into a single unified library. The serialized data can then be - * extracted from the unified library. An error code is returned on failure and the behavior - * is as if the method was never called. - */ + //! Merges the contents of other libraries into this library. This method must be called + //! on an initialized library. A common use case for this method is to construct thread-local + //! libraries and merge them into a single unified library. The serialized data can then be + //! extracted from the unified library. An error code is returned on failure and the behavior + //! is as if the method was never called. ResultCode MergeInto(AZStd::array_view librariesToMerge); - /** - * Serializes the platform-specific data and returns it as a new PipelineLibraryData instance. - * The data is opaque to the user and can only be used to re-initialize the library. Use - * this method to extract serialized data prior to application shutdown, save it to disk, and - * use it when initializing on subsequent runs. - */ + //! Serializes the platform-specific data and returns it as a new PipelineLibraryData instance. + //! The data is opaque to the user and can only be used to re-initialize the library. Use + //! this method to extract serialized data prior to application shutdown, save it to disk, and + //! use it when initializing on subsequent runs. ConstPtr GetSerializedData() const; + //! Returns whether the current library need to be merged + virtual bool IsMergeRequired() const; + private: bool ValidateIsInitialized() const; diff --git a/Gems/Atom/RHI/Code/Platform/Android/AtomRHITests_traits_android.cmake b/Gems/Atom/RHI/Code/Platform/Android/AtomRHITests_traits_android.cmake index 1aeb95c7b1..5b77ec1593 100644 --- a/Gems/Atom/RHI/Code/Platform/Android/AtomRHITests_traits_android.cmake +++ b/Gems/Atom/RHI/Code/Platform/Android/AtomRHITests_traits_android.cmake @@ -8,3 +8,4 @@ set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_TEST FALSE) set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_EDIT FALSE) +set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED FALSE) diff --git a/Gems/Atom/RHI/Code/Platform/Linux/AtomRHITests_traits_linux.cmake b/Gems/Atom/RHI/Code/Platform/Linux/AtomRHITests_traits_linux.cmake index 64d44f1648..5379a47e49 100644 --- a/Gems/Atom/RHI/Code/Platform/Linux/AtomRHITests_traits_linux.cmake +++ b/Gems/Atom/RHI/Code/Platform/Linux/AtomRHITests_traits_linux.cmake @@ -8,3 +8,9 @@ set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_TEST FALSE) set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_EDIT TRUE) +if(LY_MONOLITHIC_GAME) + set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED FALSE) +else() + set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED TRUE) +endif() +set(LY_RENDERDOC_PATH "/usr/local" CACHE PATH "Path to RenderDoc.") diff --git a/Gems/Atom/RHI/Code/Platform/Linux/renderdoc_linux.cmake b/Gems/Atom/RHI/Code/Platform/Linux/renderdoc_linux.cmake deleted file mode 100644 index 222a3d5768..0000000000 --- a/Gems/Atom/RHI/Code/Platform/Linux/renderdoc_linux.cmake +++ /dev/null @@ -1,29 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -# Prevent bundling the renderdoc dll with a packaged title -if(NOT LY_MONOLITHIC_GAME) - if(DEFINED ENV{"ATOM_RENDERDOC_PATH"}) - set(RENDERDOC_PATH ENV{"ATOM_RENDERDOC_PATH"}) - endif() - - if(RENDERDOC_PATH) - # Normalize file path - file(TO_CMAKE_PATH "${RENDERDOC_PATH}" RENDERDOC_PATH) - - if(EXISTS "${RENDERDOC_PATH}/librenderdoc.so") - ly_add_external_target( - NAME renderdoc - VERSION - 3RDPARTY_ROOT_DIRECTORY ${RENDERDOC_PATH} - INCLUDE_DIRECTORIES "." - RUNTIME_DEPENDENCIES "${RENDERDOC_PATH}/librenderdoc.so" - ) - endif() - endif() -endif() \ No newline at end of file diff --git a/Gems/Atom/RHI/Code/Platform/Mac/AtomRHITests_traits_mac.cmake b/Gems/Atom/RHI/Code/Platform/Mac/AtomRHITests_traits_mac.cmake index a5f701c3cf..419331db3b 100644 --- a/Gems/Atom/RHI/Code/Platform/Mac/AtomRHITests_traits_mac.cmake +++ b/Gems/Atom/RHI/Code/Platform/Mac/AtomRHITests_traits_mac.cmake @@ -8,3 +8,4 @@ set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_TEST TRUE) set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_EDIT TRUE) +set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED FALSE) diff --git a/Gems/Atom/RHI/Code/Platform/Windows/AtomRHITests_traits_windows.cmake b/Gems/Atom/RHI/Code/Platform/Windows/AtomRHITests_traits_windows.cmake index a5f701c3cf..78a4c4c069 100644 --- a/Gems/Atom/RHI/Code/Platform/Windows/AtomRHITests_traits_windows.cmake +++ b/Gems/Atom/RHI/Code/Platform/Windows/AtomRHITests_traits_windows.cmake @@ -8,3 +8,9 @@ set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_TEST TRUE) set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_EDIT TRUE) +if(LY_MONOLITHIC_GAME) + set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED FALSE) +else() + set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED TRUE) +endif() +set(LY_RENDERDOC_PATH "$ENV{PROGRAMFILES}/RenderDoc" CACHE PATH "Path to RenderDoc.") diff --git a/Gems/Atom/RHI/Code/Platform/Windows/renderdoc_windows.cmake b/Gems/Atom/RHI/Code/Platform/Windows/renderdoc_windows.cmake deleted file mode 100644 index 90c44bcb7c..0000000000 --- a/Gems/Atom/RHI/Code/Platform/Windows/renderdoc_windows.cmake +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -# Prevent bundling the renderdoc dll with a packaged title -if(NOT LY_MONOLITHIC_GAME) - # Common installation path for renderdoc path - set(RENDERDOC_PATH "$ENV{PROGRAMFILES}/RenderDoc") - if(DEFINED ENV{"ATOM_RENDERDOC_PATH"}) - set(RENDERDOC_PATH ENV{"ATOM_RENDERDOC_PATH"}) - endif() - - if(RENDERDOC_PATH) - # Normalize file path - file(TO_CMAKE_PATH "${RENDERDOC_PATH}" RENDERDOC_PATH) - - if(EXISTS "${RENDERDOC_PATH}/renderdoc.dll") - ly_add_external_target( - NAME renderdoc - VERSION - 3RDPARTY_ROOT_DIRECTORY ${RENDERDOC_PATH} - INCLUDE_DIRECTORIES "." - RUNTIME_DEPENDENCIES "${RENDERDOC_PATH}/renderdoc.dll" - ) - endif() - endif() -endif() \ No newline at end of file diff --git a/Gems/Atom/RHI/Code/Platform/iOS/AtomRHITests_traits_ios.cmake b/Gems/Atom/RHI/Code/Platform/iOS/AtomRHITests_traits_ios.cmake index 1aeb95c7b1..5b77ec1593 100644 --- a/Gems/Atom/RHI/Code/Platform/iOS/AtomRHITests_traits_ios.cmake +++ b/Gems/Atom/RHI/Code/Platform/iOS/AtomRHITests_traits_ios.cmake @@ -8,3 +8,4 @@ set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_TEST FALSE) set(ATOM_RHI_TRAIT_BUILD_SUPPORTS_EDIT FALSE) +set(PAL_TRAIT_BUILD_RENDERDOC_SUPPORTED FALSE) diff --git a/Gems/Atom/RHI/Code/Source/RHI/PipelineLibrary.cpp b/Gems/Atom/RHI/Code/Source/RHI/PipelineLibrary.cpp index 2212ae1591..be0428bc91 100644 --- a/Gems/Atom/RHI/Code/Source/RHI/PipelineLibrary.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI/PipelineLibrary.cpp @@ -72,5 +72,10 @@ namespace AZ return GetSerializedDataInternal(); } + + bool PipelineLibrary::IsMergeRequired() const + { + return true; + } } } diff --git a/Gems/Atom/RHI/Code/Source/RHI/PipelineStateCache.cpp b/Gems/Atom/RHI/Code/Source/RHI/PipelineStateCache.cpp index 52093f7b4c..a2a2736106 100644 --- a/Gems/Atom/RHI/Code/Source/RHI/PipelineStateCache.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI/PipelineStateCache.cpp @@ -166,16 +166,12 @@ namespace AZ } AZStd::unique_lock lock(m_mutex); - const GlobalLibraryEntry& entry = m_globalLibrarySet[handle.GetIndex()]; - /** - * Each thread has its own PipelineLibrary instance. To produce the final serialized data, we - * coalesce data from each individual library by merging the thread-local ones into a single - * global (temporary) library. The data is then extracted from this global library and returned. - * This operation is designed to happen once at application shutdown; certainly not every frame. - */ - + //! Each thread has its own PipelineLibrary instance. To produce the final serialized data, we + //! coalesce data from each individual library by merging the thread-local ones into a single + //! global (temporary) library. The data is then extracted from this global library and returned. + //! This operation is designed to happen once at application shutdown; certainly not every frame. AZStd::vector threadLibraries; m_threadLibrarySet.ForEach([handle, &threadLibraries](const ThreadLibrarySet& threadLibrarySet) { @@ -188,16 +184,26 @@ namespace AZ } }); - Ptr pipelineLibrary = Factory::Get().CreatePipelineLibrary(); - ResultCode resultCode = pipelineLibrary->Init(*m_device, entry.m_serializedData.get()); - - if (resultCode == ResultCode::Success) + bool doesPSODataExist = entry.m_serializedData.get(); + for (const RHI::PipelineLibrary* libraryBase : threadLibraries) { - resultCode = pipelineLibrary->MergeInto(threadLibraries); + const PipelineLibrary* library = static_cast(libraryBase); + doesPSODataExist |= library->IsMergeRequired(); + } + + if (doesPSODataExist) + { + Ptr pipelineLibrary = Factory::Get().CreatePipelineLibrary(); + ResultCode resultCode = pipelineLibrary->Init(*m_device, entry.m_serializedData.get()); if (resultCode == ResultCode::Success) { - return pipelineLibrary->GetSerializedData(); + resultCode = pipelineLibrary->MergeInto(threadLibraries); + + if (resultCode == ResultCode::Success) + { + return pipelineLibrary->GetSerializedData(); + } } } diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h index b07b9e9e58..3f9079422c 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h +++ b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h @@ -20,8 +20,8 @@ #include -// This define is enabled if winpixeventruntime SDK is downloaded and it's path is hooked up to Environment var ATOM_PIX_PATH. -// Enabling this define will allow the runtime code to add PIX markers which will hel pwith pix and renderdoc gpu captures +// This define is enabled if LY_PIX_ENABLED is enabled during configure. You can use LY_PIX_PATH to point where pix is downloaded. +// Enabling this define will allow the runtime code to add PIX markers which will help with pix and renderdoc gpu captures #ifdef USE_PIX #include #else diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.cpp index 06a0511162..d0a9ef0c07 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.cpp @@ -66,15 +66,20 @@ namespace AZ switch (hr) { case D3D12_ERROR_DRIVER_VERSION_MISMATCH: - case DXGI_ERROR_UNSUPPORTED: AZ_Warning("PipelineLibrary", false, "Failed to use pipeline library blob due to driver version mismatch. Contents will be rebuilt."); break; + case DXGI_ERROR_UNSUPPORTED: + AZ_Warning("PipelineLibrary", false, "Failed to use pipeline library blob due to the specified device interface or feature level not supported on this system. Contents will be rebuilt."); + break; case D3D12_ERROR_ADAPTER_NOT_FOUND: AZ_Warning("PipelineLibrary", false, "Failed to use pipeline library blob due to mismatched hardware. Contents will be rebuilt."); break; case E_INVALIDARG: AZ_Assert(false, "Failed to use pipeline library blob due to invalid arguments. Contents will be rebuilt."); break; + case DXGI_ERROR_DEVICE_REMOVED: + AZ_Assert(false, "Failed to use pipeline library blob due to DXGI_ERROR_DEVICE_REMOVED."); + break; default: AZ_Warning("PipelineLibrary", false, "Failed to use pipeline library blob for unknown reason. Contents will be rebuilt."); } @@ -200,23 +205,29 @@ namespace AZ RHI::ResultCode PipelineLibrary::MergeIntoInternal([[maybe_unused]] AZStd::array_view pipelineLibraries) { +#if defined(USE_PIX) || defined(USE_RENDERDOC) + // StorePipeline api does not function properly if Pix or RenderDoc is enabled + return RHI::ResultCode::Fail; +#else + #if defined (AZ_DX12_USE_PIPELINE_LIBRARY) AZStd::lock_guard lock(m_mutex); - for (const RHI::PipelineLibrary* libraryBase : pipelineLibraries) { const PipelineLibrary* library = static_cast(libraryBase); - for (const auto& pipelineStateEntry : library->m_pipelineStates) { - m_library->StorePipeline(pipelineStateEntry.first.c_str(), pipelineStateEntry.second.get()); + if (m_pipelineStates.find(pipelineStateEntry.first) == m_pipelineStates.end()) + { + m_library->StorePipeline(pipelineStateEntry.first.c_str(), pipelineStateEntry.second.get()); - m_pipelineStates.emplace(pipelineStateEntry.first, pipelineStateEntry.second); + m_pipelineStates.emplace(pipelineStateEntry.first, pipelineStateEntry.second); + } } } #endif - return RHI::ResultCode::Success; +#endif } RHI::ConstPtr PipelineLibrary::GetSerializedDataInternal() const @@ -238,5 +249,10 @@ namespace AZ return nullptr; #endif } + + bool PipelineLibrary::IsMergeRequired() const + { + return !m_pipelineStates.empty(); + } } } diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.h index d43abe4cb1..b970882246 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLibrary.h @@ -35,6 +35,7 @@ namespace AZ void ShutdownInternal() override; RHI::ResultCode MergeIntoInternal(AZStd::array_view libraries) override; RHI::ConstPtr GetSerializedDataInternal() const override; + bool IsMergeRequired() const; ////////////////////////////////////////////////////////////////////////// ID3D12DeviceX* m_dx12Device = nullptr; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp index fce4db364f..96e61be2cd 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp @@ -17,8 +17,6 @@ namespace AZ { namespace Metal { - static const int INVALID_OFFSET = 0xFFFFFFFF; - namespace Platform { MTLPixelFormat ConvertPixelFormat(RHI::Format format); diff --git a/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt b/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt index 39c49ab07f..f4148b435e 100644 --- a/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt +++ b/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt @@ -37,6 +37,7 @@ if(NOT PAL_TRAIT_ATOM_RHI_VULKAN_SUPPORTED) NAMESPACE Gem FILES_CMAKE ${pal_source_dir}/platform_builders_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake + ${pal_include_dir}/platform_builders_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake atom_rhi_vulkan_reflect_common_files.cmake atom_rhi_vulkan_glad_files.cmake atom_rhi_vulkan_builders_common_files.cmake @@ -90,6 +91,7 @@ ly_add_target( FILES_CMAKE atom_rhi_vulkan_private_common_files.cmake ${pal_source_dir}/platform_private_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake + ${pal_include_dir}/platform_private_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake PLATFORM_INCLUDE_FILES ${pal_source_dir}/platform_private_static_${PAL_PLATFORM_NAME_LOWERCASE}.cmake INCLUDE_DIRECTORIES diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Windows/RHI/WSISurface_Windows.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Windows/RHI/WSISurface_Windows.cpp index 02c776293d..d7e4bd2556 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Windows/RHI/WSISurface_Windows.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Windows/RHI/WSISurface_Windows.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace AZ { diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/AsyncUploadQueue.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/AsyncUploadQueue.cpp index 47cde358ba..7a8499ab9d 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/AsyncUploadQueue.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/AsyncUploadQueue.cpp @@ -210,7 +210,7 @@ namespace AZ // ImageHeight must be bigger than or equal to the Image's row count. Images with a RowCount that is less than the ImageHeight indicates a block compression. // Images with a RowCount which is higher than the ImageHeight indicates a planar image, which is not supported for streaming images. - AZ_Error("StreamingImage", subresourceLayout.m_size.m_height < subresourceLayout.m_rowCount, "AsyncUploadQueue::QueueUpload expects ImageHeight '%d' to be bigger than or equal to the image's RowCount '%d'.", subresourceLayout.m_size.m_height, subresourceLayout.m_rowCount); + AZ_Error("StreamingImage", subresourceLayout.m_size.m_height >= subresourceLayout.m_rowCount, "AsyncUploadQueue::QueueUpload expects ImageHeight '%d' to be bigger than or equal to the image's RowCount '%d'.", subresourceLayout.m_size.m_height, subresourceLayout.m_rowCount); // The final staging size for each CopyTextureRegion command uint32_t stagingSize = stagingSlicePitch; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h index 6684eec0f7..e2568f3b61 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h @@ -18,7 +18,7 @@ #include #include - +#include #include namespace AZ @@ -175,9 +175,6 @@ namespace AZ // And of course we don't need to handle OnShaderReinitialized because this *is* this Shader. /////////////////////////////////////////////////////////////////// - //! Returns the path to the pipeline library cache file. - AZStd::string GetPipelineLibraryPath() const; - //! A strong reference to the shader asset. Data::Asset m_asset; @@ -206,6 +203,9 @@ namespace AZ //! DrawListTag associated with this shader. RHI::DrawListTag m_drawListTag; + + //! PipelineLibrary file name + char m_pipelineLibraryPath[AZ_MAX_PATH_LEN] = { 0 }; }; } } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp index 4c2876dc0c..0ac5b61662 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp @@ -80,7 +80,8 @@ namespace AZ bool includeMaterialPropertyNames = true; RPI::MaterialConverterBus::BroadcastResult(includeMaterialPropertyNames, &RPI::MaterialConverterBus::Events::ShouldIncludeMaterialPropertyNames); - if (conversionEnabled && !materialTypePath.empty() && !includeMaterialPropertyNames) + // TODO: Use includeMaterialPropertyNames to break materialtype dependency on fbx files. Materialasset's dependency on materialtypeasset will need to be decoupled first + if (conversionEnabled && !materialTypePath.empty() /*&& !includeMaterialPropertyNames*/) { AssetBuilderSDK::SourceFileDependency materialTypeSource; materialTypeSource.m_sourceFileDependencyPath = materialTypePath; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp index 4440b96f79..e602e3e91b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp @@ -7,18 +7,14 @@ */ #include -#include - -#include - -#include #include - +#include +#include #include - -#include -#include #include +#include +#include + namespace AZ { @@ -75,6 +71,29 @@ namespace AZ Shutdown(); } + static bool GetPipelineLibraryPath(char* pipelineLibraryPath, size_t pipelineLibraryPathLength, const ShaderAsset& shaderAsset) + { + if (auto* fileIOBase = IO::FileIOBase::GetInstance()) + { + const Data::AssetId& assetId = shaderAsset.GetId(); + + Name platformName = RHI::Factory::Get().GetName(); + Name shaderName = shaderAsset.GetName(); + + AZStd::string uuidString; + assetId.m_guid.ToString(uuidString, false, false); + + char pipelineLibraryPathTemp[AZ_MAX_PATH_LEN]; + azsnprintf( + pipelineLibraryPathTemp, AZ_MAX_PATH_LEN, "@user@/Atom/PipelineStateCache/%s/%s_%s_%d.bin", platformName.GetCStr(), + shaderName.GetCStr(), uuidString.data(), assetId.m_subId); + + fileIOBase->ResolvePath(pipelineLibraryPathTemp, pipelineLibraryPath, pipelineLibraryPathLength); + return true; + } + return false; + } + RHI::ResultCode Shader::Init(ShaderAsset& shaderAsset) { Data::AssetBus::Handler::BusDisconnect(); @@ -87,6 +106,8 @@ namespace AZ m_asset = { &shaderAsset, AZ::Data::AssetLoadBehavior::PreLoad }; m_pipelineStateType = shaderAsset.GetPipelineStateType(); + GetPipelineLibraryPath(m_pipelineLibraryPath, AZ_MAX_PATH_LEN, *m_asset); + { AZStd::unique_lock lock(m_variantCacheMutex); m_shaderVariants.clear(); @@ -123,7 +144,7 @@ namespace AZ AZ_Error("Shader", false, "Failed to acquire a DrawListTag. Entries are full."); } } - + ShaderVariantFinderNotificationBus::Handler::BusConnect(m_asset.GetId()); Data::AssetBus::Handler::BusConnect(m_asset.GetId()); ShaderReloadNotificationBus::Handler::BusConnect(m_asset.GetId()); @@ -249,49 +270,28 @@ namespace AZ } } /////////////////////////////////////////////////////////////////// - - + ConstPtr Shader::LoadPipelineLibrary() const - { - if (IO::FileIOBase::GetInstance()) + { + if (m_pipelineLibraryPath[0] != 0) { - return Utils::LoadObjectFromFile(GetPipelineLibraryPath()); + return Utils::LoadObjectFromFile(m_pipelineLibraryPath); } return nullptr; } void Shader::SavePipelineLibrary() const { - if (auto* fileIOBase = IO::FileIOBase::GetInstance()) + if (m_pipelineLibraryPath[0] != 0) { RHI::ConstPtr serializedData = m_pipelineStateCache->GetLibrarySerializedData(m_pipelineLibraryHandle); if (serializedData) { - const AZStd::string pipelineLibraryPath = GetPipelineLibraryPath(); - - char pipelineLibraryPathResolved[AZ_MAX_PATH_LEN] = { 0 }; - fileIOBase->ResolvePath(pipelineLibraryPath.c_str(), pipelineLibraryPathResolved, AZ_MAX_PATH_LEN); - Utils::SaveObjectToFile(pipelineLibraryPathResolved, DataStream::ST_BINARY, serializedData.get()); + Utils::SaveObjectToFile(m_pipelineLibraryPath, DataStream::ST_BINARY, serializedData.get()); } } - else - { - AZ_Error("Shader", false, "FileIOBase is not initialized"); - } } - - AZStd::string Shader::GetPipelineLibraryPath() const - { - const Data::InstanceId& instanceId = GetId(); - Name platformName = RHI::Factory::Get().GetName(); - Name shaderName = m_asset->GetName(); - - AZStd::string uuidString; - instanceId.m_guid.ToString(uuidString, false, false); - - return AZStd::string::format("@user@/Atom/PipelineStateCache/%s/%s_%s_%d.bin", platformName.GetCStr(), shaderName.GetCStr(), uuidString.data(), instanceId.m_subId); - } - + ShaderOptionGroup Shader::CreateShaderOptionGroup() const { return ShaderOptionGroup(m_asset->GetShaderOptionGroupLayout()); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp index b35c9e44fe..524ef9e910 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp @@ -118,6 +118,12 @@ namespace AZ } } + const ModelMaterialSlotMap &sourceMaterialSlotMap = sourceAsset->GetMaterialSlots(); + for (const auto& sourceMaterialSlot : sourceMaterialSlotMap) + { + creator.AddMaterialSlot(sourceMaterialSlot.second); + } + return creator.End(clonedResult); } } // namespace RPI diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h index 62e2f834c8..4210c82921 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h @@ -92,20 +92,12 @@ namespace AtomToolsFramework // AzToolsFramework::ViewportInteraction::ViewportInteractionRequestBus::Handler ... AzFramework::CameraState GetCameraState() override; - bool GridSnappingEnabled() override; - float GridSize() override; - bool ShowGrid() override; - bool AngleSnappingEnabled() override; - float AngleStep() override; AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition) override; AZStd::optional ViewportScreenToWorld(const AzFramework::ScreenPoint& screenPosition, float depth) override; AZStd::optional ViewportScreenToWorldRay( const AzFramework::ScreenPoint& screenPosition) override; float DeviceScalingFactor() override; - //! Set interface for providing viewport specific settings (e.g. snapping properties). - void SetViewportSettings(const AzToolsFramework::ViewportInteraction::ViewportSettings* viewportSettings); - // AzToolsFramework::ViewportInteraction::ViewportMouseCursorRequestBus::Handler ... void BeginCursorCapture() override; void EndCursorCapture() override; @@ -147,7 +139,7 @@ namespace AtomToolsFramework AzFramework::ViewportControllerListPtr m_controllerList; // The default camera for our viewport i.e. the one used when a camera entity hasn't been activated. AZ::RPI::ViewPtr m_defaultCamera; - // Our viewport-local auxgeom pipeline for supplemental rendering. + // Our viewport-local aux geom pipeline for supplemental rendering. AZ::RPI::AuxGeomDrawPtr m_auxGeom; // Used to keep track of a pending resize event to avoid initialization before window activate. bool m_windowResizedEvent = false; @@ -159,8 +151,6 @@ namespace AtomToolsFramework QElapsedTimer m_renderTimer; // The time of the last recorded tick event from the system tick bus. AZ::ScriptTimePoint m_time; - // The viewport settings (e.g. grid snapping, grid size) for this viewport. - const AzToolsFramework::ViewportInteraction::ViewportSettings* m_viewportSettings = nullptr; // Maps our internal Qt events into AzFramework InputChannels for our ViewportControllerList. AzToolsFramework::QtEventToAzInputMapper* m_inputChannelMapper = nullptr; }; diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp index 0fc55e2363..4419e0c49f 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp @@ -73,6 +73,7 @@ namespace AtomToolsFramework return AZ::Transform::CreateIdentity(); } + void ModularCameraViewportContextImpl::SetCameraTransform(const AZ::Transform& transform) { if (auto viewportContext = RetrieveViewportContext(m_viewportId)) @@ -80,6 +81,7 @@ namespace AtomToolsFramework viewportContext->SetCameraTransform(transform); } } + void ModularCameraViewportContextImpl::ConnectViewMatrixChangedHandler(AZ::RPI::ViewportContext::MatrixChangedEvent::Handler& handler) { if (auto viewportContext = RetrieveViewportContext(m_viewportId)) diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp index cbb30ba6da..027ac80151 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp @@ -315,36 +315,6 @@ namespace AtomToolsFramework return cameraState; } - bool RenderViewportWidget::GridSnappingEnabled() - { - return m_viewportSettings ? m_viewportSettings->GridSnappingEnabled() : false; - } - - float RenderViewportWidget::GridSize() - { - return m_viewportSettings ? m_viewportSettings->GridSize() : 0.0f; - } - - bool RenderViewportWidget::ShowGrid() - { - return m_viewportSettings ? m_viewportSettings->ShowGrid() : false; - } - - bool RenderViewportWidget::AngleSnappingEnabled() - { - return m_viewportSettings ? m_viewportSettings->AngleSnappingEnabled() : false; - } - - float RenderViewportWidget::AngleStep() - { - return m_viewportSettings ? m_viewportSettings->AngleStep() : 0.0f; - } - - void RenderViewportWidget::SetViewportSettings(const AzToolsFramework::ViewportInteraction::ViewportSettings* viewportSettings) - { - m_viewportSettings = viewportSettings; - } - AzFramework::ScreenPoint RenderViewportWidget::ViewportWorldToScreen(const AZ::Vector3& worldPosition) { if (AZ::RPI::ViewPtr currentView = m_viewportContext->GetDefaultView(); diff --git a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl index cd9e4fc2b5..61f68197b6 100644 --- a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl +++ b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl @@ -288,11 +288,11 @@ namespace AZ continue; } - ImGui::Text(statistics->m_groupName.c_str()); + ImGui::Text("%s", statistics->m_groupName.c_str()); const ImVec2 topLeftBound = ImGui::GetItemRectMin(); ImGui::TableNextColumn(); - ImGui::Text(statistics->m_regionName.c_str()); + ImGui::Text("%s", statistics->m_regionName.c_str()); ImGui::TableNextColumn(); ImGui::Text("%.2f", CpuProfilerImGuiHelper::TicksToMs(statistics->m_runningAverageTicks)); @@ -313,7 +313,7 @@ namespace AZ if (ImGui::IsWindowHovered() && ImGui::IsMouseHoveringRect(topLeftBound, botRightBound, false)) { ImGui::BeginTooltip(); - ImGui::Text(statistics->GetExecutingThreadsLabel().c_str()); + ImGui::Text("%s", statistics->GetExecutingThreadsLabel().c_str()); ImGui::EndTooltip(); } } @@ -363,7 +363,7 @@ namespace AZ const auto ShowRow = [&ShowTimeInMs](const char* regionLabel, AZStd::sys_time_t duration) { - ImGui::Text(regionLabel); + ImGui::Text("%s", regionLabel); ImGui::NextColumn(); ShowTimeInMs(duration); diff --git a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiGpuProfiler.inl b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiGpuProfiler.inl index 9b2f2b0dd9..80dcace2df 100644 --- a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiGpuProfiler.inl +++ b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiGpuProfiler.inl @@ -279,13 +279,13 @@ namespace AZ const AZStd::string totalPassCountLabel = AZStd::string::format("%s: %u", "Total Pass Count", static_cast(passEntryDatabase.size())); - ImGui::Text(totalPassCountLabel.c_str()); + ImGui::Text("%s", totalPassCountLabel.c_str()); // Display listed pass count. const AZStd::string listedPassCountLabel = AZStd::string::format("%s: %u", "Listed Pass Count", static_cast(m_passEntryReferences.size())); - ImGui::Text(listedPassCountLabel.c_str()); + ImGui::Text("%s", listedPassCountLabel.c_str()); } } @@ -404,7 +404,7 @@ namespace AZ passName = AZStd::string::format("%s (%s)", passName.c_str(), passTreeState); } - ImGui::Text(passName.c_str()); + ImGui::Text("%s", passName.c_str()); // Show a HoverMarker if the text is bigger than the column. const ImVec2 textSize = ImGui::CalcTextSize(passName.c_str()); @@ -480,7 +480,7 @@ namespace AZ } else { - ImGui::Text(label.c_str()); + ImGui::Text("%s", label.c_str()); } if (textColorChanged) @@ -683,7 +683,7 @@ namespace AZ // Draw the frame time (GPU). const AZStd::string formattedTimestamp = FormatTimestampLabel(gpuTimestamp.GetDurationInNanoseconds()); const AZStd::string headerFrameTime = AZStd::string::format("Total frame duration (GPU): %s", formattedTimestamp.c_str()); - ImGui::Text(headerFrameTime.c_str()); + ImGui::Text("%s", headerFrameTime.c_str()); // Draw the viewing option. ImGui::RadioButton("Hierarchical", reinterpret_cast(&m_viewType), static_cast(ProfilerViewType::Hierarchical)); @@ -810,7 +810,7 @@ namespace AZ { const int32_t timestampMetricUnitNumeric = static_cast(m_timestampMetricUnit); const AZStd::string metricUnitText = AZStd::string::format("Time in %s", MetricUnitText[timestampMetricUnitNumeric]); - ImGui::Text(metricUnitText.c_str()); + ImGui::Text("%s", metricUnitText.c_str()); ImGui::NextColumn(); } @@ -818,7 +818,7 @@ namespace AZ { const int32_t frameWorkloadViewNumeric = static_cast(m_frameWorkloadView); const AZStd::string frameWorkloadViewText = AZStd::string::format("Frame workload in %s FPS", FrameWorkloadUnit[frameWorkloadViewNumeric]); - ImGui::Text(frameWorkloadViewText.c_str()); + ImGui::Text("%s", frameWorkloadViewText.c_str()); ImGui::NextColumn(); } @@ -853,7 +853,7 @@ namespace AZ const int32_t frameWorkloadViewNumeric = static_cast(m_frameWorkloadView); const AZStd::string frameWorkloadViewText = AZStd::string::format("Frame workload in %s FPS", FrameWorkloadUnit[frameWorkloadViewNumeric]); - ImGui::Text(frameWorkloadViewText.c_str()); + ImGui::Text("%s", frameWorkloadViewText.c_str()); ImGui::NextColumn(); } @@ -907,7 +907,7 @@ namespace AZ } else { - ImGui::Text(entryTime.c_str()); + ImGui::Text("%s", entryTime.c_str()); ImGui::NextColumn(); DrawFrameWorkloadBar(NormalizeFrameWorkload(entry->m_interpolatedTimestampInNanoseconds)); ImGui::NextColumn(); @@ -927,7 +927,7 @@ namespace AZ if (entry->m_children.empty()) { // Draw the workload bar when it doesn't have children. - ImGui::Text(entry->m_name.GetCStr()); + ImGui::Text("%s", entry->m_name.GetCStr()); // Show a HoverMarker if the text is bigger than the column. createHoverMarker(entry->m_name.GetCStr()); @@ -991,9 +991,9 @@ namespace AZ } const AZStd::string entryTime = FormatTimestampLabel(entry->m_interpolatedTimestampInNanoseconds); - ImGui::Text(entry->m_name.GetCStr()); + ImGui::Text("%s", entry->m_name.GetCStr()); ImGui::NextColumn(); - ImGui::Text(entryTime.c_str()); + ImGui::Text("%s", entryTime.c_str()); ImGui::NextColumn(); DrawFrameWorkloadBar(NormalizeFrameWorkload(entry->m_interpolatedTimestampInNanoseconds)); ImGui::NextColumn(); @@ -1131,13 +1131,13 @@ namespace AZ continue; } - ImGui::Text(tableRow.m_parentPoolName.GetCStr()); + ImGui::Text("%s", tableRow.m_parentPoolName.GetCStr()); ImGui::TableNextColumn(); - ImGui::Text(tableRow.m_bufImgName.GetCStr()); + ImGui::Text("%s", tableRow.m_bufImgName.GetCStr()); ImGui::TableNextColumn(); ImGui::Text("%.4f", 1.0f * tableRow.m_sizeInBytes / GpuProfilerImGuiHelper::MB); ImGui::TableNextColumn(); - ImGui::Text(tableRow.m_bindFlags.c_str()); + ImGui::Text("%s", tableRow.m_bindFlags.c_str()); ImGui::TableNextColumn(); } } @@ -1244,20 +1244,20 @@ namespace AZ { if (ImGui::BeginChild(savedHeap.m_name.GetCStr(), { ImGui::GetWindowWidth() / m_savedHeaps.size(), 250 }), ImGuiWindowFlags_NoScrollbar) { - ImGui::Text(savedHeap.m_name.GetCStr()); + ImGui::Text("%s", savedHeap.m_name.GetCStr()); ImGui::Columns(2, "HeapData", true); - ImGui::Text("Resident (MB): "); + ImGui::Text("%s", "Resident (MB): "); ImGui::NextColumn(); ImGui::Text("%.2f", 1.0 * savedHeap.m_memoryUsage.m_residentInBytes.load() / GpuProfilerImGuiHelper::MB); ImGui::NextColumn(); - ImGui::Text("Reserved (MB): "); + ImGui::Text("%s", "Reserved (MB): "); ImGui::NextColumn(); ImGui::Text("%.2f", 1.0 * savedHeap.m_memoryUsage.m_reservedInBytes.load() / GpuProfilerImGuiHelper::MB); ImGui::NextColumn(); - ImGui::Text("Budget (MB): "); + ImGui::Text("%s", "Budget (MB): "); ImGui::NextColumn(); ImGui::Text("%.2f", 1.0 * savedHeap.m_memoryUsage.m_budgetInBytes / GpuProfilerImGuiHelper::MB); diff --git a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiPassTree.inl b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiPassTree.inl index a9eff68c7a..fa649ed47b 100644 --- a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiPassTree.inl +++ b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiPassTree.inl @@ -100,7 +100,7 @@ namespace AZ::Render } } - ImGui::TextWrapped(m_attachmentReadbackInfo.c_str()); + ImGui::TextWrapped("%s", m_attachmentReadbackInfo.c_str()); } if (m_previewAttachment && m_selectedChanged) @@ -211,7 +211,7 @@ namespace AZ::Render else { // Only draw text (not selectable) if there is no attachment binded to the slot. - ImGui::Text(label.c_str()); + ImGui::Text("%s", label.c_str()); } } diff --git a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiShaderMetrics.inl b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiShaderMetrics.inl index 772be4d4a8..73517c66ca 100644 --- a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiShaderMetrics.inl +++ b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiShaderMetrics.inl @@ -61,7 +61,7 @@ namespace AZ ImGui::Text("%d", request.m_requestCount); ImGui::NextColumn(); - ImGui::Text(request.m_shaderName.GetCStr()); + ImGui::Text("%s", request.m_shaderName.GetCStr()); ImGui::NextColumn(); ImGui::Text("%d", request.m_shaderVariantStableId.GetIndex()); diff --git a/Gems/Atom/Utils/Code/atom_utils_files.cmake b/Gems/Atom/Utils/Code/atom_utils_files.cmake index 06b78a49c4..b1f8170317 100644 --- a/Gems/Atom/Utils/Code/atom_utils_files.cmake +++ b/Gems/Atom/Utils/Code/atom_utils_files.cmake @@ -19,6 +19,8 @@ set(FILES Include/Atom/Utils/ImGuiPassTree.inl Include/Atom/Utils/ImGuiFrameVisualizer.h Include/Atom/Utils/ImGuiFrameVisualizer.inl + Include/Atom/Utils/ImGuiShaderMetrics.h + Include/Atom/Utils/ImGuiShaderMetrics.inl Include/Atom/Utils/ImGuiTransientAttachmentProfiler.h Include/Atom/Utils/ImGuiTransientAttachmentProfiler.inl Include/Atom/Utils/PpmFile.h diff --git a/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.cpp b/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.cpp index d720463ce2..b45fbe05f6 100644 --- a/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.cpp +++ b/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.cpp @@ -1552,6 +1552,26 @@ namespace AZ::AtomBridge } } + void AtomDebugDisplayViewportInterface::PushPremultipliedMatrix(const AZ::Matrix3x4& matrix) + { + AZ_Assert(m_rendState.m_currentTransform < RenderState::TransformStackSize, "Exceeded AtomDebugDisplayViewportInterface matrix stack size"); + if (m_rendState.m_currentTransform < RenderState::TransformStackSize) + { + m_rendState.m_currentTransform++; + m_rendState.m_transformStack[m_rendState.m_currentTransform] = matrix; + } + } + + AZ::Matrix3x4 AtomDebugDisplayViewportInterface::PopPremultipliedMatrix() + { + AZ_Assert(m_rendState.m_currentTransform > 0, "Underflowed AtomDebugDisplayViewportInterface matrix stack"); + if (m_rendState.m_currentTransform > 0) + { + m_rendState.m_currentTransform--; + } + return m_rendState.m_transformStack[m_rendState.m_currentTransform + 1]; + } + const AZ::Matrix3x4& AtomDebugDisplayViewportInterface::GetCurrentTransform() const { return m_rendState.m_transformStack[m_rendState.m_currentTransform]; diff --git a/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.h b/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.h index 22fb8875a4..07f4efdf50 100644 --- a/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.h +++ b/Gems/AtomLyIntegration/AtomBridge/Code/Source/AtomDebugDisplayViewportInterface.h @@ -193,6 +193,8 @@ namespace AZ::AtomBridge AZ::u32 SetState(AZ::u32 state) override; void PushMatrix(const AZ::Transform& tm) override; void PopMatrix() override; + void PushPremultipliedMatrix(const AZ::Matrix3x4& matrix) override; + AZ::Matrix3x4 PopPremultipliedMatrix() override; private: diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont.h index 6d361c01ae..8862462093 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont.h @@ -82,7 +82,6 @@ namespace AZ FontFamilyPtr LoadFontFamily(const char* fontFamilyName) override; FontFamilyPtr GetFontFamily(const char* fontFamilyName) override; void AddCharsToFontTextures(FontFamilyPtr fontFamily, const char* chars, int glyphSizeX = ICryFont::defaultGlyphSizeX, int glyphSizeY = ICryFont::defaultGlyphSizeY) override; - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const override {} AZStd::string GetLoadedFontNames() const; void OnLanguageChanged() override; void ReloadAllFonts() override; diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomNullFont.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomNullFont.h index 4820d1c176..b394efe6e1 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomNullFont.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomNullFont.h @@ -44,8 +44,6 @@ namespace AZ void WrapText(AZStd::string& result, [[maybe_unused]] float maxWidth, const char* str, [[maybe_unused]] const TextDrawContext& ctx) override { result = str; } - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const override {} - void GetGradientTextureCoord([[maybe_unused]] float& minU, [[maybe_unused]] float& minV, [[maybe_unused]] float& maxU, [[maybe_unused]] float& maxV) const override {} unsigned int GetEffectId([[maybe_unused]] const char* effectName) const override { return 0; } @@ -75,7 +73,6 @@ namespace AZ virtual FontFamilyPtr LoadFontFamily([[maybe_unused]] const char* fontFamilyName) override { CRY_ASSERT(false); return nullptr; } virtual FontFamilyPtr GetFontFamily([[maybe_unused]] const char* fontFamilyName) override { CRY_ASSERT(false); return nullptr; } virtual void AddCharsToFontTextures([[maybe_unused]] FontFamilyPtr fontFamily, [[maybe_unused]] const char* chars, [[maybe_unused]] int glyphSizeX, [[maybe_unused]] int glyphSizeY) override {}; - virtual void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const override {} virtual AZStd::string GetLoadedFontNames() const override { return ""; } virtual void OnLanguageChanged() override { } virtual void ReloadAllFonts() override { } diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FBitmap.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FBitmap.h index 6443633245..2570fd2b17 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FBitmap.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FBitmap.h @@ -52,8 +52,6 @@ namespace AZ void SetRenderData(void* renderData) { m_renderData = renderData; }; void* GetRenderData() { return m_renderData; }; - void GetMemoryUsage ([[maybe_unused]] class ICrySizer* sizer) {}; - unsigned char* GetData() { return m_data; } public: diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FFont.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FFont.h index 6f56d912a0..83f53ffec2 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FFont.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FFont.h @@ -16,9 +16,6 @@ #if !defined(USE_NULLFONT_ALWAYS) #include -#include -#include -#include #include #include "AtomFont.h" @@ -104,20 +101,10 @@ namespace AZ struct FontRenderingPass { - ColorB m_color; - Vec2 m_posOffset; - int m_blendSrc; - int m_blendDest; - - FontRenderingPass() - : m_color(255, 255, 255, 255) - , m_posOffset(0, 0) - , m_blendSrc(GS_BLSRC_SRCALPHA) - , m_blendDest(GS_BLDST_ONEMINUSSRCALPHA) - { - } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} + ColorB m_color = {255, 255, 255, 255}; + Vec2 m_posOffset = {0,0}; + int m_blendSrc = GS_BLSRC_SRCALPHA; + int m_blendDest = GS_BLDST_ONEMINUSSRCALPHA; }; struct FontEffect @@ -141,8 +128,6 @@ namespace AZ { m_passes.resize(0); } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} }; typedef std::vector FontEffects; @@ -179,7 +164,6 @@ namespace AZ Vec2 GetTextSize(const char* str, const bool asciiMultiLine, const TextDrawContext& ctx) override; size_t GetTextLength(const char* str, const bool asciiMultiLine) const override; void WrapText(AZStd::string& result, float maxWidth, const char* str, const TextDrawContext& ctx) override; - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const override {}; void GetGradientTextureCoord(float& minU, float& minV, float& maxU, float& maxV) const override; unsigned int GetEffectId(const char* effectName) const override; unsigned int GetNumEffects() const override; diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontRenderer.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontRenderer.h index 3cfb900055..91e8c6ae9f 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontRenderer.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontRenderer.h @@ -79,8 +79,6 @@ namespace AZ int GetGlyph(GlyphBitmap* glyphBitmap, int* horizontalAdvance, uint8_t* glyphWidth, uint8_t* glyphHeight, int32_t& m_characterOffsetX, int32_t& m_characterOffsetY, int iX, int iY, int characterCode, const FFont::FontHintParams& glyphFlags = FFont::FontHintParams()); int GetGlyphScaled(GlyphBitmap* glyphBitmap, int* glyphWidth, int* glyphHeight, int iX, int iY, float scaleX, float scaleY, int characterCode); - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} - bool GetMonospaced() const { return FT_IS_FIXED_WIDTH(m_face) != 0; } Vec2 GetKerning(uint32_t leftGlyph, uint32_t rightGlyph); diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontTexture.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontTexture.h index f20b0463d9..42766f8910 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontTexture.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/FontTexture.h @@ -51,8 +51,6 @@ namespace AZ { m_slotUsage = 0xffff; } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} }; //! Stores the glyphs of a font within a single cpu texture. @@ -131,8 +129,6 @@ namespace AZ int WriteToFile(const AZStd::string& fileName); - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} - bool GetMonospaced() const { return m_glyphCache.GetMonospaced(); } Vec2 GetKerning(uint32_t leftGlyph, uint32_t rightGlyph); diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphBitmap.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphBitmap.h index 1f3aa6955f..c82ba111e2 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphBitmap.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphBitmap.h @@ -14,8 +14,6 @@ #include #include -class ICrySizer; - namespace AZ { class GlyphBitmap @@ -40,8 +38,6 @@ namespace AZ int GetWidth() { return m_width; } int GetHeight() { return m_height; } - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} - private: AZStd::unique_ptr m_buffer; diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphCache.h b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphCache.h index 271b6810d3..2e57a70132 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphCache.h +++ b/Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/GlyphCache.h @@ -55,8 +55,6 @@ namespace AZ m_glyphBitmap.Clear(); } - - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} }; //! The glyph cache maps UTF32 codepoints to their corresponding FreeType data. @@ -110,8 +108,6 @@ namespace AZ //! \sa FontRenderer::GetGlyph, FontTexture::UpdateSlot int GetGlyph(GlyphBitmap** glyph, int* horizontalAdvance, int* width, int* height, int32_t& m_characterOffsetX, int32_t& m_characterOffsetY, uint32_t character, const AtomFont::GlyphSize& glyphSize = AtomFont::defaultGlyphSize, const FFont::FontHintParams& glyphFlags = FFont::FontHintParams()); - void GetMemoryUsage([[maybe_unused]] ICrySizer* sizer) const {} - bool GetMonospaced() const { return m_fontRenderer.GetMonospaced(); } Vec2 GetKerning(uint32_t leftGlyph, uint32_t rightGlyph); diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Source/AtomFont.cpp b/Gems/AtomLyIntegration/AtomFont/Code/Source/AtomFont.cpp index 8c88a49b12..5711e3ff6e 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Source/AtomFont.cpp +++ b/Gems/AtomLyIntegration/AtomFont/Code/Source/AtomFont.cpp @@ -731,20 +731,14 @@ IFFont* AZ::AtomFont::LoadFont(const char* fontName) font = NewFont(fontNameLower.c_str()); if (!font) { - AZStd::string errorMsg = "Error creating a new font named "; - errorMsg += fontNameLower; - errorMsg += "."; - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_ERROR, errorMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_ERROR, "Error creating a new font named %s.", fontNameLower.c_str()); } else { // creating font adds one to its refcount so no need for AddRef here if (!font->Load(fontNameLower.c_str())) { - AZStd::string errorMsg = "Error loading a font from "; - errorMsg += fontNameLower; - errorMsg += "."; - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_ERROR, errorMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_ERROR, "Error loading a font from %s.", fontNameLower.c_str()); font->Release(); font = nullptr; } @@ -792,8 +786,7 @@ bool AZ::AtomFont::AddFontFamilyToMaps(const char* fontFamilyFilename, const cha AZStd::to_lower(loweredFilename.begin(), loweredFilename.end()); if (m_fontFamilies.find(loweredFilename) != m_fontFamilies.end()) { - AZStd::string warnMsg = AZStd::string::format("Couldn't load Font Family '%s': already loaded", fontFamilyFilename); - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, warnMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "Couldn't load Font Family '%s': already loaded", fontFamilyFilename); return false; } @@ -803,8 +796,7 @@ bool AZ::AtomFont::AddFontFamilyToMaps(const char* fontFamilyFilename, const cha AZStd::to_lower(loweredFontFamilyName.begin(), loweredFontFamilyName.end()); if (m_fontFamilies.find(loweredFontFamilyName) != m_fontFamilies.end()) { - AZStd::string warnMsg = AZStd::string::format("Couldn't load Font Family '%s': already loaded", fontFamilyName); - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, warnMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "Couldn't load Font Family '%s': already loaded", fontFamilyName); return false; } diff --git a/Gems/AtomLyIntegration/AtomFont/Code/Source/FontRenderer.cpp b/Gems/AtomLyIntegration/AtomFont/Code/Source/FontRenderer.cpp index f1fc8be965..ed5e0e50bc 100644 --- a/Gems/AtomLyIntegration/AtomFont/Code/Source/FontRenderer.cpp +++ b/Gems/AtomLyIntegration/AtomFont/Code/Source/FontRenderer.cpp @@ -311,8 +311,7 @@ Vec2 AZ::FontRenderer::GetKerning(uint32_t leftGlyph, uint32_t rightGlyph) #if !defined(_RELEASE) if (0 != ftError) { - AZStd::string warnMsg = AZStd::string::format("FT_Get_Kerning returned %d", ftError); - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, warnMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_WARNING, "FT_Get_Kerning returned %d", ftError); } #endif } diff --git a/Gems/AudioEngineWwise/Code/Source/Engine/Config_wwise.cpp b/Gems/AudioEngineWwise/Code/Source/Engine/Config_wwise.cpp index 9bd376b641..437c1d156a 100644 --- a/Gems/AudioEngineWwise/Code/Source/Engine/Config_wwise.cpp +++ b/Gems/AudioEngineWwise/Code/Source/Engine/Config_wwise.cpp @@ -11,8 +11,8 @@ #include #include #include +#include #include -#include // For AZ_Printf statements... #define WWISE_CONFIG_WINDOW "WwiseConfig" @@ -56,7 +56,7 @@ namespace Audio::Wwise bool ConfigurationSettings::Load(const AZStd::string& filePath) { AZ::IO::Path fileIoPath(filePath); - auto outcome = AzFramework::FileFunc::ReadJsonFile(fileIoPath); + auto outcome = AZ::JsonSerializationUtils::ReadJsonFile(fileIoPath.Native()); if (!outcome) { AZ_Printf(WWISE_CONFIG_WINDOW, "ERROR: %s\n", outcome.GetError().c_str()); @@ -92,7 +92,7 @@ namespace Audio::Wwise return false; } - auto outcome = AzFramework::FileFunc::WriteJsonFile(jsonDoc, filePath); + auto outcome = AZ::JsonSerializationUtils::WriteJsonFile(jsonDoc, filePath); if (!outcome) { AZ_Printf(WWISE_CONFIG_WINDOW, "ERROR: %s\n", outcome.GetError().c_str()); diff --git a/Gems/AudioEngineWwise/Code/Source/Engine/FileIOHandler_wwise.cpp b/Gems/AudioEngineWwise/Code/Source/Engine/FileIOHandler_wwise.cpp index 07113e09d3..cf042dc4ac 100644 --- a/Gems/AudioEngineWwise/Code/Source/Engine/FileIOHandler_wwise.cpp +++ b/Gems/AudioEngineWwise/Code/Source/Engine/FileIOHandler_wwise.cpp @@ -19,9 +19,7 @@ #include #include -#define MAX_NUMBER_STRING_SIZE (10) // 4G -#define ID_TO_STRING_FORMAT_BANK AKTEXT("%u.bnk") -#define ID_TO_STRING_FORMAT_WEM AKTEXT("%u.wem") +#define MAX_NUMBER_STRING_SIZE (10) // max digits in u32 base-10 number #define MAX_EXTENSION_SIZE (4) // .xxx #define MAX_FILETITLE_SIZE (MAX_NUMBER_STRING_SIZE + MAX_EXTENSION_SIZE + 1) // null-terminated @@ -442,11 +440,16 @@ namespace Audio } } - AkOSChar fileName[MAX_FILETITLE_SIZE] = { '\0' }; + AkOSChar fileName[MAX_FILETITLE_SIZE] = { 0 }; - const AkOSChar* const filenameFormat = (flags->uCodecID == AKCODECID_BANK ? ID_TO_STRING_FORMAT_BANK : ID_TO_STRING_FORMAT_WEM); - - AK_OSPRINTF(fileName, MAX_FILETITLE_SIZE, filenameFormat, static_cast(fileID)); + if (flags->uCodecID == AKCODECID_BANK) + { + AK_OSPRINTF(fileName, MAX_FILETITLE_SIZE, AKTEXT("%u.bnk"), static_cast(fileID)); + } + else + { + AK_OSPRINTF(fileName, MAX_FILETITLE_SIZE, AKTEXT("%u.wem"), static_cast(fileID)); + } AKPLATFORM::SafeStrCat(finalFilePath, fileName, AK_MAX_PATH); diff --git a/Gems/AudioSystem/Code/Source/Engine/ATL.cpp b/Gems/AudioSystem/Code/Source/Engine/ATL.cpp index 8fbb8fffc0..e43f7beba7 100644 --- a/Gems/AudioSystem/Code/Source/Engine/ATL.cpp +++ b/Gems/AudioSystem/Code/Source/Engine/ATL.cpp @@ -2170,25 +2170,15 @@ namespace Audio const AZ::Color yellowColor(colorMax, colorMax, colorMin, 0.9f); const AZ::Color redColor(colorMax, colorMin, colorMin, 0.9f); - constexpr const char* tableHeaderNames[] = { - "ID", - "Name", - "Curr Used", - "Peak Used", - "%% of Used", - "Allocs", - "Frees", - }; - constexpr size_t numColumns = AZStd::size(tableHeaderNames); - constexpr float xTablePositions[numColumns] = { 0.f, 40.f, 300.f, 400.f, 500.f, 600.f, 700.f }; - float posY = fPosY; - - // Draw the header info: - for (int column = 0; column < numColumns; ++column) - { - auxGeom.Draw2dLabel(fPosX + xTablePositions[column], posY, textSize, color, false, tableHeaderNames[column]); - } + constexpr float xTablePositions[7] = { 0.f, 40.f, 300.f, 400.f, 500.f, 600.f, 700.f }; + auxGeom.Draw2dLabel(fPosX + xTablePositions[0], posY, textSize, color, false, "ID"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY, textSize, color, false, "Name"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[2], posY, textSize, color, false, "Curr Used"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[3], posY, textSize, color, false, "Peak Used"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[4], posY, textSize, color, false, "%% of Used"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[5], posY, textSize, color, false, "Allocs"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[6], posY, textSize, color, false, "Frees"); // Get the memory pool information... AZStd::vector poolInfos; @@ -2232,15 +2222,15 @@ namespace Audio auxGeom.Draw2dLabel(fPosX + xTablePositions[0], posY, textSize, color, false, "%d", poolInfo.m_poolId); // Name - auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY, textSize, color, false, poolInfo.m_poolName); + auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY, textSize, color, false, "%s", poolInfo.m_poolName); // Current Used (bytes) BytesToString(poolInfo.m_memoryUsed, buffer, bufferSize); - auxGeom.Draw2dLabel(fPosX + xTablePositions[2], posY, textSize, color, false, buffer); + auxGeom.Draw2dLabel(fPosX + xTablePositions[2], posY, textSize, color, false, "%s", buffer); // Peak Used (bytes) BytesToString(poolInfo.m_peakUsed, buffer, bufferSize); - auxGeom.Draw2dLabel(fPosX + xTablePositions[3], posY, textSize, color, false, buffer); + auxGeom.Draw2dLabel(fPosX + xTablePositions[3], posY, textSize, color, false, "%s", buffer); // % of Used (percent) auxGeom.Draw2dLabel(fPosX + xTablePositions[4], posY, textSize, color, false, "%.1f %%", percentUsed); @@ -2255,20 +2245,20 @@ namespace Audio whiteColor.StoreToFloat4(color); posY += (2.f * lineHeight); - auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY, textSize, color, false, tableHeaderNames[1]); - auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY + lineHeight, textSize, color, false, globalInfo.m_poolName); + auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY, textSize, color, false, "Name"); + auxGeom.Draw2dLabel(fPosX + xTablePositions[1], posY + lineHeight, textSize, color, false, "%s", globalInfo.m_poolName); auxGeom.Draw2dLabel(fPosX + xTablePositions[2], posY, textSize, color, false, "Total Used"); BytesToString(globalInfo.m_memoryUsed, buffer, bufferSize); - auxGeom.Draw2dLabel(fPosX + xTablePositions[2], posY + lineHeight, textSize, color, false, buffer); + auxGeom.Draw2dLabel(fPosX + xTablePositions[2], posY + lineHeight, textSize, color, false, "%s", buffer); auxGeom.Draw2dLabel(fPosX + xTablePositions[3], posY, textSize, color, false, "Total Peak"); BytesToString(totalPeak, buffer, bufferSize); - auxGeom.Draw2dLabel(fPosX + xTablePositions[3], posY + lineHeight, textSize, color, false, buffer); + auxGeom.Draw2dLabel(fPosX + xTablePositions[3], posY + lineHeight, textSize, color, false, "%s", buffer); auxGeom.Draw2dLabel(fPosX + xTablePositions[4], posY, textSize, color, false, "Total Size"); BytesToString(globalInfo.m_memoryReserved, buffer, bufferSize); - auxGeom.Draw2dLabel(fPosX + xTablePositions[4], posY + lineHeight, textSize, color, false, buffer); + auxGeom.Draw2dLabel(fPosX + xTablePositions[4], posY + lineHeight, textSize, color, false, "%s", buffer); auxGeom.Draw2dLabel(fPosX + xTablePositions[5], posY, textSize, color, false, "Total Allocs"); auxGeom.Draw2dLabel(fPosX + xTablePositions[5], posY + lineHeight, textSize, color, false, "%" PRIu64, totalAllocs); diff --git a/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp b/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp index b106c4f9d2..b7ed9229d8 100644 --- a/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp +++ b/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp @@ -446,13 +446,13 @@ namespace Audio } // Format: "relative/path/filename.ext (230 KiB) [2]" - AZStd::string displayString = AZStd::string::format("%s (%zu %s) [%zu]", + auxGeom.Draw2dLabel(positionX, positionY, entryDrawSize, color, false, + "%s (%zu %s) [%zu]", audioFileEntry->m_filePath.c_str(), fileSize, kiloBytes ? "KiB" : "Bytes", audioFileEntry->m_useCount); - auxGeom.Draw2dLabel(positionX, positionY, entryDrawSize, color, false, displayString.c_str()); color[3] = originalAlpha; positionY += entryStepSize; } diff --git a/Gems/Blast/Code/Source/Family/DamageManager.h b/Gems/Blast/Code/Source/Family/DamageManager.h index f56bd7bbdf..ed8d03da18 100644 --- a/Gems/Blast/Code/Source/Family/DamageManager.h +++ b/Gems/Blast/Code/Source/Family/DamageManager.h @@ -7,9 +7,12 @@ */ #pragma once +#include "AzCore/Interface/Interface.h" + #include #include #include +#include namespace Blast { diff --git a/Gems/CrashReporting/Code/CMakeLists.txt b/Gems/CrashReporting/Code/CMakeLists.txt index b12b5d8944..8bcb143d1c 100644 --- a/Gems/CrashReporting/Code/CMakeLists.txt +++ b/Gems/CrashReporting/Code/CMakeLists.txt @@ -35,17 +35,20 @@ ly_add_target( ly_create_alias(NAME CrashReporting.Clients NAMESPACE Gem TARGETS Gem::CrashReporting) ly_create_alias(NAME CrashReporting.Servers NAMESPACE Gem TARGETS Gem::CrashReporting) +if(NOT LY_MONOLITHIC_GAME) -ly_add_target( - NAME CrashReporting.Uploader APPLICATION - NAMESPACE AZ - FILES_CMAKE - game_crash_uploader_files.cmake - Platform/${PAL_PLATFORM_NAME}/game_crash_uploader_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake - INCLUDE_DIRECTORIES - PRIVATE - Include - BUILD_DEPENDENCIES - PRIVATE - AZ::CrashUploaderSupport -) + ly_add_target( + NAME CrashReporting.Uploader APPLICATION + NAMESPACE AZ + FILES_CMAKE + game_crash_uploader_files.cmake + Platform/${PAL_PLATFORM_NAME}/game_crash_uploader_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake + INCLUDE_DIRECTORIES + PRIVATE + Include + BUILD_DEPENDENCIES + PRIVATE + AZ::CrashUploaderSupport + ) + +endif() diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.cpp b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.cpp index bb84dee35d..cf23c2e79e 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.cpp @@ -120,79 +120,51 @@ namespace EMStudio MotionSetsWindowPlugin* m_plugin; }; - - // constructor MotionSetsWindowPlugin::MotionSetsWindowPlugin() : EMStudio::DockWidgetPlugin() { m_dialogStack = nullptr; m_selectedSet = nullptr; - m_createMotionSetCallback = nullptr; - m_reinitCallback = nullptr; - m_adjustMotionSetCallback = nullptr; - m_motionSetAddMotionCallback = nullptr; - m_motionSetRemoveMotionCallback = nullptr; - m_motionSetAdjustMotionCallback = nullptr; - m_loadMotionSetCallback = nullptr; m_motionSetManagementWindow = nullptr; m_motionSetWindow = nullptr; m_dirtyFilesCallback = nullptr; } - - // destructor MotionSetsWindowPlugin::~MotionSetsWindowPlugin() { - GetCommandManager()->RemoveCommandCallback(m_createMotionSetCallback, false); - GetCommandManager()->RemoveCommandCallback(m_reinitCallback, false); - GetCommandManager()->RemoveCommandCallback(m_adjustMotionSetCallback, false); - GetCommandManager()->RemoveCommandCallback(m_motionSetAddMotionCallback, false); - GetCommandManager()->RemoveCommandCallback(m_motionSetRemoveMotionCallback, false); - GetCommandManager()->RemoveCommandCallback(m_motionSetAdjustMotionCallback, false); - GetCommandManager()->RemoveCommandCallback(m_loadMotionSetCallback, false); - - delete m_createMotionSetCallback; - delete m_reinitCallback; - delete m_adjustMotionSetCallback; - delete m_motionSetAddMotionCallback; - delete m_motionSetRemoveMotionCallback; - delete m_motionSetAdjustMotionCallback; - delete m_loadMotionSetCallback; + for (MCore::Command::Callback* callback : m_callbacks) + { + GetCommandManager()->RemoveCommandCallback(callback, false); + delete callback; + } GetMainWindow()->GetDirtyFileManager()->RemoveCallback(m_dirtyFilesCallback, false); delete m_dirtyFilesCallback; } - - // clone the log window EMStudioPlugin* MotionSetsWindowPlugin::Clone() { MotionSetsWindowPlugin* newPlugin = new MotionSetsWindowPlugin(); return newPlugin; } - // init after the parent dock window has been created bool MotionSetsWindowPlugin::Init() { - m_createMotionSetCallback = new CommandCreateMotionSetCallback(false); - m_reinitCallback = new CommandReinitCallback(false); - m_adjustMotionSetCallback = new CommandAdjustMotionSetCallback(false); - m_motionSetAddMotionCallback = new CommandMotionSetAddMotionCallback(false); - m_motionSetRemoveMotionCallback = new CommandMotionSetRemoveMotionCallback(false); - m_motionSetAdjustMotionCallback = new CommandMotionSetAdjustMotionCallback(false); - m_loadMotionSetCallback = new CommandLoadMotionSetCallback(false); + auto AddCallback = [=](const char* commandName, MCore::Command::Callback* callback) + { + m_callbacks.emplace_back(callback); + GetCommandManager()->RegisterCommandCallback(commandName, m_callbacks.back()); + }; - GetCommandManager()->RegisterCommandCallback("CreateMotionSet", m_createMotionSetCallback); - GetCommandManager()->RegisterCommandCallback("RemoveMotionSet", m_reinitCallback); - GetCommandManager()->RegisterCommandCallback("AdjustMotionSet", m_adjustMotionSetCallback); - - GetCommandManager()->RegisterCommandCallback("MotionSetAddMotion", m_motionSetAddMotionCallback); - GetCommandManager()->RegisterCommandCallback("MotionSetRemoveMotion", m_motionSetRemoveMotionCallback); - GetCommandManager()->RegisterCommandCallback("MotionSetAdjustMotion", m_motionSetAdjustMotionCallback); - GetCommandManager()->RegisterCommandCallback("LoadMotionSet", m_loadMotionSetCallback); - - GetCommandManager()->RegisterCommandCallback("RemoveMotion", m_reinitCallback); + AddCallback("CreateMotionSet", new CommandReinitCallback(false)); + AddCallback("RemoveMotionSet", new CommandReinitCallback(false)); + AddCallback("RemoveMotion", new CommandReinitCallback(false)); + AddCallback("AdjustMotionSet", new CommandAdjustMotionSetCallback(false)); + AddCallback("MotionSetAddMotion", new CommandMotionSetAddMotionCallback(false)); + AddCallback("MotionSetRemoveMotion", new CommandMotionSetRemoveMotionCallback(false)); + AddCallback("MotionSetAdjustMotion", new CommandMotionSetAdjustMotionCallback(false)); + AddCallback("LoadMotionSet", new CommandLoadMotionSetCallback(false)); // create the dialog stack assert(m_dialogStack == nullptr); @@ -393,12 +365,7 @@ namespace EMStudio } MotionSetsWindowPlugin* motionSetsPlugin = (MotionSetsWindowPlugin*)plugin; - - // is the plugin visible? only update it if it is visible - if (motionSetsPlugin->GetDockWidget()->visibleRegion().isEmpty() == false) - { - motionSetsPlugin->ReInit(); - } + motionSetsPlugin->ReInit(); return true; } @@ -504,26 +471,14 @@ namespace EMStudio } - bool MotionSetsWindowPlugin::CommandCreateMotionSetCallback::Execute([[maybe_unused]] MCore::Command* command, const MCore::CommandLine& commandLine) - { - MCORE_UNUSED(commandLine); - return ReInitMotionSetsPlugin(); - } - - - bool MotionSetsWindowPlugin::CommandCreateMotionSetCallback::Undo(MCore::Command* command, const MCore::CommandLine& commandLine) { MCORE_UNUSED(command); MCORE_UNUSED(commandLine); return ReInitMotionSetsPlugin(); } - - bool MotionSetsWindowPlugin::CommandReinitCallback::Execute([[maybe_unused]] MCore::Command* command, const MCore::CommandLine& commandLine) { MCORE_UNUSED(commandLine); return ReInitMotionSetsPlugin(); } - bool MotionSetsWindowPlugin::CommandReinitCallback::Undo(MCore::Command* command, const MCore::CommandLine& commandLine) { MCORE_UNUSED(command); MCORE_UNUSED(commandLine); return ReInitMotionSetsPlugin(); } - bool MotionSetsWindowPlugin::CommandAdjustMotionSetCallback::Execute(MCore::Command* command, const MCore::CommandLine& commandLine) { MCORE_UNUSED(command); @@ -544,7 +499,6 @@ namespace EMStudio return true; } - bool MotionSetsWindowPlugin::CommandAdjustMotionSetCallback::Undo(MCore::Command* command, const MCore::CommandLine& commandLine) { MCORE_UNUSED(command); diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.h b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.h index 459118c831..377ae3d849 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.h +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetsWindowPlugin.h @@ -85,22 +85,14 @@ namespace EMStudio void WindowReInit(bool visible); private: - // declare the callbacks - MCORE_DEFINECOMMANDCALLBACK(CommandCreateMotionSetCallback); MCORE_DEFINECOMMANDCALLBACK(CommandReinitCallback); + MCORE_DEFINECOMMANDCALLBACK(CommandRemoveMotionSetCallback); MCORE_DEFINECOMMANDCALLBACK(CommandAdjustMotionSetCallback); MCORE_DEFINECOMMANDCALLBACK(CommandMotionSetAddMotionCallback); MCORE_DEFINECOMMANDCALLBACK(CommandMotionSetRemoveMotionCallback); MCORE_DEFINECOMMANDCALLBACK(CommandMotionSetAdjustMotionCallback); MCORE_DEFINECOMMANDCALLBACK(CommandLoadMotionSetCallback); - - CommandCreateMotionSetCallback* m_createMotionSetCallback; - CommandReinitCallback* m_reinitCallback; - CommandAdjustMotionSetCallback* m_adjustMotionSetCallback; - CommandMotionSetAddMotionCallback* m_motionSetAddMotionCallback; - CommandMotionSetRemoveMotionCallback* m_motionSetRemoveMotionCallback; - CommandMotionSetAdjustMotionCallback* m_motionSetAdjustMotionCallback; - CommandLoadMotionSetCallback* m_loadMotionSetCallback; + AZStd::vector m_callbacks; MotionSetManagementWindow* m_motionSetManagementWindow; MotionSetWindow* m_motionSetWindow; diff --git a/Gems/EditorPythonBindings/Code/Source/PythonProxyBus.cpp b/Gems/EditorPythonBindings/Code/Source/PythonProxyBus.cpp index e640778bbe..561daa269e 100644 --- a/Gems/EditorPythonBindings/Code/Source/PythonProxyBus.cpp +++ b/Gems/EditorPythonBindings/Code/Source/PythonProxyBus.cpp @@ -20,6 +20,7 @@ #include #include #include +#include namespace EditorPythonBindings { @@ -261,19 +262,39 @@ namespace EditorPythonBindings static void OnEventGenericHook(void* userData, const char* eventName, int eventIndex, AZ::BehaviorValueParameter* result, int numParameters, AZ::BehaviorValueParameter* parameters) { - reinterpret_cast(userData)->OnEventGenericHook(eventName, eventIndex, result, numParameters, parameters); - } - - void OnEventGenericHook(const char* eventName, [[maybe_unused]] int eventIndex, AZ::BehaviorValueParameter* result, int numParameters, AZ::BehaviorValueParameter* parameters) - { - // find the callback for the event - const auto& callbackEntry = m_callbackMap.find(eventName); - if (callbackEntry == m_callbackMap.end()) + auto editorPythonEventsInterface = AZ::Interface::Get(); + if (!editorPythonEventsInterface) { return; } - pybind11::function callback = callbackEntry->second; + // find the callback for the event + auto* handler = reinterpret_cast(userData); + const auto& callbackEntry = handler->m_callbackMap.find(eventName); + if (callbackEntry == handler->m_callbackMap.end()) + { + return; + } + + // This function can reach from multiple threads, which means OnEventGenericHook + // will require to acquire the Python GIL, make sure it tries to lock it using TryExecuteWithLock. + [[maybe_unused]] const bool executed = editorPythonEventsInterface->TryExecuteWithLock( + [handler, eventName, callback = callbackEntry->second, eventIndex, result, numParameters, parameters]() + { + handler->OnEventGenericHook(eventName, callback, eventIndex, result, numParameters, parameters); + }); + + AZ_Error("python", executed, + "Ebus(%s) event(%s) could not be executed because it could not acquire the Python GIL. " + "This occurs when there is already another thread executing python, which has the GIL locked, " + "making it not possible for this thread to callback python at the same time. " + "This is a limitation of python interpreter. Python scripts executions and event callbacks " + "from EBuses need be designed to avoid this scenario.", + handler->m_ebus->m_name.c_str(), eventName); + } + + void OnEventGenericHook(const char* eventName, pybind11::function callback, [[maybe_unused]] int eventIndex, AZ::BehaviorValueParameter* result, int numParameters, AZ::BehaviorValueParameter* parameters) + { // build the parameters to send to callback Convert::StackVariableAllocator stackVariableAllocator; pybind11::tuple pythonParamters(numParameters); diff --git a/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp b/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp index 8df196e7cb..139337ef00 100644 --- a/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp +++ b/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp @@ -258,6 +258,85 @@ namespace EditorPythonBindings void Finalize() override {} }; + // Manages the acquisition and release of the Python GIL (Global Interpreter Lock). + // Used by PythonSystemComponent to lock the GIL when executing python. + class PythonSystemComponent::PythonGILScopedLock final + { + public: + PythonGILScopedLock(AZStd::recursive_mutex& lock, int& lockRecursiveCounter, bool tryLock = false); + ~PythonGILScopedLock(); + + bool IsLocked() const; + + protected: + void Lock(bool tryLock); + void Unlock(); + + AZStd::recursive_mutex& m_lock; + int& m_lockRecursiveCounter; + bool m_locked = false; + AZStd::unique_ptr m_releaseGIL; + AZStd::unique_ptr m_acquireGIL; + }; + + PythonSystemComponent::PythonGILScopedLock::PythonGILScopedLock(AZStd::recursive_mutex& lock, int& lockRecursiveCounter, bool tryLock) + : m_lock(lock) + , m_lockRecursiveCounter(lockRecursiveCounter) + { + Lock(tryLock); + } + + PythonSystemComponent::PythonGILScopedLock::~PythonGILScopedLock() + { + Unlock(); + } + + bool PythonSystemComponent::PythonGILScopedLock::IsLocked() const + { + return m_locked; + } + + void PythonSystemComponent::PythonGILScopedLock::Lock(bool tryLock) + { + if (tryLock) + { + if (!m_lock.try_lock()) + { + return; + } + } + else + { + m_lock.lock(); + } + + m_locked = true; + m_lockRecursiveCounter++; + + // Only Acquire the GIL when there is no recursion. If there is + // recursion that means it's the same thread (because the mutex was able + // to be locked) and therefore it's already got the GIL acquired. + if (m_lockRecursiveCounter == 1) + { + m_releaseGIL = AZStd::make_unique(); + m_acquireGIL = AZStd::make_unique(); + } + } + + void PythonSystemComponent::PythonGILScopedLock::Unlock() + { + if (!m_locked) + { + return; + } + + m_acquireGIL.reset(); + m_releaseGIL.reset(); + m_lockRecursiveCounter--; + m_locked = false; + m_lock.unlock(); + } + void PythonSystemComponent::Reflect(AZ::ReflectContext* context) { if (AZ::SerializeContext* serialize = azrtti_cast(context)) @@ -296,9 +375,9 @@ namespace EditorPythonBindings void PythonSystemComponent::Deactivate() { + StopPython(true); AzToolsFramework::EditorPythonRunnerRequestBus::Handler::BusDisconnect(); AZ::Interface::Unregister(this); - StopPython(true); } bool PythonSystemComponent::StartPython([[maybe_unused]] bool silenceWarnings) @@ -354,7 +433,6 @@ namespace EditorPythonBindings bool result = false; EditorPythonBindingsNotificationBus::Broadcast(&EditorPythonBindingsNotificationBus::Events::OnPreFinalize); - AzToolsFramework::EditorPythonRunnerRequestBus::Handler::BusDisconnect(); result = StopPythonInterpreter(); EditorPythonBindingsNotificationBus::Broadcast(&EditorPythonBindingsNotificationBus::Events::OnPostFinalize); @@ -374,12 +452,21 @@ namespace EditorPythonBindings void PythonSystemComponent::ExecuteWithLock(AZStd::function executionCallback) { - AZStd::lock_guard lock(m_lock); - pybind11::gil_scoped_release release; - pybind11::gil_scoped_acquire acquire; + PythonGILScopedLock lock(m_lock, m_lockRecursiveCounter); executionCallback(); } + bool PythonSystemComponent::TryExecuteWithLock(AZStd::function executionCallback) + { + PythonGILScopedLock lock(m_lock, m_lockRecursiveCounter, true /*tryLock*/); + if (lock.IsLocked()) + { + executionCallback(); + return true; + } + return false; + } + void PythonSystemComponent::DiscoverPythonPaths(PythonPathStack& pythonPathStack) { // the order of the Python paths is the order the Python bootstrap scripts will execute @@ -548,8 +635,7 @@ namespace EditorPythonBindings RedirectOutput::Intialize(PyImport_ImportModule("azlmbr_redirect")); // Acquire GIL before calling Python code - AZStd::lock_guard lock(m_lock); - pybind11::gil_scoped_acquire acquire; + PythonGILScopedLock lock(m_lock, m_lockRecursiveCounter); if (EditorPythonBindings::PythonSymbolEventBus::GetTotalNumOfEventHandlers() == 0) { @@ -622,8 +708,7 @@ namespace EditorPythonBindings &AzToolsFramework::EditorPythonScriptNotificationsBus::Events::OnStartExecuteByString, script); // Acquire GIL before calling Python code - AZStd::lock_guard lock(m_lock); - pybind11::gil_scoped_acquire acquire; + PythonGILScopedLock lock(m_lock, m_lockRecursiveCounter); // Acquire scope for __main__ for executing our script pybind11::object scope = pybind11::module::import("__main__").attr("__dict__"); @@ -741,8 +826,7 @@ namespace EditorPythonBindings try { // Acquire GIL before calling Python code - AZStd::lock_guard lock(m_lock); - pybind11::gil_scoped_acquire acquire; + PythonGILScopedLock lock(m_lock, m_lockRecursiveCounter); // Create standard "argc" / "argv" command-line parameters to pass in to the Python script via sys.argv. // argc = number of parameters. This will always be at least 1, since the first parameter is the script name. diff --git a/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.h b/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.h index 48ac27a036..0b7a804207 100644 --- a/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.h +++ b/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.h @@ -48,6 +48,7 @@ namespace EditorPythonBindings bool IsPythonActive() override; void WaitForInitialization() override; void ExecuteWithLock(AZStd::function executionCallback) override; + bool TryExecuteWithLock(AZStd::function executionCallback) override; //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// @@ -60,11 +61,13 @@ namespace EditorPythonBindings private: class SymbolLogHelper; + class PythonGILScopedLock; // handle multiple Python initializers and threads AZStd::atomic_int m_initalizeWaiterCount {0}; AZStd::semaphore m_initalizeWaiter; AZStd::recursive_mutex m_lock; + int m_lockRecursiveCounter = 0; AZStd::shared_ptr m_symbolLogHelper; enum class Result diff --git a/Gems/EditorPythonBindings/Code/Tests/EditorPythonBindingsTest.cpp b/Gems/EditorPythonBindings/Code/Tests/EditorPythonBindingsTest.cpp index b1e504fb47..d630605cbc 100644 --- a/Gems/EditorPythonBindings/Code/Tests/EditorPythonBindingsTest.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/EditorPythonBindingsTest.cpp @@ -65,7 +65,7 @@ namespace UnitTest { // clearing up memory m_notificationSink = EditorPythonBindingsNotificationBusSink(); - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); // shutdown time! PythonTestingFixture::TearDown(); @@ -333,7 +333,7 @@ sys.version { // clearing up memory m_notificationSink = EditorPythonBindingsNotificationBusSink(); - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); // shutdown time! PythonTestingFixture::TearDown(); diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonAssetTypesTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonAssetTypesTests.cpp index 4d902c10ab..78ac2a0a45 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonAssetTypesTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonAssetTypesTests.cpp @@ -366,7 +366,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonAssociativeTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonAssociativeTests.cpp index 54748374d0..f4573ca012 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonAssociativeTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonAssociativeTests.cpp @@ -95,7 +95,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonContainerAnyTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonContainerAnyTests.cpp index 66bf562809..4fd571120b 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonContainerAnyTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonContainerAnyTests.cpp @@ -227,7 +227,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonDictionaryTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonDictionaryTests.cpp index 24689bbfe3..a106d56d40 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonDictionaryTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonDictionaryTests.cpp @@ -107,7 +107,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonGlobalsTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonGlobalsTests.cpp index b9af65ef48..89637c89a5 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonGlobalsTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonGlobalsTests.cpp @@ -175,7 +175,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonPairTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonPairTests.cpp index b54606b3b6..df6c3aceac 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonPairTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonPairTests.cpp @@ -121,7 +121,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonProxyBusTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonProxyBusTests.cpp index 3e93b6052b..68135cff8d 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonProxyBusTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonProxyBusTests.cpp @@ -207,11 +207,13 @@ namespace UnitTest : AZ::EBusTraits { static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; + using MutexType = AZStd::mutex; virtual ~PythonTestSingleAddressNotifications() = default; virtual void OnPing(AZ::u64 count) = 0; virtual void OnPong(AZ::u64 count) = 0; virtual void MultipleInputs(AZ::u64 one, AZ::s8 two, AZStd::string_view three) = 0; virtual AZStd::string OnAddFish(AZStd::string_view value) = 0; + virtual void OnFire() = 0; }; using PythonTestSingleAddressNotificationBus = AZ::EBus; @@ -220,7 +222,7 @@ namespace UnitTest , public AZ::BehaviorEBusHandler { AZ_EBUS_BEHAVIOR_BINDER(PythonTestNotificationHandler, "{97052D15-A4E8-461B-B065-91D16E31C4F7}", AZ::SystemAllocator, - OnPing, OnPong, MultipleInputs, OnAddFish); + OnPing, OnPong, MultipleInputs, OnAddFish, OnFire); virtual ~PythonTestNotificationHandler() = default; @@ -246,6 +248,11 @@ namespace UnitTest return result; } + void OnFire() override + { + Call(FN_OnFire); + } + static AZ::u64 s_pongCount; static AZ::u64 s_pingCount; @@ -270,6 +277,25 @@ namespace UnitTest return result; } + static void DoFire() + { + PythonTestSingleAddressNotificationBus::Broadcast(&PythonTestSingleAddressNotificationBus::Events::OnFire); + } + + static void DoFiresInParallel(int value) + { + AZStd::vector threads; + threads.reserve(value); + for (size_t i = 0; i < value; ++i) + { + threads.emplace_back(&DoFire); + } + for (AZStd::thread& thread : threads) + { + thread.join(); + } + } + static void Reset() { s_pingCount = 0; @@ -288,6 +314,7 @@ namespace UnitTest ->Event("on_pong", &PythonTestSingleAddressNotificationBus::Events::OnPong) ->Event("MultipleInputs", &PythonTestSingleAddressNotificationBus::Events::MultipleInputs) ->Event("OnAddFish", &PythonTestSingleAddressNotificationBus::Events::OnAddFish) + ->Event("OnFire", &PythonTestSingleAddressNotificationBus::Events::OnFire) ; // for testing from Python to send out the events @@ -297,6 +324,8 @@ namespace UnitTest ->Method("do_ping", &PythonTestNotificationHandler::DoPing) ->Method("do_pong", &PythonTestNotificationHandler::DoPong) ->Method("do_add_fish", &PythonTestNotificationHandler::DoAddFish) + ->Method("do_fire", &PythonTestNotificationHandler::DoFire) + ->Method("do_fires_in_parallel", &PythonTestNotificationHandler::DoFiresInParallel) ; } } @@ -358,7 +387,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; @@ -809,6 +838,65 @@ namespace UnitTest EXPECT_EQ(2, m_testSink.m_evaluationMap[static_cast(LogTypes::AtAddress_Match)]); } + TEST_F(PythonBusProxyTests, SingleAddressNotifications_InParallel_Errors) + { + PythonTestNotificationHandler pythonTestNotificationHandler; + pythonTestNotificationHandler.Reflect(m_app.GetBehaviorContext()); + + AZ::Entity e; + Activate(e); + + SimulateEditorBecomingInitialized(); + + enum class LogTypes + { + Skip = 0, + Notifications_OnFire, + }; + + m_testSink.m_evaluateMessage = [](const char* window, const char* message) -> int + { + if (AzFramework::StringFunc::Equal(window, "python")) + { + if (AzFramework::StringFunc::Equal(message, "Notifications_OnFire")) + { + return static_cast(LogTypes::Notifications_OnFire); + } + } + return static_cast(LogTypes::Skip); + }; + + UnitTest::PythonTestNotificationHandler::Reset(); + + const int numFiresInParallel = 220; + + const AZStd::string script = AZStd::string::format( + "import azlmbr.bus\n" + "import azlmbr.test\n" + "\n" + "def OnFire(parameters) :\n" + " print('Notifications_OnFire')\n" + "\n" + "handler = azlmbr.bus.NotificationHandler('PythonTestSingleAddressNotificationBus')\n" + "handler.connect(None)\n" + "handler.add_callback('OnFire', OnFire)\n" + "\n" + "azlmbr.test.PythonTestNotificationHandler_do_fire()\n" + "\n" + "azlmbr.test.PythonTestNotificationHandler_do_fires_in_parallel(%d)\n" + "\n" + "handler.disconnect()\n", + numFiresInParallel); + + AZ_TEST_START_TRACE_SUPPRESSION; + AzToolsFramework::EditorPythonRunnerRequestBus::Broadcast(&AzToolsFramework::EditorPythonRunnerRequestBus::Events::ExecuteByString, script, false); + AZ_TEST_STOP_TRACE_SUPPRESSION(numFiresInParallel); // Expect numFiresInParallel errors + + e.Deactivate(); + + EXPECT_EQ(1, m_testSink.m_evaluationMap[static_cast(LogTypes::Notifications_OnFire)]); + } + TEST_F(PythonBusProxyTests, NotificationsWithNoAddress) { PythonTestNotificationHandler pythonTestNotificationHandler; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonProxyObjectTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonProxyObjectTests.cpp index 66f2ef6eb0..9f825c8d1c 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonProxyObjectTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonProxyObjectTests.cpp @@ -419,7 +419,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonReflectionComponentTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonReflectionComponentTests.cpp index 147ff89435..8d472945cc 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonReflectionComponentTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonReflectionComponentTests.cpp @@ -532,7 +532,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonThreadingTests.cpp b/Gems/EditorPythonBindings/Code/Tests/PythonThreadingTests.cpp index b2e18265cb..6d34405483 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonThreadingTests.cpp +++ b/Gems/EditorPythonBindings/Code/Tests/PythonThreadingTests.cpp @@ -75,7 +75,7 @@ namespace UnitTest void TearDown() override { // clearing up memory - m_testSink = PythonTraceMessageSink(); + m_testSink.CleanUp(); PythonTestingFixture::TearDown(); } }; @@ -114,38 +114,29 @@ namespace UnitTest try { // prepare handler on this thread - pybind11::exec(R"( - import azlmbr.test + const AZStd::string_view script = + "import azlmbr.test\n" + "\n" + "def on_notification(args) :\n" + " value = args[0] + 2\n" + " print('RanInThread')\n" + " return value\n" + "\n" + "handler = azlmbr.test.PythonThreadNotificationBusHandler()\n" + "handler.connect()\n" + "handler.add_callback('OnNotification', on_notification)\n"; - def on_notification(args): - value = args[0] + 2 - print ('RanInThread') - return value - - handler = azlmbr.test.PythonThreadNotificationBusHandler() - handler.connect() - handler.add_callback('OnNotification', on_notification) - )"); + AzToolsFramework::EditorPythonRunnerRequestBus::Broadcast(&AzToolsFramework::EditorPythonRunnerRequestBus::Events::ExecuteByString, script, false /*printResult*/); // start thread; in thread issue notification auto threadCallback = []() { AZ::s64 result = 0; - auto notificationCallback = [&result]() - { - PythonThreadNotificationBus::BroadcastResult(result, &PythonThreadNotificationBus::Events::OnNotification, 40); - }; - - auto editorPythonEventsInterface = AZ::Interface::Get(); - if (editorPythonEventsInterface) - { - editorPythonEventsInterface->ExecuteWithLock(notificationCallback); - } + PythonThreadNotificationBus::BroadcastResult(result, &PythonThreadNotificationBus::Events::OnNotification, 40); EXPECT_EQ(42, result); }; AZStd::thread theThread(threadCallback); - AZStd::this_thread::sleep_for(AZStd::chrono::milliseconds(100)); theThread.join(); } catch ([[maybe_unused]] const std::exception& e) @@ -187,21 +178,11 @@ namespace UnitTest auto threadCallback = []() { AZ::s64 result = 0; - auto notificationCallback = [&result]() - { - PythonThreadNotificationBus::BroadcastResult(result, &PythonThreadNotificationBus::Events::OnNotification, 40); - }; - - auto editorPythonEventsInterface = AZ::Interface::Get(); - if (editorPythonEventsInterface) - { - editorPythonEventsInterface->ExecuteWithLock(notificationCallback); - } + PythonThreadNotificationBus::BroadcastResult(result, &PythonThreadNotificationBus::Events::OnNotification, 40); EXPECT_EQ(0, result); }; AZStd::thread theThread(threadCallback); - AZStd::this_thread::sleep_for(AZStd::chrono::milliseconds(100)); theThread.join(); // the Python script above raises an exception which causes two AZ_Error() message lines: diff --git a/Gems/EditorPythonBindings/Code/Tests/PythonTraceMessageSink.h b/Gems/EditorPythonBindings/Code/Tests/PythonTraceMessageSink.h index 7294de4910..28971aec9e 100644 --- a/Gems/EditorPythonBindings/Code/Tests/PythonTraceMessageSink.h +++ b/Gems/EditorPythonBindings/Code/Tests/PythonTraceMessageSink.h @@ -37,6 +37,15 @@ namespace UnitTest using EvaluationMap = AZStd::unordered_map; // tag to count EvaluationMap m_evaluationMap; + AZStd::mutex m_lock; + + void CleanUp() + { + AZStd::lock_guard lock(m_lock); + m_evaluateMessage = {}; + m_evaluationMap.clear(); + } + ////////////////////////////////////////////////////////////////////////// // TraceMessageDrillerBus void OnPrintf(const char* window, const char* message) override @@ -46,6 +55,8 @@ namespace UnitTest void OnOutput(const char* window, const char* message) override { + AZStd::lock_guard lock(m_lock); + if (m_evaluateMessage) { int key = m_evaluateMessage(window, message); diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerClickOrTap.inl b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerClickOrTap.inl index 9333c5cbc9..b14ef18994 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerClickOrTap.inl +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerClickOrTap.inl @@ -78,7 +78,7 @@ inline bool Gestures::RecognizerClickOrTap::OnPressedEvent(const AZ::Vector2& sc return false; } - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); switch (m_currentState) { case State::Idle: @@ -129,7 +129,7 @@ inline bool Gestures::RecognizerClickOrTap::OnDownEvent(const AZ::Vector2& scree { case State::Pressed: { - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); if ((currentTime.GetDifferenceInSeconds(m_timeOfLastEvent) > m_config.maxSecondsHeld) || (screenPosition.GetDistance(m_positionOfLastEvent) > m_config.maxPixelsMoved)) { @@ -168,7 +168,7 @@ inline bool Gestures::RecognizerClickOrTap::OnReleasedEvent(const AZ::Vector2& s { case State::Pressed: { - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); if ((currentTime.GetDifferenceInSeconds(m_timeOfLastEvent) > m_config.maxSecondsHeld) || (screenPosition.GetDistance(m_positionOfLastEvent) > m_config.maxPixelsMoved)) { diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerDrag.inl b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerDrag.inl index 642ae9b852..0c83893c9d 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerDrag.inl +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerDrag.inl @@ -68,7 +68,7 @@ inline bool Gestures::RecognizerDrag::OnPressedEvent(const AZ::Vector2& screenPo { case State::Idle: { - m_startTime = gEnv->pTimer->GetFrameStartTime().GetValue(); + m_startTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime().GetValue() : 0; m_startPosition = screenPosition; m_currentPosition = screenPosition; m_currentState = State::Pressed; @@ -101,7 +101,7 @@ inline bool Gestures::RecognizerDrag::OnDownEvent(const AZ::Vector2& screenPosit { case State::Pressed: { - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); if ((currentTime.GetDifferenceInSeconds(m_startTime) >= m_config.minSecondsHeld) && (GetDistance() >= m_config.minPixelsMoved)) { diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.h b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.h index facdd899c8..11bd56ff4d 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.h +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.h @@ -64,7 +64,7 @@ namespace Gestures AZ::Vector2 GetStartPosition() const { return m_startPosition; } AZ::Vector2 GetCurrentPosition() const { return m_currentPosition; } - float GetDuration() const { return gEnv->pTimer->GetFrameStartTime().GetDifferenceInSeconds(m_startTime); } + float GetDuration() const { return (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime().GetDifferenceInSeconds(m_startTime) : 0.0f; } private: enum class State diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.inl b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.inl index a85acfe466..6af8a10890 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.inl +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerHold.inl @@ -68,7 +68,7 @@ inline bool Gestures::RecognizerHold::OnPressedEvent(const AZ::Vector2& screenPo { case State::Idle: { - m_startTime = gEnv->pTimer->GetFrameStartTime().GetValue(); + m_startTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime().GetValue() : 0; m_startPosition = screenPosition; m_currentPosition = screenPosition; m_currentState = State::Pressed; @@ -101,7 +101,7 @@ inline bool Gestures::RecognizerHold::OnDownEvent(const AZ::Vector2& screenPosit { case State::Pressed: { - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); if (screenPosition.GetDistance(m_startPosition) > m_config.maxPixelsMoved) { // Hold recognition failed. diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerPinch.inl b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerPinch.inl index 1a198eab59..642d781c35 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerPinch.inl +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerPinch.inl @@ -112,7 +112,7 @@ inline bool Gestures::RecognizerPinch::OnDownEvent(const AZ::Vector2& screenPosi } m_currentPositions[pointerIndex] = screenPosition; - m_lastUpdateTimes[pointerIndex] = gEnv->pTimer->GetFrameStartTime().GetValue(); + m_lastUpdateTimes[pointerIndex] = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime().GetValue() : 0; if (m_lastUpdateTimes[0] != m_lastUpdateTimes[1]) { // We need to wait until both touches have been updated this frame. diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerRotate.inl b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerRotate.inl index 6cc82f47dc..2ae504e309 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerRotate.inl +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerRotate.inl @@ -101,7 +101,7 @@ inline bool Gestures::RecognizerRotate::OnDownEvent(const AZ::Vector2& screenPos } m_currentPositions[pointerIndex] = screenPosition; - m_lastUpdateTimes[pointerIndex] = gEnv->pTimer->GetFrameStartTime().GetValue(); + m_lastUpdateTimes[pointerIndex] = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime().GetValue() : 0; if (m_lastUpdateTimes[0] != m_lastUpdateTimes[1]) { // We need to wait until both touches have been updated this frame. diff --git a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerSwipe.inl b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerSwipe.inl index 8d59525e93..5f879ce423 100644 --- a/Gems/Gestures/Code/Include/Gestures/GestureRecognizerSwipe.inl +++ b/Gems/Gestures/Code/Include/Gestures/GestureRecognizerSwipe.inl @@ -68,7 +68,7 @@ inline bool Gestures::RecognizerSwipe::OnPressedEvent(const AZ::Vector2& screenP { case State::Idle: { - m_startTime = gEnv->pTimer->GetFrameStartTime().GetValue(); + m_startTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime().GetValue() : 0; m_startPosition = screenPosition; m_endPosition = screenPosition; m_currentState = State::Pressed; @@ -98,7 +98,7 @@ inline bool Gestures::RecognizerSwipe::OnDownEvent([[maybe_unused]] const AZ::Ve { case State::Pressed: { - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); if (currentTime.GetDifferenceInSeconds(m_startTime) > m_config.maxSecondsHeld) { // Swipe recognition failed because we took too long. @@ -134,7 +134,7 @@ inline bool Gestures::RecognizerSwipe::OnReleasedEvent(const AZ::Vector2& screen { case State::Pressed: { - const CTimeValue currentTime = gEnv->pTimer->GetFrameStartTime(); + const CTimeValue currentTime = (gEnv && gEnv->pTimer) ? gEnv->pTimer->GetFrameStartTime() : CTimeValue(); if ((currentTime.GetDifferenceInSeconds(m_startTime) <= m_config.maxSecondsHeld) && (screenPosition.GetDistance(m_startPosition) >= m_config.minPixelsMoved)) { diff --git a/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYAssetExplorer.cpp b/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYAssetExplorer.cpp index af37e0139a..055537a8bb 100644 --- a/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYAssetExplorer.cpp +++ b/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYAssetExplorer.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include diff --git a/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYEntityOutliner.cpp b/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYEntityOutliner.cpp index 7f4877347f..2df6c9984b 100644 --- a/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYEntityOutliner.cpp +++ b/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYEntityOutliner.cpp @@ -84,99 +84,99 @@ namespace ImGui ImGui::Columns(3); ImGui::TextColored(m_displayName.m_color, "Display Name"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayNameCB", &m_displayName.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayNameCol", reinterpret_cast(&m_displayName.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayChildCount.m_color, "Display Child Count"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayChildCountCB", &m_displayChildCount.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayChildCountCol", reinterpret_cast(&m_displayChildCount.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayDescentdantCount.m_color, "Display Descendant Count"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayDescendantCountCB", &m_displayDescentdantCount.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayDescendantCountCol", reinterpret_cast(&m_displayDescentdantCount.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayEntityState.m_color, "Display Entity Status"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayEntityStateCB", &m_displayEntityState.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayEntityStateCol", reinterpret_cast(&m_displayEntityState.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayParentInfo.m_color, "Display Parent Info"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayParentInfoCB", &m_displayParentInfo.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayParentInfoCol", reinterpret_cast(&m_displayParentInfo.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayLocalPos.m_color, "Display Local Position"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayLocalPosCB", &m_displayLocalPos.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayLocalPosCol", reinterpret_cast(&m_displayLocalPos.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayLocalRotation.m_color, "Display Local Rotation"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayLocalRotationCB", &m_displayLocalRotation.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayLocalRotationCol", reinterpret_cast(&m_displayLocalRotation.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayWorldPos.m_color, "Display World Position"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayWorldPosCB", &m_displayWorldPos.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayWorldPosCol", reinterpret_cast(&m_displayWorldPos.m_color)); ImGui::NextColumn(); ImGui::TextColored(m_displayWorldRotation.m_color, "Display World Rotation"); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_OnText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_OnText); ImGui::SameLine(); ImGui::Checkbox("##DisplayWorldRotationCB", &m_displayWorldRotation.m_enabled); ImGui::NextColumn(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, s_ColorText); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "%s", s_ColorText); ImGui::SameLine(); ImGui::ColorEdit4("##DisplayWorldRotationCol", reinterpret_cast(&m_displayWorldRotation.m_color)); @@ -508,7 +508,7 @@ namespace ImGui } else if (sameLine) { - if (ImGui::TreeNode(childTreeNodeStr.c_str(), childTreeNodeStr.c_str())) + if (ImGui::TreeNode(childTreeNodeStr.c_str(), "%s", childTreeNodeStr.c_str())) { ImGuiUpdate_RecursivelyDisplayEntityInfoAndDecendants_DrawDisplayOptions(node, drawInspectButton, drawTargetButton, drawDebugButton, sameLine, drawComponents); @@ -528,7 +528,7 @@ namespace ImGui { ImGuiUpdate_RecursivelyDisplayEntityInfoAndDecendants_DrawDisplayOptions(node, drawInspectButton, drawTargetButton, drawDebugButton, sameLine, drawComponents); childTreeNodeStr = AZStd::string::format("Children ##%s", childTreeNodeStr.c_str()); - if (ImGui::TreeNode(childTreeNodeStr.c_str(), childTreeNodeStr.c_str())) + if (ImGui::TreeNode(childTreeNodeStr.c_str(), "%s", childTreeNodeStr.c_str())) { for (int i = 0; i < node->m_children.size(); i++) { @@ -542,7 +542,7 @@ namespace ImGui else if (!justDrawChildren) { ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "->"); ImGui::SameLine(); - ImGui::Text(childTreeNodeStr.c_str()); + ImGui::Text("%s", childTreeNodeStr.c_str()); ImGuiUpdate_RecursivelyDisplayEntityInfoAndDecendants_DrawDisplayOptions(node, drawInspectButton, drawTargetButton, drawDebugButton, sameLine, drawComponents); } } @@ -561,7 +561,7 @@ namespace ImGui { ImGui::SameLine(); } - ImGui::TextColored(m_displayName.m_color, entityName.c_str()); + ImGui::TextColored(m_displayName.m_color, "%s", entityName.c_str()); } // Draw EntityViewer Button @@ -762,7 +762,7 @@ namespace ImGui { // Draw collapsible menu for the components set AZStd::string uiLabel = AZStd::string::format("Components##%s", node->m_entityId.ToString().c_str()); - if (ImGui::TreeNode(uiLabel.c_str(), uiLabel.c_str())) + if (ImGui::TreeNode(uiLabel.c_str(), "%s", uiLabel.c_str())) { AZ::Entity::ComponentArrayType components = entity->GetComponents(); // we should sort our array of components based on their names. @@ -781,7 +781,7 @@ namespace ImGui bool hasDebug = ComponentHasDebug(component->RTTI_GetType()); // Draw a collapsible menu for each component uiLabel = AZStd::string::format("%s##%s", component->RTTI_GetTypeName(), node->m_entityId.ToString().c_str()); - if (ImGui::TreeNode(uiLabel.c_str(), uiLabel.c_str())) + if (ImGui::TreeNode(uiLabel.c_str(), "%s", uiLabel.c_str())) { if (hasDebug) { @@ -795,7 +795,7 @@ namespace ImGui // Draw a collapsible menu for all Reflected Properties uiLabel = AZStd::string::format("Reflected Properties##%s", node->m_entityId.ToString().c_str()); - if (ImGui::TreeNode(uiLabel.c_str(), uiLabel.c_str())) + if (ImGui::TreeNode(uiLabel.c_str(), "%s", uiLabel.c_str())) { AZ::SerializeContext *serializeContext = nullptr; AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext); @@ -820,7 +820,7 @@ namespace ImGui if (hasDebug) { uiLabel = AZStd::string::format("Debug##%s", node->m_entityId.ToString().c_str()); - if (ImGui::TreeNode(uiLabel.c_str(), uiLabel.c_str())) + if (ImGui::TreeNode(uiLabel.c_str(), "%s", uiLabel.c_str())) { // Attempt to draw any debug information for this component ImGuiUpdateDebugComponentListenerBus::Event(ImGuiEntComponentId(node->m_entityId, component->RTTI_GetType()) diff --git a/Gems/ImGui/External/ImGui/v1.82/imgui/imgui_widgets.cpp b/Gems/ImGui/External/ImGui/v1.82/imgui/imgui_widgets.cpp index 86381358fa..d3b6f5826c 100644 --- a/Gems/ImGui/External/ImGui/v1.82/imgui/imgui_widgets.cpp +++ b/Gems/ImGui/External/ImGui/v1.82/imgui/imgui_widgets.cpp @@ -58,6 +58,7 @@ Index of this file: #pragma warning (disable: 4996) // 'This function or variable may be unsafe': strcpy, strdup, sprintf, vsnprintf, sscanf, fopen #if defined(_MSC_VER) && _MSC_VER >= 1922 // MSVC 2019 16.2 or later #pragma warning (disable: 5054) // operator '|': deprecated between enumerations of different types +#pragma warning (disable: 4774) // format string expected in argument 2 is not a string literal #endif #endif diff --git a/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp b/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp index 78742028f9..31cf68e9a0 100644 --- a/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp +++ b/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp @@ -72,6 +72,7 @@ // Shape components #include "Shape/SphereShapeComponent.h" #include "Shape/DiskShapeComponent.h" +#include "Shape/AxisAlignedBoxShapeComponent.h" #include "Shape/BoxShapeComponent.h" #include "Shape/QuadShapeComponent.h" #include "Shape/CylinderShapeComponent.h" @@ -202,6 +203,7 @@ namespace LmbrCentral SphereShapeComponent::CreateDescriptor(), DiskShapeComponent::CreateDescriptor(), BoxShapeComponent::CreateDescriptor(), + AxisAlignedBoxShapeComponent::CreateDescriptor(), QuadShapeComponent::CreateDescriptor(), CylinderShapeComponent::CreateDescriptor(), CapsuleShapeComponent::CreateDescriptor(), @@ -215,6 +217,7 @@ namespace LmbrCentral SphereShapeDebugDisplayComponent::CreateDescriptor(), DiskShapeDebugDisplayComponent::CreateDescriptor(), BoxShapeDebugDisplayComponent::CreateDescriptor(), + AxisAlignedBoxShapeDebugDisplayComponent::CreateDescriptor(), QuadShapeDebugDisplayComponent::CreateDescriptor(), CapsuleShapeDebugDisplayComponent::CreateDescriptor(), CylinderShapeDebugDisplayComponent::CreateDescriptor(), diff --git a/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp b/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp index b15a31f8b3..511bf98582 100644 --- a/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp +++ b/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp @@ -24,6 +24,7 @@ #include "Scripting/EditorSpawnerComponent.h" #include "Scripting/EditorTagComponent.h" +#include "Shape/EditorAxisAlignedBoxShapeComponent.h" #include "Shape/EditorBoxShapeComponent.h" #include "Shape/EditorQuadShapeComponent.h" #include "Shape/EditorSphereShapeComponent.h" @@ -67,6 +68,7 @@ namespace LmbrCentral EditorDiskShapeComponent::CreateDescriptor(), EditorTubeShapeComponent::CreateDescriptor(), EditorBoxShapeComponent::CreateDescriptor(), + EditorAxisAlignedBoxShapeComponent::CreateDescriptor(), EditorQuadShapeComponent::CreateDescriptor(), EditorLookAtComponent::CreateDescriptor(), EditorCylinderShapeComponent::CreateDescriptor(), diff --git a/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShape.cpp b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShape.cpp new file mode 100644 index 0000000000..2553f8ab3e --- /dev/null +++ b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShape.cpp @@ -0,0 +1,59 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include "AxisAlignedBoxShape.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace LmbrCentral +{ + AxisAlignedBoxShape::AxisAlignedBoxShape() + : BoxShape() + { + } + + void AxisAlignedBoxShape::Reflect(AZ::ReflectContext* context) + { + if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(1) + ; + + if (AZ::EditContext* editContext = serializeContext->GetEditContext()) + { + editContext->Class("Axis Aligned Box Shape", "Axis Aligned Box shape configuration parameters") + ; + } + } + } + + void AxisAlignedBoxShape::Activate(AZ::EntityId entityId) + { + BoxShape::Activate(entityId); + m_currentTransform.SetRotation(AZ::Quaternion::CreateIdentity()); + } + + void AxisAlignedBoxShape::OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) + { + AZ::Transform worldNoRotation(world.GetTranslation(), AZ::Quaternion::CreateIdentity(), world.GetUniformScale()); + BoxShape::OnTransformChanged(local, worldNoRotation); + } +} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShape.h b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShape.h new file mode 100644 index 0000000000..724092b608 --- /dev/null +++ b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShape.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include "BoxShape.h" + +namespace AzFramework +{ + class DebugDisplayRequests; +} + +namespace LmbrCentral +{ + struct ShapeDrawParams; + + class AxisAlignedBoxShape + : public BoxShape + { + public: + AZ_CLASS_ALLOCATOR(AxisAlignedBoxShape, AZ::SystemAllocator, 0) + AZ_RTTI(AxisAlignedBoxShape, "{CFDC96C5-287A-4033-8D7D-BA9331C13F25}", BoxShape) + + AxisAlignedBoxShape(); + + static void Reflect(AZ::ReflectContext* context); + + void Activate(AZ::EntityId entityId) override; + + // AZ::TransformNotificationBus::Handler + void OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) override; + }; +} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShapeComponent.cpp b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShapeComponent.cpp new file mode 100644 index 0000000000..7f919bc097 --- /dev/null +++ b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShapeComponent.cpp @@ -0,0 +1,159 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + + +#include "AxisAlignedBoxShapeComponent.h" +#include +#include +#include +#include +#include + +namespace LmbrCentral +{ + void AxisAlignedBoxShapeComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) + { + provided.push_back(AZ_CRC_CE("ShapeService")); + provided.push_back(AZ_CRC_CE("BoxShapeService")); + provided.push_back(AZ_CRC_CE("AxisAlignedBoxShapeService")); + } + + void AxisAlignedBoxShapeComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible) + { + incompatible.push_back(AZ_CRC_CE("ShapeService")); + incompatible.push_back(AZ_CRC_CE("AxisAlignedBoxShapeService")); + } + + void AxisAlignedBoxShapeComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) + { + required.push_back(AZ_CRC_CE("TransformService")); + } + + void AxisAlignedBoxShapeComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) + { + dependent.push_back(AZ_CRC_CE("NonUniformScaleService")); + } + + void AxisAlignedBoxShapeDebugDisplayComponent::Reflect(AZ::ReflectContext* context) + { + if (auto serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(1)->Field( + "Configuration", &AxisAlignedBoxShapeDebugDisplayComponent::m_boxShapeConfig) + ; + } + } + + void AxisAlignedBoxShapeDebugDisplayComponent::Activate() + { + EntityDebugDisplayComponent::Activate(); + ShapeComponentNotificationsBus::Handler::BusConnect(GetEntityId()); + m_nonUniformScale = AZ::Vector3::CreateOne(); + AZ::NonUniformScaleRequestBus::EventResult(m_nonUniformScale, GetEntityId(), &AZ::NonUniformScaleRequests::GetScale); + } + + void AxisAlignedBoxShapeDebugDisplayComponent::Deactivate() + { + ShapeComponentNotificationsBus::Handler::BusDisconnect(); + EntityDebugDisplayComponent::Deactivate(); + } + + void AxisAlignedBoxShapeDebugDisplayComponent::Draw(AzFramework::DebugDisplayRequests& debugDisplay) + { + AZ::Matrix3x4 saveMatrix; + ShapeDrawParams drawParams = g_defaultShapeDrawParams; + drawParams.m_shapeColor = m_boxShapeConfig.GetDrawColor(); + drawParams.m_filled = m_boxShapeConfig.IsFilled(); + AZ::Transform transform = GetCurrentTransform(); + transform.SetRotation(AZ::Quaternion::CreateIdentity()); + saveMatrix = debugDisplay.PopPremultipliedMatrix(); + debugDisplay.PushMatrix(transform); + DrawBoxShape(drawParams, m_boxShapeConfig, debugDisplay, m_nonUniformScale); + debugDisplay.PopMatrix(); + debugDisplay.PushPremultipliedMatrix(saveMatrix); + } + + bool AxisAlignedBoxShapeDebugDisplayComponent::ReadInConfig(const AZ::ComponentConfig* baseConfig) + { + if (const auto config = azrtti_cast(baseConfig)) + { + m_boxShapeConfig = *config; + return true; + } + return false; + } + + bool AxisAlignedBoxShapeDebugDisplayComponent::WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const + { + if (auto outConfig = azrtti_cast(outBaseConfig)) + { + *outConfig = m_boxShapeConfig; + return true; + } + return false; + } + + void AxisAlignedBoxShapeDebugDisplayComponent::OnShapeChanged(ShapeChangeReasons changeReason) + { + if (changeReason == ShapeChangeReasons::ShapeChanged) + { + BoxShapeComponentRequestsBus::EventResult(m_boxShapeConfig, GetEntityId(), &BoxShapeComponentRequests::GetBoxConfiguration); + AZ::NonUniformScaleRequestBus::EventResult(m_nonUniformScale, GetEntityId(), &AZ::NonUniformScaleRequests::GetScale); + } + } + + void AxisAlignedBoxShapeComponent::Reflect(AZ::ReflectContext* context) + { + AxisAlignedBoxShape::Reflect(context); + + if (auto serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(1) + ->Field("AxisAlignedBoxShape", &AxisAlignedBoxShapeComponent::m_aaboxShape) + ; + } + + if (AZ::BehaviorContext* behaviorContext = azrtti_cast(context)) + { + behaviorContext->Constant("AxisAlignedBoxShapeComponentTypeId", BehaviorConstant(AxisAlignedBoxShapeComponentTypeId)); + } + } + + void AxisAlignedBoxShapeComponent::Activate() + { + m_aaboxShape.Activate(GetEntityId()); + } + + void AxisAlignedBoxShapeComponent::Deactivate() + { + m_aaboxShape.Deactivate(); + } + + bool AxisAlignedBoxShapeComponent::ReadInConfig(const AZ::ComponentConfig* baseConfig) + { + if (const auto config = azrtti_cast(baseConfig)) + { + m_aaboxShape.SetBoxConfiguration(*config); + return true; + } + return false; + } + + bool AxisAlignedBoxShapeComponent::WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const + { + if (auto config = azrtti_cast(outBaseConfig)) + { + *config = m_aaboxShape.GetBoxConfiguration(); + return true; + } + return false; + } + +} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShapeComponent.h b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShapeComponent.h new file mode 100644 index 0000000000..094f9591d1 --- /dev/null +++ b/Gems/LmbrCentral/Code/Source/Shape/AxisAlignedBoxShapeComponent.h @@ -0,0 +1,76 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include + +#include "Rendering/EntityDebugDisplayComponent.h" +#include "AxisAlignedBoxShape.h" + +namespace LmbrCentral +{ + /// Type ID for the AxisAlignedBoxShapeComponent + static const AZ::Uuid AxisAlignedBoxShapeComponentTypeId = "{641D817E-1BC6-406A-BBB2-218541808E45}"; + + /// Type ID for the EditorAxisAlignedBoxShapeComponent + static const AZ::Uuid EditorAxisAlignedBoxShapeComponentTypeId = "{8C027DF6-E157-4159-9BF8-F1B925466F1F}"; + + /// Provide a Component interface for AxisAlignedBoxShape functionality. + class AxisAlignedBoxShapeComponent + : public AZ::Component + { + public: + AZ_COMPONENT(AxisAlignedBoxShapeComponent, AxisAlignedBoxShapeComponentTypeId) + static void Reflect(AZ::ReflectContext* context); + + // AZ::Component + void Activate() override; + void Deactivate() override; + bool ReadInConfig(const AZ::ComponentConfig* baseConfig) override; + bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const override; + + private: + static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided); + static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible); + static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required); + static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent); + + AxisAlignedBoxShape m_aaboxShape; ///< Stores underlying box type for this component. + }; + + /// Concrete EntityDebugDisplay implementation for BoxShape. + class AxisAlignedBoxShapeDebugDisplayComponent + : public EntityDebugDisplayComponent + , public ShapeComponentNotificationsBus::Handler + { + public: + AZ_COMPONENT(AxisAlignedBoxShapeDebugDisplayComponent, "{BA93F933-1DC9-4E0E-B930-A7E3968D5DD1}", EntityDebugDisplayComponent) + static void Reflect(AZ::ReflectContext* context); + + AxisAlignedBoxShapeDebugDisplayComponent() = default; + + // AZ::Component + void Activate() override; + void Deactivate() override; + bool ReadInConfig(const AZ::ComponentConfig* baseConfig) override; + bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const override; + + // EntityDebugDisplayComponent + void Draw(AzFramework::DebugDisplayRequests& debugDisplay) override; + + private: + AZ_DISABLE_COPY_MOVE(AxisAlignedBoxShapeDebugDisplayComponent) + + // ShapeComponentNotificationsBus + void OnShapeChanged(ShapeChangeReasons changeReason) override; + + BoxShapeConfig m_boxShapeConfig; ///< Stores configuration data for box shape. + AZ::Vector3 m_nonUniformScale = AZ::Vector3::CreateOne(); ///< Caches non-uniform scale for this entity. + }; +} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/BoxShape.h b/Gems/LmbrCentral/Code/Source/Shape/BoxShape.h index a3831fbee6..a9dfd5c35f 100644 --- a/Gems/LmbrCentral/Code/Source/Shape/BoxShape.h +++ b/Gems/LmbrCentral/Code/Source/Shape/BoxShape.h @@ -37,7 +37,7 @@ namespace LmbrCentral static void Reflect(AZ::ReflectContext* context); - void Activate(AZ::EntityId entityId); + virtual void Activate(AZ::EntityId entityId); void Deactivate(); void InvalidateCache(InvalidateShapeCacheReason reason); @@ -67,12 +67,9 @@ namespace LmbrCentral void SetDrawColor(const AZ::Color& color) { m_boxShapeConfig.SetDrawColor(color); } - protected: - - friend class EditorBoxShapeComponent; BoxShapeConfig& ModifyConfiguration() { return m_boxShapeConfig; } - private: + protected: /// Runtime data - cache potentially expensive operations. class BoxIntersectionDataCache : public IntersectionTestDataCache @@ -82,6 +79,7 @@ namespace LmbrCentral const AZ::Vector3& currentNonUniformScale = AZ::Vector3::CreateOne()) override; friend BoxShape; + friend class AxisAlignedBoxShape; AZ::Aabb m_aabb; ///< Aabb representing this Box (including the effects of scale). AZ::Obb m_obb; ///< Obb representing this Box (including the effects of scale). @@ -90,12 +88,12 @@ namespace LmbrCentral bool m_axisAligned = true; ///< Indicates whether the box is axis or object aligned. }; - BoxShapeConfig m_boxShapeConfig; ///< Underlying box configuration. BoxIntersectionDataCache m_intersectionDataCache; ///< Caches transient intersection data. AZ::Transform m_currentTransform; ///< Caches the current transform for the entity on which this component lives. AZ::EntityId m_entityId; ///< Id of the entity the box shape is attached to. AZ::NonUniformScaleChangedEvent::Handler m_nonUniformScaleChangedHandler; ///< Responds to changes in non-uniform scale. AZ::Vector3 m_currentNonUniformScale = AZ::Vector3::CreateOne(); ///< Caches the current non-uniform scale. + BoxShapeConfig m_boxShapeConfig; ///< Underlying box configuration. }; void DrawBoxShape( diff --git a/Gems/LmbrCentral/Code/Source/Shape/BoxShapeComponent.cpp b/Gems/LmbrCentral/Code/Source/Shape/BoxShapeComponent.cpp index 40d5dce3cc..ce4a934e91 100644 --- a/Gems/LmbrCentral/Code/Source/Shape/BoxShapeComponent.cpp +++ b/Gems/LmbrCentral/Code/Source/Shape/BoxShapeComponent.cpp @@ -101,23 +101,15 @@ namespace LmbrCentral } } - namespace ClassConverters - { - static bool DeprecateBoxColliderConfiguration(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement); - static bool DeprecateBoxColliderComponent(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement); - } - void BoxShapeConfig::Reflect(AZ::ReflectContext* context) { + // Don't reflect again if we're already reflected to the passed in context + if (context->IsTypeReflected(BoxShapeConfigTypeId)) + { + return; + } if (auto serializeContext = azrtti_cast(context)) { - // Deprecate: BoxColliderConfiguration -> BoxShapeConfig - serializeContext->ClassDeprecate( - "BoxColliderConfiguration", - "{282E47CB-9F6D-47AE-A210-4CE879527EFD}", - &ClassConverters::DeprecateBoxColliderConfiguration) - ; - serializeContext->Class() ->Version(2) ->Field("Dimensions", &BoxShapeConfig::m_dimensions) @@ -151,13 +143,6 @@ namespace LmbrCentral if (auto serializeContext = azrtti_cast(context)) { - // Deprecate: BoxColliderComponent -> BoxShapeComponent - serializeContext->ClassDeprecate( - "BoxColliderComponent", - "{C215EB2A-1803-4EDC-B032-F7C92C142337}", - &ClassConverters::DeprecateBoxColliderComponent) - ; - serializeContext->Class() ->Version(2, &ClassConverters::UpgradeBoxShapeComponent) ->Field("BoxShape", &BoxShapeComponent::m_boxShape) @@ -205,85 +190,4 @@ namespace LmbrCentral } return false; } - - namespace ClassConverters - { - static bool DeprecateBoxColliderConfiguration(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement) - { - /* - Old: - - - - - New: - - - - */ - - // Cache the Dimensions - AZ::Vector3 oldDimensions; - const int oldIndex = classElement.FindElement(AZ_CRC("Size", 0xf7c0246a)); - if (oldIndex != -1) - { - classElement.GetSubElement(oldIndex).GetData(oldDimensions); - } - - // Convert to BoxShapeConfig - const bool result = classElement.Convert(context, "{F034FBA2-AC2F-4E66-8152-14DFB90D6283}"); - if (result) - { - const int newIndex = classElement.AddElement(context, "Dimensions"); - if (newIndex != -1) - { - classElement.GetSubElement(newIndex).SetData(context, oldDimensions); - return true; - } - } - return false; - } - - static bool DeprecateBoxColliderComponent(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement) - { - /* - Old: - - - - - - - New: - - - - - - */ - - // Cache the Configuration - BoxShapeConfig configuration; - int configIndex = classElement.FindElement(AZ_CRC("Configuration", 0xa5e2a5d7)); - if (configIndex != -1) - { - classElement.GetSubElement(configIndex).GetData(configuration); - } - - // Convert to BoxShapeComponent - const bool result = classElement.Convert(context, BoxShapeComponentTypeId); - if (result) - { - configIndex = classElement.AddElement(context, "Configuration"); - if (configIndex != -1) - { - classElement.GetSubElement(configIndex).SetData(context, configuration); - } - return true; - } - return false; - } - - } // namespace ClassConverters - } // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/EditorAxisAlignedBoxShapeComponent.cpp b/Gems/LmbrCentral/Code/Source/Shape/EditorAxisAlignedBoxShapeComponent.cpp new file mode 100644 index 0000000000..c833677b1d --- /dev/null +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorAxisAlignedBoxShapeComponent.cpp @@ -0,0 +1,168 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + + +#include +#include +#include +#include +#include + +#include "AxisAlignedBoxShapeComponent.h" +#include "EditorAxisAlignedBoxShapeComponent.h" +#include "EditorShapeComponentConverters.h" +#include "ShapeDisplay.h" + +namespace LmbrCentral +{ + void EditorAxisAlignedBoxShapeComponent::Reflect(AZ::ReflectContext* context) + { + if (auto serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(1) + ->Field("AxisAlignedBoxShape", &EditorAxisAlignedBoxShapeComponent::m_aaboxShape) + ->Field("ComponentMode", &EditorAxisAlignedBoxShapeComponent::m_componentModeDelegate) + ; + + if (auto editContext = serializeContext->GetEditContext()) + { + editContext->Class( + "Axis Aligned Box Shape", "The Axis Aligned Box Shape component creates a box around the associated entity") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + ->Attribute(AZ::Edit::Attributes::Category, "Shape") + ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Box_Shape.svg") + ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Box_Shape.svg") + ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("Game")) + ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/shape/axis-aligned-box-shape/") + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorAxisAlignedBoxShapeComponent::m_aaboxShape, "Axis Aligned Box Shape", "Axis Aligned Box Shape Configuration") + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) + ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorAxisAlignedBoxShapeComponent::ConfigurationChanged) + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorAxisAlignedBoxShapeComponent::m_componentModeDelegate, "Component Mode", "Axis Aligned Box Shape Component Mode") + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) + ; + } + } + } + + void EditorAxisAlignedBoxShapeComponent::Init() + { + EditorBaseShapeComponent::Init(); + + SetShapeComponentConfig(&m_aaboxShape.ModifyConfiguration()); + } + + void EditorAxisAlignedBoxShapeComponent::Activate() + { + EditorBaseShapeComponent::Activate(); + m_aaboxShape.Activate(GetEntityId()); + AzFramework::EntityDebugDisplayEventBus::Handler::BusConnect(GetEntityId()); + AzToolsFramework::BoxManipulatorRequestBus::Handler::BusConnect( + AZ::EntityComponentIdPair(GetEntityId(), GetId())); + + // ComponentMode + m_componentModeDelegate.ConnectWithSingleComponentMode< + EditorAxisAlignedBoxShapeComponent, AzToolsFramework::BoxComponentMode>( + AZ::EntityComponentIdPair(GetEntityId(), GetId()), this); + } + + void EditorAxisAlignedBoxShapeComponent::Deactivate() + { + m_componentModeDelegate.Disconnect(); + + AzToolsFramework::BoxManipulatorRequestBus::Handler::BusDisconnect(); + AzFramework::EntityDebugDisplayEventBus::Handler::BusDisconnect(); + m_aaboxShape.Deactivate(); + EditorBaseShapeComponent::Deactivate(); + } + + void EditorAxisAlignedBoxShapeComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) + { + EditorBaseShapeComponent::GetProvidedServices(provided); + provided.push_back(AZ_CRC_CE("BoxShapeService")); + provided.push_back(AZ_CRC_CE("AxisAlignedBoxShapeService")); + } + + void EditorAxisAlignedBoxShapeComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) + { + dependent.push_back(AZ_CRC_CE("NonUniformScaleService")); + } + + void EditorAxisAlignedBoxShapeComponent::DisplayEntityViewport( + [[maybe_unused]] const AzFramework::ViewportInfo& viewportInfo, + AzFramework::DebugDisplayRequests& debugDisplay) + { + DisplayShape( + debugDisplay, [this]() { return CanDraw(); }, + [this](AzFramework::DebugDisplayRequests& debugDisplay) + { + DrawBoxShape( + { m_aaboxShape.GetBoxConfiguration().GetDrawColor(), m_shapeWireColor, m_aaboxShape.GetBoxConfiguration().IsFilled() }, + m_aaboxShape.GetBoxConfiguration(), debugDisplay, m_aaboxShape.GetCurrentNonUniformScale()); + }, + m_aaboxShape.GetCurrentTransform()); + } + + void EditorAxisAlignedBoxShapeComponent::ConfigurationChanged() + { + m_aaboxShape.InvalidateCache(InvalidateShapeCacheReason::ShapeChange); + + ShapeComponentNotificationsBus::Event(GetEntityId(), + &ShapeComponentNotificationsBus::Events::OnShapeChanged, + ShapeComponentNotifications::ShapeChangeReasons::ShapeChanged); + + AzToolsFramework::ComponentModeFramework::ComponentModeSystemRequestBus::Broadcast( + &AzToolsFramework::ComponentModeFramework::ComponentModeSystemRequests::Refresh, + AZ::EntityComponentIdPair(GetEntityId(), GetId())); + } + + void EditorAxisAlignedBoxShapeComponent::BuildGameEntity(AZ::Entity* gameEntity) + { + if (AxisAlignedBoxShapeComponent* boxShapeComponent = gameEntity->CreateComponent()) + { + boxShapeComponent->SetConfiguration(m_aaboxShape.GetBoxConfiguration()); + } + + if (m_visibleInGameView) + { + if (auto component = gameEntity->CreateComponent()) + { + component->SetConfiguration(m_aaboxShape.GetBoxConfiguration()); + } + } + } + + void EditorAxisAlignedBoxShapeComponent::OnTransformChanged( + const AZ::Transform& /*local*/, const AZ::Transform& /*world*/) + { + AzToolsFramework::ComponentModeFramework::ComponentModeSystemRequestBus::Broadcast( + &AzToolsFramework::ComponentModeFramework::ComponentModeSystemRequests::Refresh, + AZ::EntityComponentIdPair(GetEntityId(), GetId())); + } + + AZ::Vector3 EditorAxisAlignedBoxShapeComponent::GetDimensions() + { + return m_aaboxShape.GetBoxDimensions(); + } + + void EditorAxisAlignedBoxShapeComponent::SetDimensions(const AZ::Vector3& dimensions) + { + return m_aaboxShape.SetBoxDimensions(dimensions); + } + + AZ::Transform EditorAxisAlignedBoxShapeComponent::GetCurrentTransform() + { + return AzToolsFramework::TransformNormalizedScale(m_aaboxShape.GetCurrentTransform()); + } + + AZ::Vector3 EditorAxisAlignedBoxShapeComponent::GetBoxScale() + { + return AZ::Vector3(m_aaboxShape.GetCurrentTransform().GetUniformScale() * m_aaboxShape.GetCurrentNonUniformScale()); + } +} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/EditorAxisAlignedBoxShapeComponent.h b/Gems/LmbrCentral/Code/Source/Shape/EditorAxisAlignedBoxShapeComponent.h new file mode 100644 index 0000000000..8bff4ea7e1 --- /dev/null +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorAxisAlignedBoxShapeComponent.h @@ -0,0 +1,71 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include "AxisAlignedBoxShape.h" +#include "AxisAlignedBoxShapeComponent.h" +#include "EditorBaseShapeComponent.h" + +#include +#include +#include + + +namespace LmbrCentral +{ + /// Editor representation of Box Shape Component. + class EditorAxisAlignedBoxShapeComponent + : public EditorBaseShapeComponent + , private AzFramework::EntityDebugDisplayEventBus::Handler + , private AzToolsFramework::BoxManipulatorRequestBus::Handler + { + public: + AZ_EDITOR_COMPONENT(EditorAxisAlignedBoxShapeComponent, EditorAxisAlignedBoxShapeComponentTypeId, EditorBaseShapeComponent); + static void Reflect(AZ::ReflectContext* context); + + EditorAxisAlignedBoxShapeComponent() = default; + + // AZ::Component + void Init() override; + void Activate() override; + void Deactivate() override; + + protected: + static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided); + static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent); + + // EditorComponentBase + void BuildGameEntity(AZ::Entity* gameEntity) override; + + // AZ::TransformNotificationBus::Handler + void OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) override; + + private: + AZ_DISABLE_COPY_MOVE(EditorAxisAlignedBoxShapeComponent) + + // AzFramework::EntityDebugDisplayEventBus + void DisplayEntityViewport( + const AzFramework::ViewportInfo& viewportInfo, + AzFramework::DebugDisplayRequests& debugDisplay) override; + + // AzToolsFramework::BoxManipulatorRequestBus + AZ::Vector3 GetDimensions() override; + void SetDimensions(const AZ::Vector3& dimensions) override; + AZ::Transform GetCurrentTransform() override; + AZ::Vector3 GetBoxScale() override; + + void ConfigurationChanged(); + + AxisAlignedBoxShape m_aaboxShape; ///< Stores underlying box representation for this component. + + using ComponentModeDelegate = AzToolsFramework::ComponentModeFramework::ComponentModeDelegate; + ComponentModeDelegate m_componentModeDelegate; /**< Responsible for detecting ComponentMode activation + * and creating a concrete ComponentMode.*/ + }; +} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/Source/Shape/EditorBoxShapeComponent.cpp b/Gems/LmbrCentral/Code/Source/Shape/EditorBoxShapeComponent.cpp index f645c54610..2983ca7753 100644 --- a/Gems/LmbrCentral/Code/Source/Shape/EditorBoxShapeComponent.cpp +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorBoxShapeComponent.cpp @@ -49,7 +49,7 @@ namespace LmbrCentral ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/shape/box-shape/") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorBoxShapeComponent::m_boxShape, "Box Shape", "Box Shape Configuration") - // ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) // disabled - prevents ChangeNotify attribute firing correctly + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorBoxShapeComponent::ConfigurationChanged) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorBoxShapeComponent::m_componentModeDelegate, "Component Mode", "Box Shape Component Mode") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) diff --git a/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp b/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp index c26c0562eb..45411b3d88 100644 --- a/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp @@ -121,13 +121,12 @@ namespace LmbrCentral m_heightManipulator->SetAxis(AZ::Vector3::CreateAxisZ()); const float lineLength = 0.5f; - const float lineWidth = 0.05f; const float coneLength = 0.28f; const float coneRadius = 0.07f; ManipulatorViews views; views.emplace_back(CreateManipulatorViewLine( *m_heightManipulator, AZ::Color(0.0f, 0.0f, 1.0f, 1.0f), - lineLength, lineWidth)); + lineLength, AzToolsFramework::ManipulatorLineBoundWidth())); views.emplace_back(CreateManipulatorViewCone(*m_heightManipulator, AZ::Color(0.0f, 0.0f, 1.0f, 1.0f), m_heightManipulator->GetAxis() * (lineLength - coneLength), coneLength, coneRadius)); diff --git a/Gems/LmbrCentral/Code/Tests/AxisAlignedBoxShapeTest.cpp b/Gems/LmbrCentral/Code/Tests/AxisAlignedBoxShapeTest.cpp new file mode 100644 index 0000000000..c3e8d06791 --- /dev/null +++ b/Gems/LmbrCentral/Code/Tests/AxisAlignedBoxShapeTest.cpp @@ -0,0 +1,238 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace UnitTest +{ + class AxisAlignedBoxShapeTest : public AllocatorsFixture + { + AZStd::unique_ptr m_serializeContext; + AZStd::unique_ptr m_transformComponentDescriptor; + AZStd::unique_ptr m_axisAlignedBoxShapeComponentDescriptor; + AZStd::unique_ptr m_axisAlignedBoxShapeDebugDisplayComponentDescriptor; + AZStd::unique_ptr m_nonUniformScaleComponentDescriptor; + + public: + void SetUp() override + { + AllocatorsFixture::SetUp(); + m_serializeContext = AZStd::make_unique(); + + m_transformComponentDescriptor = + AZStd::unique_ptr(AzFramework::TransformComponent::CreateDescriptor()); + m_transformComponentDescriptor->Reflect(&(*m_serializeContext)); + m_axisAlignedBoxShapeComponentDescriptor = + AZStd::unique_ptr(LmbrCentral::AxisAlignedBoxShapeComponent::CreateDescriptor()); + m_axisAlignedBoxShapeComponentDescriptor->Reflect(&(*m_serializeContext)); + m_axisAlignedBoxShapeDebugDisplayComponentDescriptor = + AZStd::unique_ptr(LmbrCentral::AxisAlignedBoxShapeDebugDisplayComponent::CreateDescriptor()); + m_axisAlignedBoxShapeDebugDisplayComponentDescriptor->Reflect(&(*m_serializeContext)); + m_nonUniformScaleComponentDescriptor = + AZStd::unique_ptr(AzFramework::NonUniformScaleComponent::CreateDescriptor()); + m_nonUniformScaleComponentDescriptor->Reflect(&(*m_serializeContext)); + } + + void TearDown() override + { + m_transformComponentDescriptor.reset(); + m_axisAlignedBoxShapeComponentDescriptor.reset(); + m_axisAlignedBoxShapeDebugDisplayComponentDescriptor.reset(); + m_nonUniformScaleComponentDescriptor.reset(); + m_serializeContext.reset(); + AllocatorsFixture::TearDown(); + } + }; + + void CreateAxisAlignedBox(const AZ::Transform& transform, const AZ::Vector3& dimensions, AZ::Entity& entity) + { + entity.CreateComponent(); + entity.CreateComponent(); + entity.CreateComponent(); + + entity.Init(); + entity.Activate(); + + AZ::TransformBus::Event(entity.GetId(), &AZ::TransformBus::Events::SetWorldTM, transform); + LmbrCentral::BoxShapeComponentRequestsBus::Event( + entity.GetId(), &LmbrCentral::BoxShapeComponentRequestsBus::Events::SetBoxDimensions, dimensions); + } + + void CreateAxisAlignedBoxWithNonUniformScale( + const AZ::Transform& transform, const AZ::Vector3& nonUniformScale, const AZ::Vector3& dimensions, AZ::Entity& entity) + { + entity.CreateComponent(); + entity.CreateComponent(); + entity.CreateComponent(); + entity.CreateComponent(); + + entity.Init(); + entity.Activate(); + + AZ::TransformBus::Event(entity.GetId(), &AZ::TransformBus::Events::SetWorldTM, transform); + LmbrCentral::BoxShapeComponentRequestsBus::Event( + entity.GetId(), &LmbrCentral::BoxShapeComponentRequestsBus::Events::SetBoxDimensions, dimensions); + AZ::NonUniformScaleRequestBus::Event(entity.GetId(), &AZ::NonUniformScaleRequests::SetScale, nonUniformScale); + } + + void CreateDefaultAxisAlignedBox(const AZ::Transform& transform, AZ::Entity& entity) + { + CreateAxisAlignedBox(transform, AZ::Vector3(10.0f, 10.0f, 10.0f), entity); + } + + TEST_F(AxisAlignedBoxShapeTest, EntityTransformIsCorrect) + { + AZ::Entity entity; + CreateAxisAlignedBox( + AZ::Transform::CreateTranslation(AZ::Vector3(0.0f, 0.0f, 0.0f)) * AZ::Transform::CreateRotationZ(AZ::Constants::QuarterPi), + AZ::Vector3(1.0f), entity); + + AZ::Transform transform; + AZ::TransformBus::EventResult(transform, entity.GetId(), &AZ::TransformBus::Events::GetWorldTM); + + EXPECT_EQ(transform, AZ::Transform::CreateRotationZ(AZ::Constants::QuarterPi)); + } + + TEST_F(AxisAlignedBoxShapeTest, BoxWithZRotationHasCorrectRayIntersection) + { + AZ::Entity entity; + CreateAxisAlignedBox( + AZ::Transform::CreateRotationZ(AZ::Constants::QuarterPi), + AZ::Vector3(1.0f), entity); + + bool rayHit = false; + float distance; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(5.0f, 0.0f, 0.0f), + AZ::Vector3(-1.0f, 0.0f, 0.0f), distance); + + // This test creates a unit box centered on (0, 0, 0) and rotated by 45 degrees. The distance to the box should + // be 4.5 if it isn't rotated but less if there is any rotation. + EXPECT_TRUE(rayHit); + EXPECT_NEAR(distance, 4.5f, 1e-2f); + } + + TEST_F(AxisAlignedBoxShapeTest, BoxWithTranslationAndRotationsHasCorrectRayIntersection) + { + AZ::Entity entity; + CreateAxisAlignedBox( + AZ::Transform::CreateFromQuaternionAndTranslation( + AZ::Quaternion::CreateFromAxisAngle(AZ::Vector3::CreateAxisX(), AZ::Constants::HalfPi) * + AZ::Quaternion::CreateFromAxisAngle(AZ::Vector3::CreateAxisZ(), AZ::Constants::QuarterPi), + AZ::Vector3(-10.0f, -10.0f, -10.0f)), + AZ::Vector3(4.0f, 4.0f, 2.0f), entity); + + bool rayHit = false; + float distance; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(-10.0f, -10.0f, 0.0f), + AZ::Vector3(0.0f, 0.0f, -1.0f), distance); + + // This test creates a box of dimensions (4.0, 4.0, 2.0) centered on (-10, -10, 0) and rotated in X and Z. The distance to the box should + // be 9.0 if it isn't rotated but less if there is any rotation. + EXPECT_TRUE(rayHit); + EXPECT_NEAR(distance, 9.00f, 1e-2f); + } + + TEST_F(AxisAlignedBoxShapeTest, BoxWithTranslationHasCorrectRayIntersection) + { + AZ::Entity entity; + CreateAxisAlignedBox( + AZ::Transform::CreateTranslation(AZ::Vector3(100.0f, 100.0f, 0.0f)), + AZ::Vector3(5.0f, 5.0f, 5.0f), entity); + + bool rayHit = false; + float distance; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(100.0f, 100.0f, -100.0f), + AZ::Vector3(0.0f, 0.0f, 1.0f), distance); + + // This test creates a box of dimensions (5.0, 5.0, 5.0) centered on (100, 100, 0) and not rotated. The distance to the box + // should be 97.5. + EXPECT_TRUE(rayHit); + EXPECT_NEAR(distance, 97.5f, 1e-2f); + } + + TEST_F(AxisAlignedBoxShapeTest, BoxWithTranslationRotationAndScaleHasCorrectRayIntersection) + { + AZ::Entity entity; + CreateAxisAlignedBox( + AZ::Transform( + AZ::Vector3(0.0f, 0.0f, 5.0f), AZ::Quaternion::CreateFromAxisAngle(AZ::Vector3::CreateAxisY(), AZ::Constants::QuarterPi), 3.0f), + AZ::Vector3(2.0f, 4.0f, 1.0f), entity); + + bool rayHit = false; + float distance; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(1.0f, -10.0f, 4.0f), + AZ::Vector3(0.0f, 1.0f, 0.0f), distance); + + // This test creates a box of dimensions (2.0, 4.0, 1.0) centered on (0, 0, 5) and rotated about the Y axis by 45 degrees. + // The distance to the box should be 4.0 if not rotated but scaled and less if it is. + EXPECT_TRUE(rayHit); + EXPECT_NEAR(distance, 4.0f, 1e-2f); + } + + TEST_F(AxisAlignedBoxShapeTest, RayIntersectWithBoxRotatedNonUniformScale) + { + AZ::Entity entity; + CreateAxisAlignedBoxWithNonUniformScale( + AZ::Transform( + AZ::Vector3(2.0f, -5.0f, 3.0f), AZ::Quaternion::CreateFromAxisAngle(AZ::Vector3::CreateAxisY(), AZ::Constants::QuarterPi), + 0.5f), + AZ::Vector3(2.2f, 1.8f, 0.4f), AZ::Vector3(0.2f, 2.6f, 1.2f), entity); + + // This test creates a box of dimensions (2.2, 1.8, 0.4) centered on (2.0, -5, 3) and rotated about the Y axis by 45 degrees. + // The box is tested for axis-alignment by firing various rays and ensuring they either hit or miss the box. Any failure here + // would show the box has been rotated. + + // Ray should just miss the box + bool rayHit = false; + float distance = AZ::Constants::FloatMax; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(1.8f, -6.2f, 3.0f), + AZ::Vector3(1.0f, 0.0f, 0.0f), distance); + EXPECT_FALSE(rayHit); + + // Ray should just hit the box + rayHit = false; + distance = AZ::Constants::FloatMax; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(1.8f, -6.1f, 3.0f), + AZ::Vector3(1.0f, 0.0f, 0.0f), distance); + EXPECT_TRUE(rayHit); + EXPECT_NEAR(distance, 0.09f, 1e-3f); + + // Ray should just miss the box + rayHit = false; + distance = AZ::Constants::FloatMax; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(2.2f, -6.2f, 3.0f), + AZ::Vector3(0.0f, 1.0f, 0.0f), distance); + EXPECT_FALSE(rayHit); + + // Ray should just hit the box + rayHit = false; + distance = AZ::Constants::FloatMax; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + rayHit, entity.GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, AZ::Vector3(2.1f, -6.2f, 3.0f), + AZ::Vector3(0.0f, 1.0f, 0.0f), distance); + EXPECT_TRUE(rayHit); + EXPECT_NEAR(distance, 0.03f, 1e-3f); + } +} // namespace UnitTest diff --git a/Gems/LmbrCentral/Code/Tests/DiskShapeTest.cpp b/Gems/LmbrCentral/Code/Tests/DiskShapeTest.cpp index e9c19585cc..65693a2a2e 100644 --- a/Gems/LmbrCentral/Code/Tests/DiskShapeTest.cpp +++ b/Gems/LmbrCentral/Code/Tests/DiskShapeTest.cpp @@ -34,10 +34,10 @@ namespace 0.5f, 1.0f, 2.0f, 4.0f, 8.0f, }; - const uint32_t RayCount = 5; + const uint32_t RayCountDisk = 5; // Various normalized offset directions from center of disk along disk's surface. - const AZStd::array OffsetsFromCenter = + const AZStd::array OffsetsFromCenterDisk = { AZ::Vector3(0.18f, -0.50f, 0.0f).GetNormalized(), AZ::Vector3(-0.08f, 0.59f, 0.0f).GetNormalized(), @@ -47,7 +47,7 @@ namespace }; // Various directions away from a point on the disk's surface - const AZStd::array OffsetsFromSurface = + const AZStd::array OffsetsFromSurfaceDisk = { AZ::Vector3(0.69f, 0.38f, 0.09f).GetNormalized(), AZ::Vector3(-0.98f, -0.68f, -0.28f).GetNormalized(), @@ -57,7 +57,7 @@ namespace }; // Various distance away from the surface for the rays - const AZStd::array RayDistances = + const AZStd::array RayDistancesDisk = { 0.5f, 1.0f, 2.0f, 4.0f, 8.0f }; @@ -185,7 +185,7 @@ namespace UnitTest } // Offsets from center scaled down from the disk edge so that all the rays should hit - const AZStd::array offsetFromCenterScale = + const AZStd::array offsetFromCenterScale = { 0.8f, 0.2f, @@ -197,20 +197,20 @@ namespace UnitTest // Construct rays and test against the different disks for (uint32_t diskIndex = 0; diskIndex < DiskCount; ++diskIndex) { - for (uint32_t rayIndex = 0; rayIndex < RayCount; ++rayIndex) + for (uint32_t rayIndex = 0; rayIndex < RayCountDisk; ++rayIndex) { - AZ::Vector3 scaledOffsetFromCenter = OffsetsFromCenter[rayIndex] * DiskRadii[diskIndex] * offsetFromCenterScale[rayIndex]; + AZ::Vector3 scaledOffsetFromCenter = OffsetsFromCenterDisk[rayIndex] * DiskRadii[diskIndex] * offsetFromCenterScale[rayIndex]; AZ::Vector3 positionOnDiskSurface = DiskTransforms[diskIndex].TransformPoint(scaledOffsetFromCenter); - AZ::Vector3 rayOrigin = positionOnDiskSurface + OffsetsFromSurface[rayIndex] * RayDistances[rayIndex]; + AZ::Vector3 rayOrigin = positionOnDiskSurface + OffsetsFromSurfaceDisk[rayIndex] * RayDistancesDisk[rayIndex]; bool rayHit2 = false; float distance2; LmbrCentral::ShapeComponentRequestsBus::EventResult( rayHit2, diskEntities[diskIndex].GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, - rayOrigin, -OffsetsFromSurface[rayIndex], distance2); + rayOrigin, -OffsetsFromSurfaceDisk[rayIndex], distance2); EXPECT_TRUE(rayHit2); - EXPECT_NEAR(distance2, RayDistances[rayIndex], 1e-4f); + EXPECT_NEAR(distance2, RayDistancesDisk[rayIndex], 1e-4f); } } @@ -241,7 +241,7 @@ namespace UnitTest } // Offsets from center scaled up from the disk edge so that all the rays should miss - const AZStd::array offsetFromCenterScale = + const AZStd::array offsetFromCenterScale = { 1.8f, 1.2f, @@ -253,17 +253,17 @@ namespace UnitTest // Construct rays and test against the different disks for (uint32_t diskIndex = 0; diskIndex < DiskCount; ++diskIndex) { - for (uint32_t rayIndex = 0; rayIndex < RayCount; ++rayIndex) + for (uint32_t rayIndex = 0; rayIndex < RayCountDisk; ++rayIndex) { - AZ::Vector3 scaledOffsetFromCenter = OffsetsFromCenter[rayIndex] * DiskRadii[diskIndex] * offsetFromCenterScale[rayIndex]; + AZ::Vector3 scaledOffsetFromCenter = OffsetsFromCenterDisk[rayIndex] * DiskRadii[diskIndex] * offsetFromCenterScale[rayIndex]; AZ::Vector3 positionOnDiskSurface = DiskTransforms[diskIndex].TransformPoint(scaledOffsetFromCenter); - AZ::Vector3 rayOrigin = positionOnDiskSurface + OffsetsFromSurface[rayIndex] * RayDistances[rayIndex]; + AZ::Vector3 rayOrigin = positionOnDiskSurface + OffsetsFromSurfaceDisk[rayIndex] * RayDistancesDisk[rayIndex]; bool rayHit2 = false; float distance2; LmbrCentral::ShapeComponentRequestsBus::EventResult( rayHit2, diskEntities[diskIndex].GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, - rayOrigin, -OffsetsFromSurface[rayIndex], distance2); + rayOrigin, -OffsetsFromSurfaceDisk[rayIndex], distance2); EXPECT_FALSE(rayHit2); } diff --git a/Gems/LmbrCentral/Code/Tests/QuadShapeTest.cpp b/Gems/LmbrCentral/Code/Tests/QuadShapeTest.cpp index a28916bb24..c02cf18aca 100644 --- a/Gems/LmbrCentral/Code/Tests/QuadShapeTest.cpp +++ b/Gems/LmbrCentral/Code/Tests/QuadShapeTest.cpp @@ -41,10 +41,10 @@ namespace LmbrCentral::QuadShapeConfig(1.0f, 0.5f), }; - const uint32_t RayCount = 5; + const uint32_t RayCountQuad = 5; // Various normalized offset directions from center of quad along quad's surface. - const AZStd::array OffsetsFromCenter = + const AZStd::array OffsetsFromCenterQuad = { AZ::Vector3( 0.18f, -0.50f, 0.0f).GetNormalized(), AZ::Vector3(-0.08f, 0.59f, 0.0f).GetNormalized(), @@ -54,7 +54,7 @@ namespace }; // Various directions away from a point on the quad's surface - const AZStd::array OffsetsFromSurface = + const AZStd::array OffsetsFromSurfaceQuad = { AZ::Vector3( 0.69f, 0.38f, 0.09f).GetNormalized(), AZ::Vector3(-0.98f, -0.68f, -0.28f).GetNormalized(), @@ -64,7 +64,7 @@ namespace }; // Various distance away from the surface for the rays - const AZStd::array RayDistances = + const AZStd::array RayDistancesQuad = { 0.5f, 1.0f, 2.0f, 4.0f, 8.0f }; @@ -248,23 +248,23 @@ namespace UnitTest // Construct rays and test against the different quads for (uint32_t quadIndex = 0; quadIndex < QuadCount; ++quadIndex) { - for (uint32_t rayIndex = 0; rayIndex < RayCount; ++rayIndex) + for (uint32_t rayIndex = 0; rayIndex < RayCountQuad; ++rayIndex) { - // OffsetsFromCenter are all less than 1, so scale by the dimensions of the quad. + // OffsetsFromCenterQuad are all less than 1, so scale by the dimensions of the quad. AZ::Vector3 scaledWidthHeight = AZ::Vector3(QuadDims[quadIndex].m_width, QuadDims[quadIndex].m_height, 0.0f); // Scale the offset and multiply by 0.5 because distance from center is half the width/height - AZ::Vector3 scaledOffsetFromCenter = OffsetsFromCenter[rayIndex] * scaledWidthHeight * 0.5f; + AZ::Vector3 scaledOffsetFromCenter = OffsetsFromCenterQuad[rayIndex] * scaledWidthHeight * 0.5f; AZ::Vector3 positionOnQuadSurface = QuadTransforms[quadIndex].TransformPoint(scaledOffsetFromCenter); - AZ::Vector3 rayOrigin = positionOnQuadSurface + OffsetsFromSurface[rayIndex] * RayDistances[rayIndex]; + AZ::Vector3 rayOrigin = positionOnQuadSurface + OffsetsFromSurfaceQuad[rayIndex] * RayDistancesQuad[rayIndex]; bool rayHit2 = false; float distance2; LmbrCentral::ShapeComponentRequestsBus::EventResult( rayHit2, quadEntities[quadIndex].GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, - rayOrigin, -OffsetsFromSurface[rayIndex], distance2); + rayOrigin, -OffsetsFromSurfaceQuad[rayIndex], distance2); EXPECT_TRUE(rayHit2); - EXPECT_NEAR(distance2, RayDistances[rayIndex], 1e-4f); + EXPECT_NEAR(distance2, RayDistancesQuad[rayIndex], 1e-4f); } } @@ -297,20 +297,20 @@ namespace UnitTest // Construct rays and test against the different quads for (uint32_t quadIndex = 0; quadIndex < QuadCount; ++quadIndex) { - for (uint32_t rayIndex = 0; rayIndex < RayCount; ++rayIndex) + for (uint32_t rayIndex = 0; rayIndex < RayCountQuad; ++rayIndex) { - // OffsetsFromCenter are all less than 1, so scale by the dimensions of the quad. + // OffsetsFromCenterQuad are all less than 1, so scale by the dimensions of the quad. AZ::Vector3 scaledWidthHeight = AZ::Vector3(QuadDims[quadIndex].m_width, QuadDims[quadIndex].m_height, 0.0f); - // Scale the offset and add 1.0 to OffsetsFromCenter to ensure the point is outside the quad. - AZ::Vector3 scaledOffsetFromCenter = (AZ::Vector3::CreateOne() + OffsetsFromCenter[rayIndex]) * scaledWidthHeight; + // Scale the offset and add 1.0 to OffsetsFromCenterQuad to ensure the point is outside the quad. + AZ::Vector3 scaledOffsetFromCenter = (AZ::Vector3::CreateOne() + OffsetsFromCenterQuad[rayIndex]) * scaledWidthHeight; AZ::Vector3 positionOnQuadSurface = QuadTransforms[quadIndex].TransformPoint(scaledOffsetFromCenter); - AZ::Vector3 rayOrigin = positionOnQuadSurface + OffsetsFromSurface[rayIndex] * RayDistances[rayIndex]; + AZ::Vector3 rayOrigin = positionOnQuadSurface + OffsetsFromSurfaceQuad[rayIndex] * RayDistancesQuad[rayIndex]; bool rayHit2 = false; float distance2; LmbrCentral::ShapeComponentRequestsBus::EventResult( rayHit2, quadEntities[quadIndex].GetId(), &LmbrCentral::ShapeComponentRequests::IntersectRay, - rayOrigin, -OffsetsFromSurface[rayIndex], distance2); + rayOrigin, -OffsetsFromSurfaceQuad[rayIndex], distance2); EXPECT_FALSE(rayHit2); } diff --git a/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialHandle.h b/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialHandle.h index 1d6ef4040d..b8b9e316ff 100644 --- a/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialHandle.h +++ b/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialHandle.h @@ -8,20 +8,19 @@ #pragma once -#include -#include +#include #include +struct IMaterial; + namespace AZ { class BehaviorContext; } - namespace LmbrCentral { //! Wraps a IMaterial pointer in a way that BehaviorContext can use it class MaterialHandle - : public AZ::RenderNotificationsBus::Handler { public: AZ_CLASS_ALLOCATOR(MaterialHandle, AZ::SystemAllocator, 0); @@ -29,13 +28,15 @@ namespace LmbrCentral MaterialHandle() { - AZ::RenderNotificationsBus::Handler::BusConnect(); } MaterialHandle(const MaterialHandle& handle) : m_material(handle.m_material) { - AZ::RenderNotificationsBus::Handler::BusConnect(); + } + + ~MaterialHandle() + { } MaterialHandle& operator=(const MaterialHandle& rhs) @@ -44,20 +45,7 @@ namespace LmbrCentral return *this; } - ~MaterialHandle() override - { - AZ::RenderNotificationsBus::Handler::BusDisconnect(); - } - - //! Handle the renderer's free resources event by nullifying m_material. - //! This is used to prevent material handles that may have been queued for release in the next frame - //! from having dangling pointers after the renderer has already shut down. - void OnRendererFreeResources([[maybe_unused]] int flags) override - { - m_material = nullptr; - } - - _smart_ptr m_material; + IMaterial* m_material; static void Reflect(AZ::BehaviorContext* behaviorContext); static void Reflect(AZ::SerializeContext* serializeContext); diff --git a/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialOwnerBus.h b/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialOwnerBus.h deleted file mode 100644 index 2162a9f7ed..0000000000 --- a/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MaterialOwnerBus.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#pragma once - -#include -#include -#include -#include - -namespace LmbrCentral -{ - /*! - * Messages serviced by components that support materials (e.g. Mesh, Decal). - * We specifically chose the name "MaterialOwnerRequestBus" rather than just "MaterialRequestBus" to communicate - * the fact that the requests are not for a Material directly, but for an Entity/Component that uses a Material. - */ - class MaterialOwnerRequests - : public AZ::ComponentBus - { - public: - - //! Sets the component's current material. - virtual void SetMaterial(_smart_ptr) = 0; - //! Gets the component's current material. - virtual _smart_ptr GetMaterial() = 0; - - //! Indicates whether the Material Owner is fully initialized, and MaterialOwnerRequestBus can be used on the Material. - virtual bool IsMaterialOwnerReady() { return true; } - - //! Sets the component's current material. This MaterialHandle version provides support for BehaviorContext reflection. - //! \param materialHandle New material handle - virtual void SetMaterialHandle(const MaterialHandle& /*materialHandle*/) {}; - //! Gets the component's current material. This MaterialHandle version provides support for BehaviorContext reflection. - virtual MaterialHandle GetMaterialHandle() { return MaterialHandle(); } - - //! Sets a Material property for the bus Entity. The Material will be cloned once before any changes are applied, so other instances are not affected. - //! \param name Name of the material param to set. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param value New value for the param - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - virtual void SetMaterialParamVector4(const AZStd::string& /*name*/, const AZ::Vector4& /*value*/, int /*materialId = 1*/) {}; - - //! Sets a Material property for the bus Entity. The Material will be cloned once before any changes are applied, so other instances are not affected. - //! \param name Name of the material param to set. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param value New value for the param - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - virtual void SetMaterialParamVector3(const AZStd::string& /*name*/, const AZ::Vector3& /*value*/, int /*materialId = 1*/) {}; - - //! Sets a Material property for the bus Entity. The Material will be cloned once before any changes are applied, so other instances are not affected. - //! \param name Name of the material param to set. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param value New value for the param - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - virtual void SetMaterialParamColor(const AZStd::string& /*name*/, const AZ::Color& /*value*/, int /*materialId = 1*/) {}; - - //! Sets a Material property for the bus Entity. The Material will be cloned once before any changes are applied, so other instances are not affected. - //! \param name Name of the material param to set. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param value New value for the param - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - virtual void SetMaterialParamFloat(const AZStd::string& /*name*/, float /*value*/, int /*materialId = 1*/) {}; - - //! Returns a Material property value for the bus Entity. - //! \param name Name of the material param to get. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - //! \return The value of the param, or 0's if the param could not be found. - virtual AZ::Vector4 GetMaterialParamVector4(const AZStd::string& /*name*/, int /*materialId = 1*/) { return AZ::Vector4::CreateZero(); }; - - //! Returns a Material property value for the bus Entity. - //! \param name Name of the material param to get. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - //! \return The value of the param, or 0's if the param could not be found. - virtual AZ::Vector3 GetMaterialParamVector3(const AZStd::string& /*name*/, int /*materialId = 1*/) { return AZ::Vector3::CreateZero(); }; - - //! Returns a Material property value for the bus Entity. - //! \param name Name of the material param to get. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - //! \return The value of the param, or 0's if the param could not be found. - virtual AZ::Color GetMaterialParamColor(const AZStd::string& /*name*/, int /*materialId = 1*/) { return AZ::Color::CreateZero(); }; - - //! Returns a Material property value for the bus Entity. - //! \param name Name of the material param to get. May be a custom defined param in the shader, or one of the standard lighting params (diffuse, specular, emissive_color, emissive_intensity, shininess, opacity, alpha). - //! \param materialId ID of the desired material slot. The first slot is Material ID 1. - //! \return The value of the param, or 0 if the param could not be found. - virtual float GetMaterialParamFloat(const AZStd::string& /*name*/, int /*materialId = 1*/) { return 0.0f; }; - }; - - using MaterialOwnerRequestBus = AZ::EBus; - - /*! - * Messages sent by components that support materials (e.g. Mesh, Decal). - * We specifically chose the name "MaterialOwnerNotificationBus" rather than just "MaterialNotificationBus" to communicate - * the fact that the requests are not for a Material directly, but for an Entity/Component that uses a Material. - */ - class MaterialOwnerNotifications - : public AZ::ComponentBus - { - public: - - //! Sent when the material owner is fully initialized, and MaterialOwnerRequestBus can be used on the Material. - //! Before this event, MaterialOwnerRequestBus functions probably won't do anything, because the Material likely - //! doesn't exist yet. - virtual void OnMaterialOwnerReady() = 0; - - /** - * When connecting to this bus, if the material owner is ready you will immediately get an OnMaterialOwnerReady event - **/ - template - struct ConnectionPolicy - : public AZ::EBusConnectionPolicy - { - static void Connect(typename Bus::BusPtr& busPtr, typename Bus::Context& context, typename Bus::HandlerNode& handler, typename Bus::Context::ConnectLockGuard& connectLock, const typename Bus::BusIdType& id = 0) - { - AZ::EBusConnectionPolicy::Connect(busPtr, context, handler, connectLock, id); - - bool readyResult = false; - LmbrCentral::MaterialOwnerRequestBus::EventResult( - readyResult, - id, - &LmbrCentral::MaterialOwnerRequestBus::Events::IsMaterialOwnerReady); - - if (readyResult) - { - handler->OnMaterialOwnerReady(); - } - } - }; - }; - - using MaterialOwnerNotificationBus = AZ::EBus; - -} // namespace LmbrCentral diff --git a/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MeshAsset.h b/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MeshAsset.h index a1a8c5daba..66e992890e 100644 --- a/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MeshAsset.h +++ b/Gems/LmbrCentral/Code/include/LmbrCentral/Rendering/MeshAsset.h @@ -18,7 +18,7 @@ namespace LmbrCentral : public AZ::Data::AssetData { public: - using MeshPtr = _smart_ptr; + using MeshPtr = IStatObj*; AZ_RTTI(MeshAsset, "{C2869E3B-DDA0-4E01-8FE3-6770D788866B}", AZ::Data::AssetData); AZ_CLASS_ALLOCATOR(MeshAsset, AZ::SystemAllocator, 0); diff --git a/Gems/LmbrCentral/Code/include/LmbrCentral/Shape/BoxShapeComponentBus.h b/Gems/LmbrCentral/Code/include/LmbrCentral/Shape/BoxShapeComponentBus.h index a84b0e2a4f..488e8b5617 100644 --- a/Gems/LmbrCentral/Code/include/LmbrCentral/Shape/BoxShapeComponentBus.h +++ b/Gems/LmbrCentral/Code/include/LmbrCentral/Shape/BoxShapeComponentBus.h @@ -21,13 +21,16 @@ namespace LmbrCentral /// Type ID for the EditorBoxShapeComponent static const AZ::Uuid EditorBoxShapeComponentTypeId = "{2ADD9043-48E8-4263-859A-72E0024372BF}"; + /// Type ID for the BoxShapeConfig + static const AZ::Uuid BoxShapeConfigTypeId = "{F034FBA2-AC2F-4E66-8152-14DFB90D6283}"; + /// Configuration data for BoxShapeComponent class BoxShapeConfig : public ShapeComponentConfig { public: AZ_CLASS_ALLOCATOR(BoxShapeConfig, AZ::SystemAllocator, 0) - AZ_RTTI(BoxShapeConfig, "{F034FBA2-AC2F-4E66-8152-14DFB90D6283}", ShapeComponentConfig) + AZ_RTTI(BoxShapeConfig, BoxShapeConfigTypeId, ShapeComponentConfig) static void Reflect(AZ::ReflectContext* context); diff --git a/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake index f96fd7a3b2..5c77888922 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake @@ -50,6 +50,8 @@ set(FILES Source/Shape/EditorDiskShapeComponent.cpp Source/Shape/EditorBoxShapeComponent.h Source/Shape/EditorBoxShapeComponent.cpp + Source/Shape/EditorAxisAlignedBoxShapeComponent.h + Source/Shape/EditorAxisAlignedBoxShapeComponent.cpp Source/Shape/EditorCylinderShapeComponent.h Source/Shape/EditorCylinderShapeComponent.cpp Source/Shape/EditorCapsuleShapeComponent.h diff --git a/Gems/LmbrCentral/Code/lmbrcentral_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_files.cmake index 73cd12d2b7..18412e2a38 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_files.cmake @@ -34,7 +34,6 @@ set(FILES include/LmbrCentral/Rendering/LightComponentBus.h include/LmbrCentral/Rendering/MaterialAsset.h include/LmbrCentral/Rendering/MaterialHandle.h - include/LmbrCentral/Rendering/MaterialOwnerBus.h include/LmbrCentral/Rendering/MeshAsset.h include/LmbrCentral/Rendering/MeshModificationBus.h include/LmbrCentral/Rendering/RenderNodeBus.h @@ -107,6 +106,10 @@ set(FILES Source/Shape/SphereShape.cpp Source/Shape/SphereShapeComponent.h Source/Shape/SphereShapeComponent.cpp + Source/Shape/AxisAlignedBoxShape.h + Source/Shape/AxisAlignedBoxShape.cpp + Source/Shape/AxisAlignedBoxShapeComponent.h + Source/Shape/AxisAlignedBoxShapeComponent.cpp Source/Shape/BoxShape.h Source/Shape/BoxShape.cpp Source/Shape/BoxShapeComponent.h diff --git a/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake index 5c4da3db73..c0f1ffd9ec 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake @@ -8,6 +8,7 @@ set(FILES Tests/AudioComponentTests.cpp + Tests/AxisAlignedBoxShapeTest.cpp Tests/BoxShapeTest.cpp Tests/BundlingSystemComponentTests.cpp Tests/SphereShapeTest.cpp diff --git a/Gems/LyShine/Code/Source/Animation/AzEntityNode.cpp b/Gems/LyShine/Code/Source/Animation/AzEntityNode.cpp index cc4e70e010..2b31726d3e 100644 --- a/Gems/LyShine/Code/Source/Animation/AzEntityNode.cpp +++ b/Gems/LyShine/Code/Source/Animation/AzEntityNode.cpp @@ -256,20 +256,12 @@ const AZ::SerializeContext::ClassElement* CUiAnimAzEntityNode::ComputeOffsetFrom if (mismatch) { - AZStd::string warnMsg = "Data mismatch reading animation data for type "; - warnMsg += classData->m_typeId.ToString(); - warnMsg += ". The field \""; - warnMsg += paramData.GetName(); - if (!element) - { - warnMsg += "\" cannot be found."; - } - else - { - warnMsg += "\" has a different type to that in the animation data."; - } - warnMsg += " This part of the animation data will be ignored."; - CryWarning(VALIDATOR_MODULE_SHINE, VALIDATOR_WARNING, warnMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SHINE, VALIDATOR_WARNING, + "Data mismatch reading animation data for type %s. The field \"%s\" %s. This part of the animation data will be ignored.", + classData->m_typeId.ToString().c_str(), + paramData.GetName(), + (!element ? "cannot be found" : "has a different type to that in the animation data") + ); return nullptr; } } diff --git a/Gems/LyShine/Code/Source/Tests/internal/test_UiTextComponent.cpp b/Gems/LyShine/Code/Source/Tests/internal/test_UiTextComponent.cpp index 05e670fdd5..33c2738e54 100644 --- a/Gems/LyShine/Code/Source/Tests/internal/test_UiTextComponent.cpp +++ b/Gems/LyShine/Code/Source/Tests/internal/test_UiTextComponent.cpp @@ -110,7 +110,7 @@ namespace ++drawBatchIt) { const UiTextComponent::DrawBatch& drawBatch = *drawBatchIt; - numNewlinesFound += static_cast(AZStd::count_if(drawBatch.text.begin(), drawBatch.text.end(), + numNewlinesFound += static_cast(AZStd::count_if(drawBatch.text.begin(), drawBatch.text.end(), [](char c) -> bool { return c == '\n'; @@ -135,11 +135,11 @@ namespace } //! \brief Verify fonts that ship with Open 3D Engine load correctly. - //! + //! //! This test depends on the LyShineExamples and UiBasics gems being //! included in the project. //! - //! There are other fonts that ship in other projects (SamplesProject, + //! There are other fonts that ship in other projects (SamplesProject, //! FeatureTests), but that would call for project-specific unit-tests //! which don't belong here. void VerifyShippingFonts() @@ -168,7 +168,7 @@ namespace AZ_Assert(AZStd::string(inputStringCopy.c_str()) == inputString, "Test failed"); } } - + } void BuildDrawBatchesTests(FontFamily* fontFamily) @@ -179,7 +179,7 @@ namespace STextDrawContext fontContext; fontContext.SetEffect(0); fontContext.SetSizeIn800x600(false); - fontContext.SetSize(vector2f(32.0f, 32.0f)); + fontContext.SetSize(Vec2(32.0f, 32.0f)); const float defaultAscent = fontFamily->normal->GetAscender(fontContext); // Plain string @@ -635,7 +635,7 @@ namespace } } - // Anchor tag with multiple colors within link + // Anchor tag with multiple colors within link { const LyShine::StringType markupTestString("this is a test!"); @@ -2021,7 +2021,7 @@ namespace STextDrawContext fontContext; fontContext.SetEffect(0); fontContext.SetSizeIn800x600(false); - fontContext.SetSize(vector2f(32.0f, 32.0f)); + fontContext.SetSize(Vec2(32.0f, 32.0f)); const float defaultAscent = fontFamily->normal->GetAscender(fontContext); { @@ -2082,7 +2082,7 @@ namespace AZ_Assert(0 == fontFamilyRefs.size(), "Test failed"); AZ_Assert(2 == drawBatches.size(), "Test failed"); AssertTextNotEmpty(drawBatches); - + StringList stringList; stringList.push_back("this"); stringList.push_back(" is a test!"); @@ -2149,7 +2149,7 @@ namespace STextDrawContext fontContext; fontContext.SetEffect(0); fontContext.SetSizeIn800x600(false); - fontContext.SetSize(vector2f(32.0f, 32.0f)); + fontContext.SetSize(Vec2(32.0f, 32.0f)); UiTextComponent::InlineImageContainer inlineImages; float defaultImageHeight = 32.0f; @@ -2581,7 +2581,7 @@ namespace } } - // Next line + // Next line ++batchLineIter; { const auto& batchLine = *batchLineIter; @@ -2667,7 +2667,7 @@ namespace } } - // Next line + // Next line ++batchLineIter; { const auto& batchLine = *batchLineIter; @@ -2725,7 +2725,7 @@ namespace { expectedWidth = 0.0f; } - + AZ_Assert(IsClose(newWidth, expectedWidth), "Test failed: Character Spacing, %s. Expected: %f, actual: %f", testName, expectedWidth, newWidth); lyshine->ReleaseCanvas(canvasEntityId, false); @@ -2981,7 +2981,7 @@ namespace AZ::EntityId testElemId = testElem->GetId(); // Verify that GetText and GetAsIs returns the unlocalized key "@ui_Hello" along - // with the original (escaped) markup characters + // with the original (escaped) markup characters { AZStd::string testString("&<>% @ui_Hello"); UiTextInterface::SetTextFlags setTextFlags = static_cast(UiTextInterface::SetEscapeMarkup | UiTextInterface::SetLocalized); @@ -3011,7 +3011,7 @@ namespace // Tests: Setting localized text with abutting invalid localization key chars // // Purpose: localization tokens appear in strings surrounded by characters that - // shouldn't be part of the localization key. + // shouldn't be part of the localization key. // // For example: // "@ui_Hello, @ui_Welcome!" @@ -3110,12 +3110,12 @@ namespace // Test that markup is disabled by default. EBUS_EVENT_ID_RESULT(enabled, testElemId, UiTextBus, GetIsMarkupEnabled); AZ_Assert(!enabled, "Test failed"); - + // Test that setting it to false when it is already false, does not set it to true. EBUS_EVENT_ID(testElemId, UiTextBus, SetIsMarkupEnabled, false); EBUS_EVENT_ID_RESULT(enabled, testElemId, UiTextBus, GetIsMarkupEnabled); AZ_Assert(!enabled, "Test failed"); - + // Check that the flag is actually disabled by checking the size of the textbox EBUS_EVENT_ID_RESULT(NewSize, testElemId, UiTextBus, GetTextSize); AZ_Assert(NewSize == MarkUpDisabledSize, "Test failed"); @@ -3287,7 +3287,7 @@ void FontSharedPtrTests() // This is a negative test which is difficult to support currently. // Uncommenting this line should trigger an assert in CryFont because - // the font was de-allocated while still being referenced by a + // the font was de-allocated while still being referenced by a // FontFamily //notoSans->normal->Release(); @@ -3418,7 +3418,7 @@ void FontSharedPtrTests() AZ_Assert(fontBoldItalic == notoSans->boldItalic, "Test failed"); } - // Once FontFamilyPtr goes out of scope, all associated font family + // Once FontFamilyPtr goes out of scope, all associated font family // fonts should get unloaded too. IFFont* fontRegular = GetISystem()->GetICryFont()->GetFont(notoSansRegular); AZ_Assert(!fontRegular, "Test failed"); @@ -3454,11 +3454,11 @@ void FontSharedPtrTests() const char* veraFontFamilyFile = "fonts/vera.fontfamily"; FontFamilyPtr veraFontFamily = gEnv->pCryFont->LoadFontFamily(veraFontFamilyFile); - + // BEGIN JAV_LY_FORK: The above "vera.font" is a pass-through font (not a font family) // and is now mapped by by its full filepath rather than just the filename. AZ_Assert(veraFontFamily.get(), "Test failed"); - + // The vera font family uses vera.font for its regular-weighted font, // so the ref count for vera.font increases by one, from 4 to 5. AZ_Assert(6 == veraFont->normal->AddRef(), "Test failed"); @@ -3483,12 +3483,12 @@ void UiTextComponent::UnitTest(CLyShine* lyshine, IConsoleCmdArgs* cmdArgs) else { // These tests assume the unit-tests run at startup in order for ref count - // values to make sense. + // values to make sense. AZ_Warning("LyShine", false, "Unit-tests: skipping FontSharedPtrTests due to tests running " "ad-hoc. Run unit tests at startup for full coverage. See ui_RunUnitTestsOnStartup."); } - + VerifyShippingFonts(); // These fonts are required for subsequent unit-tests to work. diff --git a/Gems/LyShine/Code/Source/UiInteractableState.cpp b/Gems/LyShine/Code/Source/UiInteractableState.cpp index e81c48a43a..6027ecf3d7 100644 --- a/Gems/LyShine/Code/Source/UiInteractableState.cpp +++ b/Gems/LyShine/Code/Source/UiInteractableState.cpp @@ -575,10 +575,7 @@ void UiInteractableStateFont::SetFontPathname(const AZStd::string& pathname) fontFamily = gEnv->pCryFont->LoadFontFamily(fileName.c_str()); if (!fontFamily) { - AZStd::string errorMsg = "Error loading a font from "; - errorMsg += fileName.c_str(); - errorMsg += "."; - CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_ERROR, errorMsg.c_str()); + CryWarning(VALIDATOR_MODULE_SYSTEM, VALIDATOR_ERROR, "Error loading a font from %s.", fileName.c_str()); } } diff --git a/Gems/LyShine/Code/Source/UiTextComponent.cpp b/Gems/LyShine/Code/Source/UiTextComponent.cpp index 1c8189fa2a..e18a9cefe2 100644 --- a/Gems/LyShine/Code/Source/UiTextComponent.cpp +++ b/Gems/LyShine/Code/Source/UiTextComponent.cpp @@ -62,7 +62,7 @@ namespace AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement) { - // This element is a pre-version-8 text component. Prior to version 8 there was no MarkupEnabled + // This element is a pre-version-8 text component. Prior to version 8 there was no MarkupEnabled // flag and markup was always enabled. Going forward, for new components we want to default to // markupEnabled = false because of the performance hit of parsing text strings for XML. // However, we want to be backward compatible with old data so for pre-version-8 components @@ -168,10 +168,10 @@ namespace //! Migrate legacy shrink-to-fit setting to new ShrinkToFit enum. //! - //! As of V8 of text component, the "shrink to fit" setting was a value of + //! As of V8 of text component, the "shrink to fit" setting was a value of //! the WrapTextSetting enum. With V9, a new ShrinkToFit enum was introduced //! and offered an additional "width-only" option (previously, shrink-to-fit - //! only performed uniform scaling along both axes). + //! only performed uniform scaling along both axes). bool ConvertV8ShrinkToFitSetting( AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement) @@ -194,7 +194,7 @@ namespace if (shrinkToFitSettingNeedsUpdating) { // It wasn't possible to word-wrap and have shrink-to-fit before, so we just - // reset the wrap text setting to NoWrap to maintain backwards compatibilty. + // reset the wrap text setting to NoWrap to maintain backwards compatibilty. if (!wrapTextSettingNode.SetData(context, static_cast(UiTextInterface::WrapTextSetting::NoWrap))) { AZ_Error("Serialization", false, "Unable to set WrapTextSetting to NoWrap (%d).", static_cast(UiTextInterface::WrapTextSetting::NoWrap)); @@ -964,7 +964,7 @@ namespace //! \param imageStartPos Upper-left coordinate of unclipped image //! \param imageEndPos Bottom-right coordinate of unclipped image void ClipImageQuadAndUvs( - AZ::Vector3* imageQuad, + AZ::Vector3* imageQuad, AZ::Vector2* uvs, const UiTransformInterface::RectPoints& points, const UiTextComponent::DrawBatch& drawBatch, @@ -1022,7 +1022,7 @@ namespace //! Note that this assumes the lines have been word-wrapped and don't overflow horizontally. int GetNumNonOverflowingLinesForElement( const UiTextComponent::DrawBatchLineContainer& batchLines, - const AZ::Vector2& currentElementSize, + const AZ::Vector2& currentElementSize, float lineSpacing) { int maxLinesElementCanHold = 0; @@ -1426,7 +1426,7 @@ bool UiTextComponent::DrawBatchLine::CheckAndSplitLine(const STextDrawContext& c DrawBatchLine& newDrawBatchLineOut) { bool lineSplit = false; - + // Allow a space at the end of the line to overflow. This is to remain consistent with the non-image // line split implementation. If the space at the end of the line was simply removed, the character // indexes wouldn't match the localized text character indexes, and would cause issues with cursor positioning @@ -1453,7 +1453,7 @@ bool UiTextComponent::DrawBatchLine::CheckAndSplitLine(const STextDrawContext& c // Check whether current batch is overflowing and get overflow info UiTextComponent::DrawBatch::OverflowInfo overflowInfoOut; bool overflowing = drawBatchIterator->GetOverflowInfo(ctx, availableWidth, skipFirstChar, overflowInfoOut); - + // Check if this batch has a space and remember for later if (overflowInfoOut.lastSpaceIndex >= 0) { @@ -1483,7 +1483,7 @@ bool UiTextComponent::DrawBatchLine::CheckAndSplitLine(const STextDrawContext& c isLastSpaceAtEndOfBatch = false; numCharsSinceLastSpace = -1; } - + if (overflowing) { // Find a batch to split @@ -1667,13 +1667,13 @@ void UiTextComponent::ResetOverrides() m_overrideColor = m_color; colorChanged = true; } - + if (m_overrideAlpha != m_alpha) { m_overrideAlpha = m_alpha; alphaChanged = true; } - + if (m_overrideFontFamily != m_fontFamily) { m_overrideFontFamily = m_fontFamily; @@ -1771,7 +1771,7 @@ void UiTextComponent::Render(LyShine::IRenderGraph* renderGraph) float finalAlpha = fade * m_overrideAlpha; uint8 finalAlphaByte = static_cast(finalAlpha * 255.0f); - // if we have any cached text batches that have transparency in their font effects then we need to + // if we have any cached text batches that have transparency in their font effects then we need to // regenerate the render cache if alpha has changed. This is fairly unusual so it still // makes sense to not mark the render cache dirty on most fades or alpha changes. if (m_drawBatchLines.m_fontEffectHasTransparency) @@ -1779,7 +1779,7 @@ void UiTextComponent::Render(LyShine::IRenderGraph* renderGraph) if (!m_renderCache.m_batches.empty() && m_renderCache.m_batches[0]->m_color.a != finalAlphaByte) { MarkRenderCacheDirty(); - } + } } // If the cache is out of date then regenerate it @@ -1889,7 +1889,7 @@ void UiTextComponent::Render(LyShine::IRenderGraph* renderGraph) batch->m_color.a = finalAlphaByte; } - // We always use wrap mode for text (isClamp false). This is historically what was done + // We always use wrap mode for text (isClamp false). This is historically what was done // in CryFont and without it characters that are on the left of the font texture look bad // because there is no padding on the left of the glyphs. bool isClampTextureMode = false; @@ -2029,7 +2029,7 @@ void UiTextComponent::SetColor(const AZ::Color& color) { if (m_drawBatchLines.m_fontEffectHasTransparency) { - MarkRenderCacheDirty(); + MarkRenderCacheDirty(); } else { @@ -2378,7 +2378,7 @@ void UiTextComponent::SetSelectionRange(int startIndex, int endIndex, const AZ:: // The render cache stores positions based on these values so mark it dirty MarkRenderCacheDirty(); -} +} //////////////////////////////////////////////////////////////////////////////////////////////////// void UiTextComponent::ClearSelectionRange() @@ -2691,7 +2691,7 @@ void UiTextComponent::GetClickableTextRects(UiClickableTextInterface::ClickableT alignedPosition.SetX(alignedPosition.GetX() + xDrawPosOffset); Vec2 textSize(drawBatch.size.GetX(), drawBatch.size.GetY()); xDrawPosOffset = textSize.x; - + if (drawBatch.IsClickable()) { UiClickableTextInterface::ClickableTextRect clickableRect; @@ -2736,7 +2736,7 @@ void UiTextComponent::SetClickableTextColor(int id, const AZ::Color& color) if (id == drawBatch.clickableId) { // Don't return here. We purposely continue iterating in - // case there are subsequent draw batches (especially + // case there are subsequent draw batches (especially // across multiple draw batch lines) with the same ID. // This will occur with word-wrapped text. drawBatch.color = color.GetAsVector3(); @@ -2851,7 +2851,7 @@ float UiTextComponent::GetTargetWidth(float maxWidth) // for rendering, a new empty line will be added to account for the newline that gets added // due to not having enough room for the trailing space bool excludeTrailingSpaceWidth = false; - + DrawBatchLines drawBatchLines; CalculateDrawBatchLines(drawBatchLines, forceNoWrap, maxWidth, excludeTrailingSpaceWidth); @@ -2891,7 +2891,7 @@ float UiTextComponent::GetTargetHeight(float maxHeight) const bool haveMaxHeight = LyShine::IsUiLayoutCellSizeSpecified(maxHeight); const bool ellipsis = m_overflowMode == OverflowMode::Ellipsis; const bool shrinkToFit = m_shrinkToFit == ShrinkToFit::Uniform; - + const bool handleOverflow = haveMaxHeight && (ellipsis || shrinkToFit); const bool handleNoOverflow = !haveMaxHeight && (m_drawBatchLines.fontSizeScale.GetY() != 1.0f); @@ -3431,7 +3431,7 @@ void UiTextComponent::OnFontSizeChange() { m_isRequestFontSizeDirty = true; - // We need to re-prepare the text for rendering, however this may not be + // We need to re-prepare the text for rendering, however this may not be // very efficient since completely re-preparing the text (parsing markup, // preparing batches, etc.) may not be necessary. MarkDrawBatchLinesDirty(true); @@ -3499,7 +3499,7 @@ void UiTextComponent::OnLineSpacingChange() // If shrink-to-fit applies, we need to re-create draw batch lines in // order to ensure overflow conditions are properly applied. if (m_shrinkToFit != ShrinkToFit::None) - { + { MarkDrawBatchLinesDirty(true); } else @@ -3863,7 +3863,7 @@ void UiTextComponent::CalculateDrawBatchLines( drawBatches.push_back(DrawBatch()); drawBatches.front().font = font; drawBatches.front().text = m_locText; - + // If the font effect we are using has any passes with alpha of less than 1 (not common) then // we set a flag in the batch lines since it affects how we can update the alpha in the cache drawBatchLinesOut.m_fontEffectHasTransparency = font->DoesEffectHaveTransparency(fontContext.m_fxIdx); @@ -3875,7 +3875,7 @@ void UiTextComponent::CalculateDrawBatchLines( delete image; } prevInlineImages.clear(); - + // Check if we have any inline images that require us to connect to the texture atlas bus if (drawBatchLinesOut.inlineImages.size() > 0) { @@ -4107,7 +4107,7 @@ void UiTextComponent::RenderDrawBatchLines( const AZ::Vector2 imageStartPos = AZ::Vector2( alignedPosition.GetX() + drawBatch.image->m_leftPadding, alignedPosition.GetY() + drawBatch.yOffset); - + const AZ::Vector2 imageEndPos = AZ::Vector2( imageStartPos.GetX() + drawBatch.image->m_size.GetX(), imageStartPos.GetY() + drawBatch.image->m_size.GetY()); @@ -4121,7 +4121,7 @@ void UiTextComponent::RenderDrawBatchLines( AZ::Vector2 uvs[4]; if (drawBatch.image->m_atlas) { - uvs[0] = AZ::Vector2(static_cast(drawBatch.image->m_coordinates.GetLeft()) / drawBatch.image->m_atlas->GetWidth(), + uvs[0] = AZ::Vector2(static_cast(drawBatch.image->m_coordinates.GetLeft()) / drawBatch.image->m_atlas->GetWidth(), static_cast(drawBatch.image->m_coordinates.GetTop()) / drawBatch.image->m_atlas->GetHeight()); uvs[2] = AZ::Vector2(static_cast(drawBatch.image->m_coordinates.GetRight()) / drawBatch.image->m_atlas->GetWidth(), static_cast(drawBatch.image->m_coordinates.GetBottom()) / drawBatch.image->m_atlas->GetHeight()); @@ -4227,9 +4227,9 @@ STextDrawContext UiTextComponent::GetTextDrawContextPrototype(int requestFontSiz // Shrink-to-fit scaling (fontSizeScale) gets applied to font size, but not request size. // This means that re-rendered fonts will not re-render characters that are scaled via // shrink-to-fit - a scale transformation is applied for these characters instead. For - // higher quality font scaling with shrink-to-fit, consider taking m_fontSizeScale into + // higher quality font scaling with shrink-to-fit, consider taking m_fontSizeScale into // account. - ctx.SetSize(vector2f(m_fontSize * fontSizeScale.GetX(), m_fontSize * fontSizeScale.GetY())); + ctx.SetSize(Vec2(m_fontSize * fontSizeScale.GetX(), m_fontSize * fontSizeScale.GetY())); ctx.m_requestSize = Vec2i(requestFontSize, requestFontSize); ctx.m_processSpecialChars = false; ctx.m_tracking = (m_charSpacing * ctx.m_size.x) / 1000.0f; // m_charSpacing units are 1/1000th of ems, 1 em is equal to font size. @@ -4406,7 +4406,7 @@ void UiTextComponent::HandleShrinkToFitWithWrapping( //////////////////////////////////////////////////////////////////////////////////////////////////// void UiTextComponent::HandleWidthOnlyShrinkToFitWithWrapping( UiTextComponent::DrawBatchLines& drawBatchLinesOut, - const AZ::Vector2& currentElementSize, + const AZ::Vector2& currentElementSize, int maxLinesElementCanHold) { bool textStillOverflows = true; @@ -4418,8 +4418,8 @@ void UiTextComponent::HandleWidthOnlyShrinkToFitWithWrapping( DrawBatchLineContainer::reverse_iterator riter; int overflowLineCount = 0; float overflowingLineSize = 0.0f; - for (riter = drawBatchLinesOut.batchLines.rbegin(); - riter != drawBatchLinesOut.batchLines.rend() && overflowLineCount < numOverflowingLines; + for (riter = drawBatchLinesOut.batchLines.rbegin(); + riter != drawBatchLinesOut.batchLines.rend() && overflowLineCount < numOverflowingLines; ++riter, ++overflowLineCount) { DrawBatchLine& batchLine = *riter; @@ -4458,7 +4458,7 @@ void UiTextComponent::HandleWidthOnlyShrinkToFitWithWrapping( maxLinesElementCanHold = GetNumNonOverflowingLinesForElement(drawBatchLinesOut.batchLines, currentElementSize, m_lineSpacing); // Just because we applied a scale doesn't mean the text fits. This is due to word wrap. - // Even though we calculate the exact scale to accmmodate all the characters for the + // Even though we calculate the exact scale to accmmodate all the characters for the // max number of lines the element can hold, word-wrap divides the characters unevenly // across the total space required by the text, because overflowing words/characters are // wrapped to the next line (and a character is "atomic" and can't be divided arbitrarily @@ -4485,7 +4485,7 @@ void UiTextComponent::HandleUniformShrinkToFitWithWrapping( // This keeps track of the last known largest scale that fits the text // to the element bounds with word wrap. float bestScaleFoundSoFar = curFontScale; - + // Calculate a default scale multiplier used to reduce the font scale by a percentage // until the text no longer overflows. // The default scale multiplier is the ratio of available height to the required height. @@ -4500,14 +4500,14 @@ void UiTextComponent::HandleUniformShrinkToFitWithWrapping( // If min shrink scale applies, and it's bigger than the default scale multplier, // we set the scale to be half the difference between 1.0f (no scale) and the // min shrink scale (a "half step"). This gives a starting point that avoids - // applying a scale that is too small too soon (esp for text that "almost fits" + // applying a scale that is too small too soon (esp for text that "almost fits" // the element bounds). const float minShrinkScaleHalfStep = (1.0f - m_minShrinkScale) * 0.5f + m_minShrinkScale; const bool useMinShrinkScale = m_minShrinkScale > 0.0f; const float scaleMultiplierUnclamped = useMinShrinkScale ? minShrinkScaleHalfStep : defaultScaleMultiplier; const float scaleMultiplier = AZStd::GetMax(defaultScaleMultiplier, scaleMultiplierUnclamped); - + // Text always starts out overflowing bool textStillOverflows = true; @@ -4532,7 +4532,7 @@ void UiTextComponent::HandleUniformShrinkToFitWithWrapping( maxLinesElementCanHold = GetNumNonOverflowingLinesForElement(drawBatchLinesOut.batchLines, currentElementSize, m_lineSpacing); // Just because we applied a scale doesn't mean the text fits. This is due to word wrap. - // Even though we calculate the exact scale to accmmodate all the characters for the + // Even though we calculate the exact scale to accmmodate all the characters for the // max number of lines the element can hold, word-wrap divides the characters unevenly // across the total space required by the text, because overflowing words/characters are // wrapped to the next line (and a character is "atomic" and can't be divided arbitrarily @@ -4585,7 +4585,7 @@ void UiTextComponent::HandleEllipsis(UiTextComponent::DrawBatchLines& drawBatchL { return; } - + AZ::Vector2 textSize = GetTextSizeFromDrawBatchLines(drawBatchLinesOut); AZ::Vector2 currentElementSize; // This needs to be computed with the unscaled size. This is because scaling happens after the text is laid out. EBUS_EVENT_ID_RESULT(currentElementSize, GetEntityId(), UiTransformBus, GetCanvasSpaceSizeNoScaleRotate); @@ -4651,7 +4651,7 @@ void UiTextComponent::HandleEllipsis(UiTextComponent::DrawBatchLines& drawBatchL const bool noOtherBatches = 1 == lineToEllipsisPtr->drawBatchList.size(); const bool removeBatchContainingOnlyEllipsis = batchContainsOnlyEllipsis && noOtherBatches; if (removeBatchContainingOnlyEllipsis) - { + { linesToRemove.push_back(lineToEllipsis); } else @@ -4716,7 +4716,7 @@ void UiTextComponent::GetLineToEllipsisAndLinesToTruncate(UiTextComponent::DrawB prevBatchLine = iter; continue; } - + // Prevent the first line of text from being removed, even if the text // is overflowing. With ellipsis enabled, this content will be clipped. const bool firstLine = iter == drawBatchLinesOut.batchLines.begin(); @@ -4776,7 +4776,7 @@ UiTextComponent::DrawBatch* UiTextComponent::GetDrawBatchToEllipseAndPositions(c ellipsisSize = drawBatchToEllipse->font->GetTextSize(ellipseText, true, ctx).x; // Calculate where the ellipsis must start in order to be contained within the - // element bounds. Also, guard against narrow elements that aren't wide enough + // element bounds. Also, guard against narrow elements that aren't wide enough // to accommodate ellipsis. *ellipsisPos = AZStd::GetMax(0.0f, currentElementSize.GetX() - ellipsisSize); *drawBatchStartPos = startPositions->back().second; @@ -4838,7 +4838,7 @@ int UiTextComponent::GetStartEllipseIndexInDrawBatch(const DrawBatch* drawBatchT char codepoint[5] = { 0 }; char* codepointPtr = codepoint; Utf8::Unchecked::octet_iterator::to_utf8_sequence(ch, codepointPtr, maxSize); - + overflowStringSize += drawBatchToEllipse->font->GetTextSize(codepoint, true, ctx).x; if (prevCh && ctx.m_kerningEnabled) @@ -4863,7 +4863,7 @@ int UiTextComponent::GetStartEllipseIndexInDrawBatch(const DrawBatch* drawBatchT } ellipsisCharPos = stringBufferIndex; - + } return ellipsisCharPos; @@ -4939,7 +4939,7 @@ AZ::Vector2 UiTextComponent::CalculateAlignedPositionWithYOffset(const UiTransfo AZ::Vector2 pos; const DrawBatchLines& drawBatchLines = GetDrawBatchLines(); size_t numLinesOfText = drawBatchLines.batchLines.size(); - + switch (m_textHAlignment) { case IDraw2d::HAlign::Left: @@ -5047,7 +5047,7 @@ bool UiTextComponent::VersionConverter(AZ::SerializeContext& context, } } - // conversion from version 8 to current: + // conversion from version 8 to current: // - "shrink to fit" wrap text setting now becomes the "uniform" value of the new "shrink to fit" enum // - legacy "ResizeToText" overflow mode (enum value 2) gets reset back to zero (overflow) if (classElement.GetVersion() <= 8) diff --git a/Gems/LyShineExamples/Code/Include/LyShineExamples/UiCustomImageBus.h b/Gems/LyShineExamples/Code/Include/LyShineExamples/UiCustomImageBus.h index 0830e4229a..26f793d774 100644 --- a/Gems/LyShineExamples/Code/Include/LyShineExamples/UiCustomImageBus.h +++ b/Gems/LyShineExamples/Code/Include/LyShineExamples/UiCustomImageBus.h @@ -42,10 +42,10 @@ public: // types void UnitClamp() { - m_left = FClamp(m_left, 0.0f, 1.0f); - m_top = FClamp(m_top, 0.0f, 1.0f); - m_right = FClamp(m_right, 0.0f, 1.0f); - m_bottom = FClamp(m_bottom, 0.0f, 1.0f); + m_left = AZStd::clamp(m_left, 0.0f, 1.0f); + m_top = AZStd::clamp(m_top, 0.0f, 1.0f); + m_right = AZStd::clamp(m_right, 0.0f, 1.0f); + m_bottom = AZStd::clamp(m_bottom, 0.0f, 1.0f); } bool operator==(const UVRect& rhs) const diff --git a/Gems/Maestro/Code/Source/Cinematics/CharacterTrackAnimator.h b/Gems/Maestro/Code/Source/Cinematics/CharacterTrackAnimator.h index e7c974e7a9..ae9f6bfce3 100644 --- a/Gems/Maestro/Code/Source/Cinematics/CharacterTrackAnimator.h +++ b/Gems/Maestro/Code/Source/Cinematics/CharacterTrackAnimator.h @@ -11,7 +11,7 @@ Utility class to handle Animation of Character Tracks (aka 'Animation' Tracks in the TrackView UI) */ -#include +#include struct SAnimContext; struct ICharacterKey; @@ -36,11 +36,6 @@ public: float m_jumpTime[3]; }; - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - } - void OnReset(IAnimNode* animNode); ILINE bool IsAnimationPlaying(const SAnimState& animState) const; diff --git a/Gems/Maestro/Code/Source/Cinematics/MaterialNode.cpp b/Gems/Maestro/Code/Source/Cinematics/MaterialNode.cpp index 9a54b21d7f..d124b37490 100644 --- a/Gems/Maestro/Code/Source/Cinematics/MaterialNode.cpp +++ b/Gems/Maestro/Code/Source/Cinematics/MaterialNode.cpp @@ -6,20 +6,19 @@ * */ - -#include #include "MaterialNode.h" #include "AnimTrack.h" +#include -#include #include #include +#include #include "AnimSplineTrack.h" #include "CompoundSplineTrack.h" #include "Maestro/Types/AnimNodeType.h" -#include "Maestro/Types/AnimValueType.h" #include "Maestro/Types/AnimParamType.h" +#include "Maestro/Types/AnimValueType.h" // Don't remove or the console builds will break! #define s_nodeParamsInitialized s_nodeParamsInitializedMat @@ -39,11 +38,11 @@ namespace param.valueType = valueType; s_nodeParams.push_back(param); } -} +} // namespace enum EMaterialNodeParam { - MTL_PARAM_SHADER_PARAM1 = static_cast(AnimParamType::User) + 100, + MTL_PARAM_SHADER_PARAM1 = static_cast(AnimParamType::User) + 100, }; ////////////////////////////////////////////////////////////////////////// @@ -105,7 +104,7 @@ void CAnimMaterialNode::UpdateDynamicParamsInternal() m_nameToDynamicShaderParam.clear(); const char* pName = GetName(); - _smart_ptr pMtl = GetMaterialByName(pName); + IMaterial* pMtl = GetMaterialByName(pName); if (!pMtl) { @@ -123,7 +122,7 @@ void CAnimMaterialNode::UpdateDynamicParamsInternal() for (int i = 0; i < shaderParams.size(); ++i) { SShaderParam& shaderParam = shaderParams[i]; - m_nameToDynamicShaderParam[ shaderParams[i].m_Name.c_str() ] = i; + m_nameToDynamicShaderParam[shaderParams[i].m_Name.c_str()] = i; CAnimNode::SParamInfo paramInfo; @@ -184,8 +183,9 @@ CAnimParamType CAnimMaterialNode::GetParamType(unsigned int nIndex) const { return s_nodeParams[nIndex].paramType; } - else if (nIndex >= (unsigned int)s_nodeParams.size() && - nIndex < ((unsigned int)s_nodeParams.size() + (unsigned int)m_dynamicShaderParamInfos.size())) + else if ( + nIndex >= (unsigned int)s_nodeParams.size() && + nIndex < ((unsigned int)s_nodeParams.size() + (unsigned int)m_dynamicShaderParamInfos.size())) { return m_dynamicShaderParamInfos[nIndex - (int)s_nodeParams.size()].paramType; } @@ -264,7 +264,7 @@ void CAnimMaterialNode::Animate(SAnimContext& ec) // Find material. const char* pName = GetName(); - _smart_ptr pMtl = GetMaterialByName(pName); + IMaterial* pMtl = GetMaterialByName(pName); if (!pMtl) { @@ -348,7 +348,8 @@ void CAnimMaterialNode::Animate(SAnimContext& ec) } } -void CAnimMaterialNode::AnimateNamedParameter(SAnimContext& ec, IRenderShaderResources* pShaderResources, const char* name, IAnimTrack* pTrack) +void CAnimMaterialNode::AnimateNamedParameter( + SAnimContext& ec, IRenderShaderResources* pShaderResources, const char* name, IAnimTrack* pTrack) { TDynamicShaderParamsMap::iterator findIter = m_nameToDynamicShaderParam.find(name); if (findIter != m_nameToDynamicShaderParam.end()) @@ -387,7 +388,7 @@ void CAnimMaterialNode::AnimateNamedParameter(SAnimContext& ec, IRenderShaderRes } } -_smart_ptr CAnimMaterialNode::GetMaterialByName(const char*) +IMaterial* CAnimMaterialNode::GetMaterialByName(const char*) { return nullptr; } @@ -404,8 +405,7 @@ void CAnimMaterialNode::Reflect(AZ::ReflectContext* context) { if (auto serializeContext = azrtti_cast(context)) { - serializeContext->Class() - ->Version(1); + serializeContext->Class()->Version(1); } } diff --git a/Gems/Maestro/Code/Source/Cinematics/MaterialNode.h b/Gems/Maestro/Code/Source/Cinematics/MaterialNode.h index 0c8bc38f1a..fcc308e5c8 100644 --- a/Gems/Maestro/Code/Source/Cinematics/MaterialNode.h +++ b/Gems/Maestro/Code/Source/Cinematics/MaterialNode.h @@ -54,7 +54,7 @@ protected: void UpdateDynamicParamsInternal() override; private: void AnimateNamedParameter(SAnimContext& ec, IRenderShaderResources* pShaderResources, const char* name, IAnimTrack* pTrack); - _smart_ptr GetMaterialByName(const char* pName); + IMaterial * GetMaterialByName(const char* pName); float m_fMinKeyValue; float m_fMaxKeyValue; diff --git a/Gems/Maestro/Code/Source/Cinematics/Movie.cpp b/Gems/Maestro/Code/Source/Cinematics/Movie.cpp index 467ab37dab..3654af52dd 100644 --- a/Gems/Maestro/Code/Source/Cinematics/Movie.cpp +++ b/Gems/Maestro/Code/Source/Cinematics/Movie.cpp @@ -709,7 +709,7 @@ void CMovieSystem::NotifyListeners(IAnimSequence* sequence, IMovieListener::EMov { /* * When a sequence is stopped, Resume is called just before stopped (not sure why). To ensure that a OnStop notification is sent out after the Resume, - * notifications for eMovieEvent_Started and eMovieEvent_Stopped are handled in IAnimSequence::OnStart and IAnimSequence::OnStop + * notifications for eMovieEvent_Started and eMovieEvent_Stopped are handled in IAnimSequence::OnStart and IAnimSequence::OnStop */ case IMovieListener::eMovieEvent_Aborted: { @@ -726,7 +726,7 @@ void CMovieSystem::NotifyListeners(IAnimSequence* sequence, IMovieListener::EMov // do nothing for unhandled IMovieListener events break; } - } + } } ////////////////////////////////////////////////////////////////////////// @@ -1860,12 +1860,6 @@ void CMovieSystem::OnSequenceActivated(IAnimSequence* sequence) m_newlyActivatedSequences.push_back(sequence); } -////////////////////////////////////////////////////////////////////////// -ILightAnimWrapper* CMovieSystem::CreateLightAnimWrapper(const char* name) const -{ - return CLightAnimWrapper::Create(name); -} - ////////////////////////////////////////////////////////////////////////// StaticInstance CLightAnimWrapper::ms_lightAnimWrapperCache; AZStd::intrusive_ptr CLightAnimWrapper::ms_pLightAnimSet; diff --git a/Gems/Maestro/Code/Source/Cinematics/Movie.h b/Gems/Maestro/Code/Source/Cinematics/Movie.h index 0d7d1743f1..8ab888178d 100644 --- a/Gems/Maestro/Code/Source/Cinematics/Movie.h +++ b/Gems/Maestro/Code/Source/Cinematics/Movie.h @@ -154,7 +154,6 @@ public: bool IsRecording() const { return m_bRecording; }; void EnableCameraShake(bool bEnabled){ m_bEnableCameraShake = bEnabled; }; - bool IsCameraShakeEnabled() const {return m_bEnableCameraShake; }; void SetCallback(IMovieCallback* pCallback) { m_pCallback = pCallback; } IMovieCallback* GetCallback() { return m_pCallback; } @@ -187,8 +186,6 @@ public: virtual void EnableBatchRenderMode(bool bOn) { m_bBatchRenderMode = bOn; } virtual bool IsInBatchRenderMode() const { return m_bBatchRenderMode; } - ILightAnimWrapper* CreateLightAnimWrapper(const char* name) const; - void SerializeNodeType(AnimNodeType& animNodeType, XmlNodeRef& xmlNode, bool bLoading, const uint version, int flags) override; virtual void LoadParamTypeFromXml(CAnimParamType& animParamType, const XmlNodeRef& xmlNode, const uint version) override; virtual void SaveParamTypeToXml(const CAnimParamType& animParamType, XmlNodeRef& xmlNode) override; diff --git a/Gems/Maestro/Code/Source/Cinematics/SoundTrack.h b/Gems/Maestro/Code/Source/Cinematics/SoundTrack.h index 58ba8c78c6..c55b2de520 100644 --- a/Gems/Maestro/Code/Source/Cinematics/SoundTrack.h +++ b/Gems/Maestro/Code/Source/Cinematics/SoundTrack.h @@ -6,35 +6,20 @@ * */ - -#ifndef CRYINCLUDE_CRYMOVIE_SOUNDTRACK_H -#define CRYINCLUDE_CRYMOVIE_SOUNDTRACK_H +#pragma once #include "AnimTrack.h" -#include struct SSoundInfo { - SSoundInfo() - : nSoundKeyStart(-1) - , nSoundKeyStop(-1) - { - Reset(); - } - void Reset() { nSoundKeyStart = -1; nSoundKeyStop = -1; } - void GetMemoryUsage(ICrySizer* pSizer) const - { - pSizer->AddObject(this, sizeof(*this)); - } - - int nSoundKeyStart; - int nSoundKeyStop; + int nSoundKeyStart = -1; + int nSoundKeyStop = -1; }; class CSoundTrack @@ -54,5 +39,3 @@ public: static void Reflect(AZ::ReflectContext* context); }; - -#endif // CRYINCLUDE_CRYMOVIE_SOUNDTRACK_H diff --git a/Gems/MultiplayerCompression/Code/Source/LZ4Compressor.cpp b/Gems/MultiplayerCompression/Code/Source/LZ4Compressor.cpp index 351935d0bb..6bc5d0e3d0 100644 --- a/Gems/MultiplayerCompression/Code/Source/LZ4Compressor.cpp +++ b/Gems/MultiplayerCompression/Code/Source/LZ4Compressor.cpp @@ -56,11 +56,16 @@ namespace MultiplayerCompression AZ_Warning("Multiplayer Compressor", compDataSize >= compWorstCaseSize, "Outbuffer size (%lu B) passed to Compress() is less than estimated worst case (%lu B)", compDataSize, compWorstCaseSize); // Note that this returns a non-negative int so we are narrowing into a size_t here - compSize = LZ4_compressHC(reinterpret_cast(uncompData), reinterpret_cast(compData), static_cast(uncompSize)); + compSize = LZ4_compress_HC( + reinterpret_cast(uncompData), + reinterpret_cast(compData), + static_cast(uncompSize), + static_cast(compDataSize), + 0); if (compSize == 0) { - // LZ4_compressHC returns a zero value for corrupt data and insufficient buffer + // LZ4_compress_HC returns a zero value for corrupt data and insufficient buffer AZ_Warning("Multiplayer Compressor", false, "Compression failed for uncompSize:(%lu B) compDataSize:(%lu B) compSize:(%lu B)", uncompSize, compDataSize, compSize); return AzNetworking::CompressorError::CorruptData; } diff --git a/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo index 37480c52c1..4c73efae13 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo @@ -25,13 +25,18 @@ "Position": [ -0.03709467500448227, -3.725290298461914e-9, - 0.013427333906292916 + 0.013427333906292915 ], + "MaterialSelection": { + "MaterialIds": [ + {} + ] + }, "propertyVisibilityFlags": 248 }, { "$type": "SphereShapeConfiguration", - "Radius": 0.12945009768009187 + "Radius": 0.12945009768009186 } ] ] @@ -50,15 +55,20 @@ "Rotation": [ 0.0, 0.662880003452301, - 0.7487256526947022, + 0.7487256526947021, 0.0 ], + "MaterialSelection": { + "MaterialIds": [ + {} + ] + }, "propertyVisibilityFlags": 248 }, { "$type": "CapsuleShapeConfiguration", "Height": 0.8597599267959595, - "Radius": 0.27968019247055056 + "Radius": 0.27968019247055054 } ] ] @@ -79,95 +89,51 @@ "RootNode", "RootNode.chicken_skeleton", "RootNode.chicken_feet_skin", + "RootNode.chicken_feet_skin.chicken_feet_skin_1", + "RootNode.chicken_feet_skin.chicken_feet_skin_2", "RootNode.chicken_eyes_skin", + "RootNode.chicken_eyes_skin.chicken_eyes_skin_1", + "RootNode.chicken_eyes_skin.chicken_eyes_skin_2", "RootNode.chicken_body_skin", + "RootNode.chicken_body_skin.chicken_body_skin_1", + "RootNode.chicken_body_skin.chicken_body_skin_2", "RootNode.chicken_mohawk", - "RootNode.chicken_skeleton.transform", + "RootNode.chicken_mohawk.chicken_mohawk_1", + "RootNode.chicken_mohawk.chicken_mohawk_2", "RootNode.chicken_skeleton.def_c_chickenRoot_joint", - "RootNode.chicken_feet_skin.SkinWeight_0", - "RootNode.chicken_feet_skin.transform", - "RootNode.chicken_feet_skin.map1", - "RootNode.chicken_feet_skin.chicken_body_mat", - "RootNode.chicken_eyes_skin.SkinWeight_0", - "RootNode.chicken_eyes_skin.transform", - "RootNode.chicken_eyes_skin.uvSet1", - "RootNode.chicken_eyes_skin.chicken_eye_mat", - "RootNode.chicken_body_skin.SkinWeight_0", - "RootNode.chicken_body_skin.transform", - "RootNode.chicken_body_skin.map1", - "RootNode.chicken_body_skin.chicken_body_mat", - "RootNode.chicken_mohawk.Col0", - "RootNode.chicken_mohawk.SkinWeight_0", - "RootNode.chicken_mohawk.transform", - "RootNode.chicken_mohawk.map1", - "RootNode.chicken_mohawk.mohawkMat", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint.def_l_ball_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint.def_r_ball_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint.def_c_tail2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint.def_l_wing_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint.def_r_wing_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint.def_l_ball_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint.def_r_ball_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint.def_c_tail2_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint.def_l_wing_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint.def_r_wing_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint.def_c_mouth_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint.def_c_mouth_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint.def_c_waddle_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.def_c_feather_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint.def_c_waddle_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.def_c_feather_end.transform" + "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.def_c_feather_end" ] }, "rules": { @@ -184,7 +150,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.chicken_mohawk", + "meshNodeName": "RootNode.chicken_mohawk.chicken_mohawk_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo index cbde27b201..b7dae925c9 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" @@ -34,4 +38,4 @@ "id": "{9D0F5F7F-FB90-5C00-97A7-C55F9180CE4E}" } ] -} +} \ No newline at end of file diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo index 1636e063a7..db558275cf 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" @@ -34,4 +38,4 @@ "id": "{3A467F2C-C2AB-581F-94E3-946575011973}" } ] -} +} \ No newline at end of file diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo index aea3110a42..5dacf085cf 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" @@ -34,4 +38,4 @@ "id": "{105338D3-5947-5F72-A077-36C193C8AE7C}" } ] -} +} \ No newline at end of file diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo index d23b92be9f..8da57dbed3 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo index 6a56ea23cf..bfc39618b4 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab index 57953f927b..16d30a36c2 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -80,8 +79,7 @@ "Component_[12470135924384913029]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 12470135924384913029, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[14919455666821657531]": { "$type": "EditorEntitySortComponent", @@ -108,8 +106,7 @@ "$type": "SelectionComponent", "Id": 786957291078135994 } - }, - "IsDependencyReady": true + } }, "Entity_[303451468511700]": { "Id": "Entity_[303451468511700]", @@ -163,7 +160,7 @@ "assetHint": "objects/cloth/chicken/motions/chickenidle.motion" }, "Loop": true, - "PlaySpeed": 1.2000000476837159 + "PlaySpeed": 1.2000000476837158 } }, "Component_[3482722103355682975]": { @@ -182,7 +179,7 @@ "$type": "EditorClothComponent", "Id": 7236637452394054627, "Configuration": { - "Mesh Node": "chicken_mohawk", + "Mesh Node": "chicken_mohawk_1", "Mass": 4.0, "Remove Static Triangles": false } @@ -191,18 +188,27 @@ "$type": "EditorEntitySortComponent", "Id": 868427789695884987 }, - "Component_[8777596718122199558]": { + "Component_[9845606399230319505]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 9845606399230319505, + "Parent Entity": "Entity_[303447173544404]", + "Transform Data": { + "Rotate": [ + 0.0, + 0.0, + -0.00006830000347690657 + ] + } + }, + "Component_[9927411050130082647]": { "$type": "EditorMaterialComponent", - "Id": 8777596718122199558, + "Id": 9927411050130082647, "Controller": { "Configuration": { "materials": [ { "Key": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 668669130 - } + "materialSlotStableId": 668669130 }, "Value": { "MaterialAsset": { @@ -215,10 +221,7 @@ }, { "Key": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 1541321207 - } + "materialSlotStableId": 1541321207 }, "Value": { "MaterialAsset": { @@ -231,10 +234,7 @@ }, { "Key": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 2608524672 - } + "materialSlotStableId": 2608524672 }, "Value": { "MaterialAsset": { @@ -251,44 +251,59 @@ "materialSlots": [ { "id": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 668669130 - } + "materialSlotStableId": 668669130 }, "materialAsset": { "assetId": { "guid": "{FB34D8F7-E8CA-542D-92A3-F0E04F3A3EC3}" }, "assetHint": "objects/cloth/chicken/actor/chicken_chicken_body_mat.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 668669130 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_body_mat_4404500000782619850.azmaterial" } }, { "id": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 1541321207 - } + "materialSlotStableId": 1541321207 }, "materialAsset": { "assetId": { "guid": "{6114C408-26EE-51DC-8733-A07800BF4991}" }, "assetHint": "objects/cloth/chicken/actor/chicken_chicken_eye_mat.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 1541321207 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_eye_mat_10184937185004663287.azmaterial" } }, { "id": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 2608524672 - } + "materialSlotStableId": 2608524672 }, "materialAsset": { "assetId": { "guid": "{80F92051-203E-52CE-B4D6-E3AED21795C9}" }, "assetHint": "objects/cloth/chicken/actor/chicken_mohawkmat.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 2608524672 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_mohawkmat_13891540077583723904.azmaterial" } } ], @@ -297,46 +312,48 @@ { "id": { "lodIndex": 0, - "materialAssetId": { + "materialSlotStableId": 668669130 + }, + "defaultMaterialAsset": { + "assetId": { "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", "subId": 668669130 - } + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_body_mat_4404500000782619850.azmaterial" } }, { "id": { "lodIndex": 0, - "materialAssetId": { + "materialSlotStableId": 1541321207 + }, + "defaultMaterialAsset": { + "assetId": { "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", "subId": 1541321207 - } + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_eye_mat_10184937185004663287.azmaterial" } }, { "id": { "lodIndex": 0, - "materialAssetId": { + "materialSlotStableId": 2608524672 + }, + "defaultMaterialAsset": { + "assetId": { "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", "subId": 2608524672 - } + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_mohawkmat_13891540077583723904.azmaterial" } } ] ] }, - "Component_[9845606399230319505]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 9845606399230319505, - "Parent Entity": "Entity_[303447173544404]", - "Transform Data": { - "Rotate": [ - 0.0, - 0.0, - -0.00006830000347690657 - ] - }, - "Cached World Transform Parent": "" - }, "Component_[9979479216337101498]": { "$type": "EditorInspectorComponent", "Id": 9979479216337101498, @@ -362,8 +379,7 @@ } ] } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab index 270f52b29b..108b4ba13c 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -64,7 +63,7 @@ "$type": "EditorClothComponent", "Id": 11309989511197311871, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Damping": [ 0.0, 0.0, @@ -94,6 +93,68 @@ "$type": "EditorLockComponent", "Id": 12850019035302463297 }, + "Component_[15070431754554069043]": { + "$type": "EditorMaterialComponent", + "Id": 15070431754554069043, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[15214644042360665965]": { "$type": "AZ::Render::EditorMeshComponent", "Id": 15214644042360665965, @@ -145,8 +206,7 @@ "Component_[4795695323030511838]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4795695323030511838, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[5800800590637221800]": { "$type": "EditorDisabledCompositionComponent", @@ -159,64 +219,8 @@ "Component_[7074022732104182988]": { "$type": "EditorEntitySortComponent", "Id": 7074022732104182988 - }, - "Component_[9206497685981025331]": { - "$type": "EditorMaterialComponent", - "Id": 9206497685981025331, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 902256226 - } - } - } - ] - ] } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab index 7feb61db90..52b0c9fa17 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -60,7 +59,7 @@ "$type": "EditorClothComponent", "Id": 10786078036233199116, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Damping": [ 0.0, 0.0, @@ -127,66 +126,10 @@ "$type": "EditorEntityIconComponent", "Id": 4939437553142322315 }, - "Component_[538074694053236341]": { - "$type": "EditorMaterialComponent", - "Id": 538074694053236341, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", - "subId": 902256226 - } - } - } - ] - ] - }, "Component_[5681411293917950785]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 5681411293917950785, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[7046686956433693767]": { "$type": "EditorInspectorComponent", @@ -209,12 +152,73 @@ } ] }, + "Component_[7873865615483617838]": { + "$type": "EditorMaterialComponent", + "Id": 7873865615483617838, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_broken_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_broken_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[9565338131843702938]": { "$type": "EditorOnlyEntityComponent", "Id": 9565338131843702938 } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab index cdbe92dab6..1017317bd3 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -74,63 +73,7 @@ "Component_[12766570162661899127]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 12766570162661899127, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" - }, - "Component_[12950486357466178058]": { - "$type": "EditorMaterialComponent", - "Id": 12950486357466178058, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 902256226 - } - } - } - ] - ] + "Parent Entity": "ContainerEntity" }, "Component_[13484816898680823471]": { "$type": "EditorEntitySortComponent", @@ -165,7 +108,7 @@ "$type": "EditorClothComponent", "Id": 15114198178471353754, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Stiffness Frequency": 1.0, "Damping": [ 0.0, @@ -210,6 +153,68 @@ "$type": "EditorDisabledCompositionComponent", "Id": 7652255413353256955 }, + "Component_[8261070538889619357]": { + "$type": "EditorMaterialComponent", + "Id": 8261070538889619357, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_four_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_four_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[8417657922837077982]": { "$type": "EditorVisibilityComponent", "Id": 8417657922837077982 @@ -218,8 +223,7 @@ "$type": "SelectionComponent", "Id": 944311658362107535 } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab index 068c4a6a7e..368cb2d846 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -84,7 +83,7 @@ "$type": "EditorClothComponent", "Id": 16927361351552746000, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Mass": 10.0, "Stiffness Frequency": 1.0, "Damping": [ @@ -109,6 +108,68 @@ "Update Normals of Static Particles": true } }, + "Component_[17380859760246609280]": { + "$type": "EditorMaterialComponent", + "Id": 17380859760246609280, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_two_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_two_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[2410073307760782444]": { "$type": "EditorPendingCompositionComponent", "Id": 2410073307760782444 @@ -137,8 +198,7 @@ "Component_[5636741882934012477]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 5636741882934012477, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[691437686890444081]": { "$type": "SelectionComponent", @@ -158,64 +218,8 @@ } } } - }, - "Component_[9419069324766365964]": { - "$type": "EditorMaterialComponent", - "Id": 9419069324766365964, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 902256226 - } - } - } - ] - ] } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab index 7bba36adf8..ec837d1bd4 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -96,6 +95,68 @@ } ] }, + "Component_[14970093767651057273]": { + "$type": "EditorMaterialComponent", + "Id": 14970093767651057273, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_edge_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_edge_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[14983280478781449966]": { "$type": "SelectionComponent", "Id": 14983280478781449966 @@ -104,7 +165,7 @@ "$type": "EditorClothComponent", "Id": 16595775512479337011, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Damping": [ 0.0, 0.0, @@ -137,63 +198,7 @@ "Component_[4215669181198357248]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4215669181198357248, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" - }, - "Component_[4580390205455331350]": { - "$type": "EditorMaterialComponent", - "Id": 4580390205455331350, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 902256226 - } - } - } - ] - ] + "Parent Entity": "ContainerEntity" }, "Component_[5652509070289279796]": { "$type": "EditorOnlyEntityComponent", @@ -215,8 +220,7 @@ "$type": "EditorEntitySortComponent", "Id": 9694796263300215788 } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice b/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice index e7de286c1b..c2c97dec7a 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice @@ -24,7 +24,7 @@ - + @@ -33,19 +33,20 @@ - + + - + + - @@ -143,7 +144,7 @@ - + @@ -152,19 +153,20 @@ - + + - + + - @@ -246,7 +248,14 @@ - + + + + + + + + @@ -316,12 +325,9 @@ - + - - - - + @@ -329,12 +335,9 @@ - + - - - - + @@ -342,12 +345,9 @@ - + - - - - + @@ -360,94 +360,66 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + @@ -459,7 +431,7 @@ - + @@ -510,6 +482,7 @@ + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice index 8d7605318e..40fb2894d3 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice index ff955f260e..909b3e582c 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice index d0bcd1296a..25e742550c 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice index 8e07a65147..26c6290859 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice index a80058d820..cee4fabe49 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/PhysX/Code/Editor/ColliderRotationMode.cpp b/Gems/PhysX/Code/Editor/ColliderRotationMode.cpp index a7e23bb200..5f3c98bcee 100644 --- a/Gems/PhysX/Code/Editor/ColliderRotationMode.cpp +++ b/Gems/PhysX/Code/Editor/ColliderRotationMode.cpp @@ -21,7 +21,7 @@ namespace PhysX ColliderRotationMode::ColliderRotationMode() : m_rotationManipulators(AZ::Transform::Identity()) { - + m_rotationManipulators.SetCircleBoundWidth(AzToolsFramework::ManipulatorCicleBoundWidth()); } void ColliderRotationMode::Setup(const AZ::EntityComponentIdPair& idPair) diff --git a/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp b/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp index 778fce1546..43b9fd77f3 100644 --- a/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp +++ b/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp @@ -339,14 +339,13 @@ namespace PhysX { const float coneLength = 0.28f; const float coneRadius = 0.07f; - const float lineWidth = 0.05f; - const auto configureLinearView = [lineWidth, coneLength, axisLength, coneRadius]( + const auto configureLinearView = [coneLength, axisLength, coneRadius]( AzToolsFramework::LinearManipulator* linearManipulator, const AZ::Color& color) { AzToolsFramework::ManipulatorViews views; views.emplace_back(CreateManipulatorViewLine( - *linearManipulator, color, axisLength, lineWidth)); + *linearManipulator, color, axisLength, AzToolsFramework::ManipulatorLineBoundWidth())); views.emplace_back(CreateManipulatorViewCone( *linearManipulator, color, linearManipulator->GetAxis() * (axisLength - coneLength), coneLength, coneRadius)); diff --git a/Gems/PhysX/Code/Editor/EditorSubComponentModeRotation.cpp b/Gems/PhysX/Code/Editor/EditorSubComponentModeRotation.cpp index 3119a40fa6..7586ecc955 100644 --- a/Gems/PhysX/Code/Editor/EditorSubComponentModeRotation.cpp +++ b/Gems/PhysX/Code/Editor/EditorSubComponentModeRotation.cpp @@ -84,10 +84,9 @@ namespace PhysX m_rotationManipulators[i]->SetAxis(axes[i]); m_rotationManipulators[i]->SetLocalTransform(localTransform); const float manipulatorRadius = 2.0f; - const float manipulatorWidth = 0.05f; m_rotationManipulators[i]->SetView(AzToolsFramework::CreateManipulatorViewCircle( - *m_rotationManipulators[i], colors[i], - manipulatorRadius, manipulatorWidth, AzToolsFramework::DrawHalfDottedCircle)); + *m_rotationManipulators[i], colors[i], manipulatorRadius, + AzToolsFramework::ManipulatorCicleBoundWidth(), AzToolsFramework::DrawHalfDottedCircle)); } Refresh(); diff --git a/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp b/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp index e4c65c8667..f65768cec9 100644 --- a/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp +++ b/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp @@ -14,7 +14,6 @@ #include #include -#include #include #include diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/ExecutionBus.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/ExecutionBus.h index 37a78a88f4..ebe591e15f 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/ExecutionBus.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/ExecutionBus.h @@ -15,7 +15,7 @@ #include -#if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) +#if !defined(_RELEASE) // the markers are defined in test, but the system that listens for calls won't always be enabled #define SCRIPT_CANVAS_PERFORMANCE_TRACKING_ENABLED #endif diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/Interpreted/ExecutionInterpretedAPI.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/Interpreted/ExecutionInterpretedAPI.cpp index d7a4c360ac..e93fd1263d 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/Interpreted/ExecutionInterpretedAPI.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/Interpreted/ExecutionInterpretedAPI.cpp @@ -465,12 +465,7 @@ namespace ScriptCanvas lua_register(lua, k_UnpackDependencyConstructionArgsFunctionName, &UnpackDependencyConstructionArgs); lua_register(lua, k_UnpackDependencyConstructionArgsLeafFunctionName, &UnpackDependencyConstructionArgsLeaf); -#if defined(PERFORMANCE_BUILD) - lua_pushboolean(lua, true); - lua_setglobal(lua, k_InterpretedConfigurationPerformance); - lua_pushboolean(lua, false); - lua_setglobal(lua, k_InterpretedConfigurationRelease); -#elif defined(_RELEASE) +#if defined(_RELEASE) lua_pushboolean(lua, false); lua_setglobal(lua, k_InterpretedConfigurationPerformance); lua_pushboolean(lua, true); @@ -481,7 +476,7 @@ namespace ScriptCanvas lua_setglobal(lua, k_InterpretedConfigurationPerformance); lua_pushboolean(lua, false); lua_setglobal(lua, k_InterpretedConfigurationRelease); -#endif//defined(PERFORMANCE_BUILD) +#endif lua_register(lua, k_GetRandomSwitchControlNumberName, &GetRandomSwitchControlNumber); diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/RuntimeComponent.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/RuntimeComponent.cpp index 6d652136cd..c1b0d51ac8 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/RuntimeComponent.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Execution/RuntimeComponent.cpp @@ -19,7 +19,7 @@ #include #include -#if !defined(_RELEASE) && !defined(PERFORMANCE_BUILD) +#if !defined(_RELEASE) #define SCRIPT_CANVAS_RUNTIME_ASSET_CHECK #endif diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp index ef73bb967d..4e2d740656 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp @@ -78,6 +78,8 @@ namespace ScriptCanvas variableIds.insert(scopedVariableId->m_identifier); } } + + Node::CollectVariableReferences(variableIds); } bool EBusEventHandler::ContainsReferencesToVariables(const AZStd::unordered_set< ScriptCanvas::VariableId >& variableIds) const @@ -90,11 +92,14 @@ namespace ScriptCanvas if (scopedVariableId) { - return variableIds.find(scopedVariableId->m_identifier) != variableIds.end(); + if(variableIds.find(scopedVariableId->m_identifier) != variableIds.end()) + { + return true; + } } } - return false; + return Node::ContainsReferencesToVariables(variableIds); } size_t EBusEventHandler::GenerateFingerprint() const diff --git a/Gems/ScriptCanvas/Code/Source/SystemComponent.cpp b/Gems/ScriptCanvas/Code/Source/SystemComponent.cpp index ba02fa8a62..5d6b98f7cb 100644 --- a/Gems/ScriptCanvas/Code/Source/SystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Source/SystemComponent.cpp @@ -34,7 +34,7 @@ namespace ScriptCanvasSystemComponentCpp { -#if !defined(_RELEASE) && !defined(PERFORMANCE_BUILD) +#if !defined(_RELEASE) const int k_infiniteLoopDetectionMaxIterations = 1000000; const int k_maxHandlerStackDepth = 25; #else diff --git a/Gems/ScriptEvents/Code/Include/ScriptEvents/ScriptEventsLegacyDefinitions.h b/Gems/ScriptEvents/Code/Include/ScriptEvents/ScriptEventsLegacyDefinitions.h index 3a0575c129..b61d07295d 100644 --- a/Gems/ScriptEvents/Code/Include/ScriptEvents/ScriptEventsLegacyDefinitions.h +++ b/Gems/ScriptEvents/Code/Include/ScriptEvents/ScriptEventsLegacyDefinitions.h @@ -18,32 +18,24 @@ namespace ScriptEventsLegacy { - - class IValidator - { - public: - virtual AZ::Outcome Validate() = 0; - }; - - /** - * This class represents an EBus event parameter. + * This class represents an EBus event parameter. * void Foo(parameterType parameterName) - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^ * parameter */ struct ParameterDefinition { AZ_TYPE_INFO(ParameterDefinition, "{6586FFB5-0FF6-424F-A542-C797E2FF3458}"); AZ_CLASS_ALLOCATOR(ParameterDefinition, AZ::SystemAllocator, 0); - + ParameterDefinition() = default; ParameterDefinition(const AZStd::string& name, const AZStd::string& tooltip, const AZ::Uuid& type) : m_name(name) , m_tooltip(tooltip) - , m_type(type) + , m_type(type) {} - + AZStd::string m_name; AZStd::string m_tooltip; AZ::Uuid m_type = AZ::BehaviorContext::GetVoidTypeId(); @@ -52,20 +44,20 @@ namespace ScriptEventsLegacy /** * This class represents an EBus event. * void Foo (parameterType parameterName, parameterType2 parameterName2) - * ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * m_returnType, m_name, m_parameters */ struct EventDefinition { AZ_TYPE_INFO(EventDefinition, "{211BB356-FA42-400F-B3DD-9326C6A686B6}"); AZ_CLASS_ALLOCATOR(EventDefinition, AZ::SystemAllocator, 0); - + EventDefinition() = default; EventDefinition(const AZStd::string& eventName, const AZStd::string& tooltip, const AZ::Uuid& returnValue, const AZStd::vector& parameters) : m_name(eventName) , m_tooltip(tooltip) , m_returnType(returnValue) - , m_parameters(parameters) + , m_parameters(parameters) {} AZStd::string m_name; @@ -86,7 +78,7 @@ namespace ScriptEventsLegacy TypeTraitsDefinition() = default; TypeTraitsDefinition(const AZ::Uuid& busIdType) : m_busIdType(busIdType) {} - + AZ::Uuid m_busIdType = AZ::BehaviorContext::GetVoidTypeId(); }; diff --git a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp index 06372a3490..1c296b2e2c 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp +++ b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp @@ -105,17 +105,19 @@ namespace Terrain AZ::TransformNotificationBus::Handler::BusConnect(GetEntityId()); LmbrCentral::ShapeComponentNotificationsBus::Handler::BusConnect(GetEntityId()); TerrainAreaRequestBus::Handler::BusConnect(GetEntityId()); + TerrainSpawnerRequestBus::Handler::BusConnect(GetEntityId()); TerrainSystemServiceRequestBus::Broadcast(&TerrainSystemServiceRequestBus::Events::RegisterArea, GetEntityId()); } void TerrainLayerSpawnerComponent::Deactivate() { - TerrainAreaRequestBus::Handler::BusDisconnect(); TerrainSystemServiceRequestBus::Broadcast(&TerrainSystemServiceRequestBus::Events::UnregisterArea, GetEntityId()); - - AZ::TransformNotificationBus::Handler::BusDisconnect(); + TerrainSpawnerRequestBus::Handler::BusDisconnect(); + TerrainAreaRequestBus::Handler::BusDisconnect(); LmbrCentral::ShapeComponentNotificationsBus::Handler::BusDisconnect(); + AZ::TransformNotificationBus::Handler::BusDisconnect(); + } bool TerrainLayerSpawnerComponent::ReadInConfig(const AZ::ComponentConfig* baseConfig) @@ -147,6 +149,17 @@ namespace Terrain { RefreshArea(); } + + void TerrainLayerSpawnerComponent::GetPriority(AZ::u32& outLayer, AZ::u32& outPriority) + { + outLayer = m_configuration.m_layer; + outPriority = m_configuration.m_priority; + } + + bool TerrainLayerSpawnerComponent::GetUseGroundPlane() + { + return m_configuration.m_useGroundPlane; + } void TerrainLayerSpawnerComponent::RegisterArea() { diff --git a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h index 1f1ae90227..3f8e72e1b8 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h +++ b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h @@ -59,6 +59,7 @@ namespace Terrain , private AZ::TransformNotificationBus::Handler , private LmbrCentral::ShapeComponentNotificationsBus::Handler , private Terrain::TerrainAreaRequestBus::Handler + , private Terrain::TerrainSpawnerRequestBus::Handler { public: template @@ -80,7 +81,6 @@ namespace Terrain bool ReadInConfig(const AZ::ComponentConfig* baseConfig) override; bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const override; - ////////////////////////////////////////////////////////////////////////// // AZ::TransformNotificationBus::Handler void OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) override; @@ -88,6 +88,10 @@ namespace Terrain // ShapeComponentNotificationsBus void OnShapeChanged(ShapeChangeReasons changeReason) override; + // TerrainSpawnerRequestBus + void GetPriority(AZ::u32& outLayer, AZ::u32& outPriority) override; + bool GetUseGroundPlane() override; + void RegisterArea() override; void RefreshArea() override; diff --git a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp index 90b74f08ba..a271d624f5 100644 --- a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp +++ b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp @@ -17,6 +17,33 @@ using namespace Terrain; +bool TerrainLayerPriorityComparator::operator()(const AZ::EntityId& layer1id, const AZ::EntityId& layer2id) const +{ + // Comparator for insertion/keylookup. + // Sorts into layer/priority order, highest priority first. + AZ::u32 priority1, layer1; + Terrain::TerrainSpawnerRequestBus::Event(layer1id, &Terrain::TerrainSpawnerRequestBus::Events::GetPriority, layer1, priority1); + + AZ::u32 priority2, layer2; + Terrain::TerrainSpawnerRequestBus::Event(layer2id, &Terrain::TerrainSpawnerRequestBus::Events::GetPriority, layer2, priority2); + + if (layer1 < layer2) + { + return false; + } + else if (layer1 > layer2) + { + return true; + } + + if (priority1 != priority2) + { + return priority1 > priority2; + } + + return layer1id > layer2id; +} + TerrainSystem::TerrainSystem() { Terrain::TerrainSystemServiceRequestBus::Handler::BusConnect(); @@ -78,17 +105,14 @@ float TerrainSystem::GetHeightSynchronous(float x, float y) const AZStd::shared_lock lock(m_areaMutex); - if (!m_registeredAreas.empty()) + for (auto& [areaId, areaBounds] : m_registeredAreas) { - for (auto& [areaId, areaBounds] : m_registeredAreas) + inPosition.SetZ(areaBounds.GetMin().GetZ()); + if (areaBounds.Contains(inPosition)) { - inPosition.SetZ(areaBounds.GetMin().GetZ()); - if (areaBounds.Contains(inPosition)) - { - Terrain::TerrainAreaHeightRequestBus::Event( - areaId, &Terrain::TerrainAreaHeightRequestBus::Events::GetHeight, inPosition, outPosition, - Terrain::TerrainAreaHeightRequestBus::Events::Sampler::DEFAULT); - } + Terrain::TerrainAreaHeightRequestBus::Event( + areaId, &Terrain::TerrainAreaHeightRequestBus::Events::GetHeight, inPosition, outPosition, + Terrain::TerrainAreaHeightRequestBus::Events::Sampler::DEFAULT); } } @@ -305,26 +329,34 @@ void TerrainSystem::SystemDeactivate() void TerrainSystem::RegisterArea(AZ::EntityId areaId) { - { - AZStd::unique_lock lock(m_areaMutex); - AZ::Aabb aabb = AZ::Aabb::CreateNull(); - LmbrCentral::ShapeComponentRequestsBus::EventResult(aabb, areaId, &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); - m_registeredAreas[areaId] = aabb; - } - - RefreshArea(areaId); + AZStd::unique_lock lock(m_areaMutex); + AZ::Aabb aabb = AZ::Aabb::CreateNull(); + LmbrCentral::ShapeComponentRequestsBus::EventResult(aabb, areaId, &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); + m_registeredAreas[areaId] = aabb; + m_dirtyRegion.AddAabb(aabb); + m_terrainHeightDirty = true; } void TerrainSystem::UnregisterArea(AZ::EntityId areaId) { - { - AZStd::unique_lock lock(m_areaMutex); - AZ::Aabb aabb = AZ::Aabb::CreateNull(); - LmbrCentral::ShapeComponentRequestsBus::EventResult(aabb, areaId, &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); - m_registeredAreas.erase(areaId); - } + AZStd::unique_lock lock(m_areaMutex); - RefreshArea(areaId); + // Remove the data for this entity from the registered areas. + // Erase_if is used as erase would use the comparator to lookup the entity id in the map. + // As the comparator will get the new layer/priority data for the entity, the id lookup will fail. + AZStd::erase_if( + m_registeredAreas, + [areaId, this](const auto& item) + { + auto const& [entityId, aabb] = item; + if (areaId == entityId) + { + m_dirtyRegion.AddAabb(aabb); + m_terrainHeightDirty = true; + return true; + } + return false; + }); } void TerrainSystem::RefreshArea(AZ::EntityId areaId) @@ -336,7 +368,6 @@ void TerrainSystem::RefreshArea(AZ::EntityId areaId) AZ::Aabb oldAabb = (areaAabb != m_registeredAreas.end()) ? areaAabb->second : AZ::Aabb::CreateNull(); AZ::Aabb newAabb = AZ::Aabb::CreateNull(); LmbrCentral::ShapeComponentRequestsBus::EventResult(newAabb, areaId, &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); - m_registeredAreas[areaId] = newAabb; AZ::Aabb expandedAabb = oldAabb; @@ -400,31 +431,37 @@ void TerrainSystem::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) const uint32_t pixelDataSize = width * height * sizeof(float); memset(pixels.data(), 0, pixelDataSize); - for (auto& [areaId, areaBounds] : m_registeredAreas) + for (uint32_t y = 0; y < height; y++) { - for (uint32_t y = 0; y < height; y++) + for (uint32_t x = 0; x < width; x++) { - for (uint32_t x = 0; x < width; x++) + // Find the first terrain layer that covers this position. This will be the highest priority, so others can be ignored. + for (auto& [areaId, areaBounds] : m_registeredAreas) { AZ::Vector3 inPosition( (x * m_currentSettings.m_heightQueryResolution.GetX()) + m_currentSettings.m_worldBounds.GetMin().GetX(), (y * m_currentSettings.m_heightQueryResolution.GetY()) + m_currentSettings.m_worldBounds.GetMin().GetY(), areaBounds.GetMin().GetZ()); - if (areaBounds.Contains(inPosition)) + + if (!areaBounds.Contains(inPosition)) { - AZ::Vector3 outPosition; - const Terrain::TerrainAreaHeightRequests::Sampler sampleFilter = - Terrain::TerrainAreaHeightRequests::Sampler::DEFAULT; - - Terrain::TerrainAreaHeightRequestBus::Event( - areaId, &Terrain::TerrainAreaHeightRequestBus::Events::GetHeight, inPosition, outPosition, sampleFilter); - - pixels[(y * width) + x] = (outPosition.GetZ() - m_currentSettings.m_worldBounds.GetMin().GetZ()) / - m_currentSettings.m_worldBounds.GetExtents().GetZ(); + continue; } + + AZ::Vector3 outPosition; + const Terrain::TerrainAreaHeightRequests::Sampler sampleFilter = Terrain::TerrainAreaHeightRequests::Sampler::DEFAULT; + + Terrain::TerrainAreaHeightRequestBus::Event( + areaId, &Terrain::TerrainAreaHeightRequestBus::Events::GetHeight, inPosition, outPosition, sampleFilter); + + pixels[(y * width) + x] = (outPosition.GetZ() - m_currentSettings.m_worldBounds.GetMin().GetZ()) / + m_currentSettings.m_worldBounds.GetExtents().GetZ(); + + break; } } } + const AZ::RPI::Scene* scene = AZ::RPI::RPISystemInterface::Get()->GetDefaultScene().get(); auto terrainFeatureProcessor = scene->GetFeatureProcessor(); diff --git a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h index 2d2286a0c3..0239170640 100644 --- a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h +++ b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h @@ -25,6 +25,11 @@ namespace Terrain { + struct TerrainLayerPriorityComparator + { + bool operator()(const AZ::EntityId& layer1id, const AZ::EntityId& layer2id) const; + }; + class TerrainSystem : public AzFramework::Terrain::TerrainDataRequestBus::Handler , private Terrain::TerrainSystemServiceRequestBus::Handler @@ -112,6 +117,6 @@ namespace Terrain AZ::Aabb m_dirtyRegion; mutable AZStd::shared_mutex m_areaMutex; - AZStd::unordered_map m_registeredAreas; + AZStd::map m_registeredAreas; }; } // namespace Terrain diff --git a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h index e999cbf8be..cb41ba9957 100644 --- a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h +++ b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h @@ -112,5 +112,26 @@ namespace Terrain }; using TerrainAreaHeightRequestBus = AZ::EBus; + + /** + * A bus for the TerrainSystem to interrogate TerrainLayerSpawners. + */ + class TerrainSpawnerRequests + : public AZ::ComponentBus + { + public: + //////////////////////////////////////////////////////////////////////// + // EBusTraits + using MutexType = AZStd::recursive_mutex; + //////////////////////////////////////////////////////////////////////// + + virtual ~TerrainSpawnerRequests() = default; + + virtual void GetPriority(AZ::u32& outLayer, AZ::u32& outPriority) = 0; + virtual bool GetUseGroundPlane() = 0; + + }; + + using TerrainSpawnerRequestBus = AZ::EBus; } diff --git a/Gems/Terrain/Code/Tests/LayerSpawnerTests.cpp b/Gems/Terrain/Code/Tests/LayerSpawnerTests.cpp new file mode 100644 index 0000000000..91d6a26f75 --- /dev/null +++ b/Gems/Terrain/Code/Tests/LayerSpawnerTests.cpp @@ -0,0 +1,222 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include +#include + +#include + +#include +#include +#include + +#include + +class LayerSpawnerComponentTest + : public ::testing::Test +{ +protected: + AZ::ComponentApplication m_app; + + AZStd::unique_ptr m_entity; + Terrain::TerrainLayerSpawnerComponent* m_layerSpawnerComponent; + UnitTest::MockBoxShapeComponent* m_shapeComponent; + AZStd::unique_ptr m_terrainSystem; + + void SetUp() override + { + AZ::ComponentApplication::Descriptor appDesc; + appDesc.m_memoryBlocksByteSize = 20 * 1024 * 1024; + appDesc.m_recordingMode = AZ::Debug::AllocationRecords::RECORD_NO_RECORDS; + appDesc.m_stackRecordLevels = 20; + + m_app.Create(appDesc); + } + + void TearDown() override + { + if (m_terrainSystem) + { + m_terrainSystem->Deactivate(); + } + m_app.Destroy(); + } + + void CreateEntity() + { + m_entity = AZStd::make_unique(); + m_entity->Init(); + + ASSERT_TRUE(m_entity); + } + + void AddLayerSpawnerAndShapeComponentToEntity() + { + AddLayerSpawnerAndShapeComponentToEntity(Terrain::TerrainLayerSpawnerConfig()); + } + + void AddLayerSpawnerAndShapeComponentToEntity(const Terrain::TerrainLayerSpawnerConfig& config) + { + m_layerSpawnerComponent = m_entity->CreateComponent(config); + m_app.RegisterComponentDescriptor(m_layerSpawnerComponent->CreateDescriptor()); + + m_shapeComponent = m_entity->CreateComponent(); + m_app.RegisterComponentDescriptor(m_shapeComponent->CreateDescriptor()); + + ASSERT_TRUE(m_layerSpawnerComponent); + ASSERT_TRUE(m_shapeComponent); + } + + void ResetEntity() + { + m_entity->Deactivate(); + m_entity->Reset(); + } + + void CreateMockTerrainSystem() + { + m_terrainSystem = AZStd::make_unique(); + m_terrainSystem->Activate(); + } +}; + +TEST_F(LayerSpawnerComponentTest, ActivatEntityActivateSuccess) +{ + CreateEntity(); + AddLayerSpawnerAndShapeComponentToEntity(); + + m_entity->Activate(); + EXPECT_EQ(m_entity->GetState(), AZ::Entity::State::Active); + + ResetEntity(); +} + +TEST_F(LayerSpawnerComponentTest, LayerSpawnerDefaultValuesCorrect) +{ + CreateEntity(); + AddLayerSpawnerAndShapeComponentToEntity(); + + m_entity->Activate(); + + AZ::u32 priority = 999, layer = 999; + Terrain::TerrainSpawnerRequestBus::Event(m_entity->GetId(), &Terrain::TerrainSpawnerRequestBus::Events::GetPriority, layer, priority); + + EXPECT_EQ(0, priority); + EXPECT_EQ(1, layer); + + bool useGroundPlane = false; + + Terrain::TerrainSpawnerRequestBus::EventResult(useGroundPlane, m_entity->GetId(), &Terrain::TerrainSpawnerRequestBus::Events::GetUseGroundPlane); + + EXPECT_TRUE(useGroundPlane); + + ResetEntity(); +} + +TEST_F(LayerSpawnerComponentTest, LayerSpawnerConfigValuesCorrect) +{ + CreateEntity(); + + constexpr static AZ::u32 testPriority = 15; + constexpr static AZ::u32 testLayer = 0; + + Terrain::TerrainLayerSpawnerConfig config; + config.m_layer = testLayer; + config.m_priority = testPriority; + config.m_useGroundPlane = false; + + AddLayerSpawnerAndShapeComponentToEntity(config); + + m_entity->Activate(); + + AZ::u32 priority = 999, layer = 999; + Terrain::TerrainSpawnerRequestBus::Event(m_entity->GetId(), &Terrain::TerrainSpawnerRequestBus::Events::GetPriority, layer, priority); + + EXPECT_EQ(testPriority, priority); + EXPECT_EQ(testLayer, layer); + + bool useGroundPlane = true; + + Terrain::TerrainSpawnerRequestBus::EventResult( + useGroundPlane, m_entity->GetId(), &Terrain::TerrainSpawnerRequestBus::Events::GetUseGroundPlane); + + EXPECT_FALSE(useGroundPlane); + + ResetEntity(); +} + +TEST_F(LayerSpawnerComponentTest, LayerSpawnerRegisterAreaUpdatesTerrainSystem) +{ + CreateEntity(); + + CreateMockTerrainSystem(); + + AddLayerSpawnerAndShapeComponentToEntity(); + + m_entity->Activate(); + + // The Activate call should have registered the area. + EXPECT_EQ(1, m_terrainSystem->m_registerAreaCalledCount); + + ResetEntity(); +} + +TEST_F(LayerSpawnerComponentTest, LayerSpawnerUnregisterAreaUpdatesTerrainSystem) +{ + CreateEntity(); + + CreateMockTerrainSystem(); + + AddLayerSpawnerAndShapeComponentToEntity(); + + m_entity->Activate(); + + m_layerSpawnerComponent->Deactivate(); + + // The Deactivate call should have unregistered the area. + EXPECT_EQ(1, m_terrainSystem->m_unregisterAreaCalledCount); + + ResetEntity(); +} + +TEST_F(LayerSpawnerComponentTest, LayerSpawnerTransformChangedUpdatesTerrainSystem) +{ + CreateEntity(); + + CreateMockTerrainSystem(); + + AddLayerSpawnerAndShapeComponentToEntity(); + + m_entity->Activate(); + + AZ::TransformNotificationBus::Event( + m_entity->GetId(), &AZ::TransformNotificationBus::Events::OnTransformChanged, AZ::Transform(), AZ::Transform()); + + EXPECT_EQ(1, m_terrainSystem->m_refreshAreaCalledCount); + + ResetEntity(); +} + +TEST_F(LayerSpawnerComponentTest, LayerSpawnerShapeChangedUpdatesTerrainSystem) +{ + CreateEntity(); + + CreateMockTerrainSystem(); + + AddLayerSpawnerAndShapeComponentToEntity(); + + m_entity->Activate(); + + LmbrCentral::ShapeComponentNotificationsBus::Event( + m_entity->GetId(), &LmbrCentral::ShapeComponentNotificationsBus::Events::OnShapeChanged, + LmbrCentral::ShapeComponentNotifications::ShapeChangeReasons::ShapeChanged); + + EXPECT_EQ(1, m_terrainSystem->m_refreshAreaCalledCount); + + ResetEntity(); +} diff --git a/Gems/Terrain/Code/Tests/TerrainMocks.h b/Gems/Terrain/Code/Tests/TerrainMocks.h new file mode 100644 index 0000000000..5f90cafd69 --- /dev/null +++ b/Gems/Terrain/Code/Tests/TerrainMocks.h @@ -0,0 +1,104 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ +#pragma once + +#include +#include + +namespace UnitTest +{ + static const AZ::Uuid BoxShapeComponentTypeId = "{5EDF4B9E-0D3D-40B8-8C91-5142BCFC30A6}"; + + class MockBoxShapeComponent + : public AZ::Component + { + public: + AZ_COMPONENT(MockBoxShapeComponent, BoxShapeComponentTypeId) + static void Reflect([[maybe_unused]] AZ::ReflectContext* context) + { + } + + void Activate() override + { + } + + void Deactivate() override + { + } + + bool ReadInConfig([[maybe_unused]] const AZ::ComponentConfig* baseConfig) override + { + return true; + } + + bool WriteOutConfig([[maybe_unused]] AZ::ComponentConfig* outBaseConfig) const override + { + return true; + } + + private: + static void GetProvidedServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& provided) + { + provided.push_back(AZ_CRC("ShapeService", 0xe86aa5fe)); + provided.push_back(AZ_CRC("BoxShapeService", 0x946a0032)); + } + + static void GetIncompatibleServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& incompatible) + { + } + + static void GetRequiredServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& required) + { + } + + static void GetDependentServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& dependent) + { + } + }; + + class MockTerrainSystem : private Terrain::TerrainSystemServiceRequestBus::Handler + { + public: + void Activate() override + { + Terrain::TerrainSystemServiceRequestBus::Handler::BusConnect(); + } + + void Deactivate() override + { + Terrain::TerrainSystemServiceRequestBus::Handler::BusDisconnect(); + } + + void SetWorldBounds(const AZ::Aabb& worldBounds) override + { + } + + void SetHeightQueryResolution([[maybe_unused]] AZ::Vector2 queryResolution) override + { + } + + void RegisterArea([[maybe_unused]] AZ::EntityId areaId) override + { + m_registerAreaCalledCount++; + } + + void UnregisterArea([[maybe_unused]] AZ::EntityId areaId) override + { + m_unregisterAreaCalledCount++; + } + + void RefreshArea([[maybe_unused]] AZ::EntityId areaId) override + { + m_refreshAreaCalledCount++; + } + + int m_registerAreaCalledCount = 0; + int m_refreshAreaCalledCount = 0; + int m_unregisterAreaCalledCount = 0; + }; +} diff --git a/Gems/Terrain/Code/terrain_tests_files.cmake b/Gems/Terrain/Code/terrain_tests_files.cmake index beed6bd83d..b44f143f3b 100644 --- a/Gems/Terrain/Code/terrain_tests_files.cmake +++ b/Gems/Terrain/Code/terrain_tests_files.cmake @@ -7,5 +7,7 @@ # set(FILES + Tests/TerrainMocks.h Tests/TerrainTest.cpp + Tests/LayerSpawnerTests.cpp ) diff --git a/Gems/Vegetation/Code/Tests/VegetationMocks.h b/Gems/Vegetation/Code/Tests/VegetationMocks.h index ebc51d1b3b..97eaa50b69 100644 --- a/Gems/Vegetation/Code/Tests/VegetationMocks.h +++ b/Gems/Vegetation/Code/Tests/VegetationMocks.h @@ -32,13 +32,6 @@ #include #include -// used for the mock for IStatObj -#ifndef CRYINCLUDE_CRY3DENGINE_STATOBJ_H -struct SPhysGeomArray -{ -}; -#endif - ////////////////////////////////////////////////////////////////////////// // mock event bus classes for testing vegetation namespace UnitTest diff --git a/Registry/AssetProcessorPlatformConfig.setreg b/Registry/AssetProcessorPlatformConfig.setreg index 1c09ef4e83..3e90b063b5 100644 --- a/Registry/AssetProcessorPlatformConfig.setreg +++ b/Registry/AssetProcessorPlatformConfig.setreg @@ -172,6 +172,9 @@ "Exclude Build": { "pattern": ".*/[Bb]uild/.*" }, + "Exclude Install": { + "pattern": ".*/[Ii]nstall/.*" + }, "Exclude UserSettings": { "pattern": ".*/UserSettings.xml" }, diff --git a/Registry/CMakeLists.txt b/Registry/CMakeLists.txt index f78df700e7..100867010d 100644 --- a/Registry/CMakeLists.txt +++ b/Registry/CMakeLists.txt @@ -6,6 +6,10 @@ # # +if(LY_MONOLITHIC_GAME) + return() +endif() + ly_install_directory(DIRECTORIES .) cmake_path(RELATIVE_PATH CMAKE_RUNTIME_OUTPUT_DIRECTORY BASE_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_VARIABLE runtime_output_directory) diff --git a/Templates/DefaultProject/Template/EngineFinder.cmake b/Templates/DefaultProject/Template/EngineFinder.cmake index ccbfcbecfd..1bb4950e7d 100644 --- a/Templates/DefaultProject/Template/EngineFinder.cmake +++ b/Templates/DefaultProject/Template/EngineFinder.cmake @@ -21,6 +21,21 @@ if(json_error) message(FATAL_ERROR "Unable to read key 'engine' from 'project.json', error: ${json_error}") endif() +if(CMAKE_MODULE_PATH) + foreach(module_path ${CMAKE_MODULE_PATH}) + if(EXISTS ${module_path}/Findo3de.cmake) + file(READ ${module_path}/../engine.json engine_json) + string(JSON engine_name ERROR_VARIABLE json_error GET ${engine_json} engine_name) + if(json_error) + message(FATAL_ERROR "Unable to read key 'engine_name' from 'engine.json', error: ${json_error}") + endif() + if(LY_ENGINE_NAME_TO_USE STREQUAL engine_name) + return() # Engine being forced through CMAKE_MODULE_PATH + endif() + endif() + endforeach() +endif() + if(DEFINED ENV{USERPROFILE} AND EXISTS $ENV{USERPROFILE}) set(manifest_path $ENV{USERPROFILE}/.o3de/o3de_manifest.json) # Windows else() diff --git a/Templates/MinimalProject/Template/EngineFinder.cmake b/Templates/MinimalProject/Template/EngineFinder.cmake index ccbfcbecfd..1bb4950e7d 100644 --- a/Templates/MinimalProject/Template/EngineFinder.cmake +++ b/Templates/MinimalProject/Template/EngineFinder.cmake @@ -21,6 +21,21 @@ if(json_error) message(FATAL_ERROR "Unable to read key 'engine' from 'project.json', error: ${json_error}") endif() +if(CMAKE_MODULE_PATH) + foreach(module_path ${CMAKE_MODULE_PATH}) + if(EXISTS ${module_path}/Findo3de.cmake) + file(READ ${module_path}/../engine.json engine_json) + string(JSON engine_name ERROR_VARIABLE json_error GET ${engine_json} engine_name) + if(json_error) + message(FATAL_ERROR "Unable to read key 'engine_name' from 'engine.json', error: ${json_error}") + endif() + if(LY_ENGINE_NAME_TO_USE STREQUAL engine_name) + return() # Engine being forced through CMAKE_MODULE_PATH + endif() + endif() + endforeach() +endif() + if(DEFINED ENV{USERPROFILE} AND EXISTS $ENV{USERPROFILE}) set(manifest_path $ENV{USERPROFILE}/.o3de/o3de_manifest.json) # Windows else() diff --git a/cmake/3rdParty.cmake b/cmake/3rdParty.cmake index cd72faa78d..f70ed1aa02 100644 --- a/cmake/3rdParty.cmake +++ b/cmake/3rdParty.cmake @@ -122,7 +122,11 @@ function(ly_add_external_target) set(BASE_PATH "${LY_3RDPARTY_PATH}/${ly_add_external_target_3RDPARTY_DIRECTORY}") else() - ly_install_external_target(${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY}) + # only install external 3rdParty that are within the source tree + cmake_path(IS_PREFIX LY_ROOT_FOLDER ${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY} NORMALIZE is_in_source_tree) + if(is_in_source_tree) + ly_install_external_target(${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY}) + endif() set(BASE_PATH "${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY}") endif() @@ -305,21 +309,11 @@ endfunction() # \arg:3RDPARTY_ROOT_DIRECTORY custom 3rd party directory which needs to be installed function(ly_install_external_target 3RDPARTY_ROOT_DIRECTORY) - # Install the Find file to our /cmake directory - install(FILES ${CMAKE_CURRENT_LIST_FILE} - DESTINATION cmake + # Install the Find file to our /cmake/3rdParty directory + ly_install_files(FILES ${CMAKE_CURRENT_LIST_FILE} + DESTINATION cmake/3rdParty ) - - # We only want to install external targets that are part of our source tree - # Checking for relative path beginning with "../" also works when the path - # given is on another drive letter on windows(i.e., RELATIVE_PATH returns an absolute path) - file(RELATIVE_PATH rel_path ${CMAKE_SOURCE_DIR} ${3RDPARTY_ROOT_DIRECTORY}) - if (NOT ${rel_path} MATCHES "^../") - get_filename_component(rel_path ${rel_path} DIRECTORY) - install(DIRECTORY ${3RDPARTY_ROOT_DIRECTORY} - DESTINATION ${rel_path} - ) - endif() + ly_install_directory(DIRECTORIES "${3RDPARTY_ROOT_DIRECTORY}") endfunction() diff --git a/cmake/3rdParty/FindPIX.cmake b/cmake/3rdParty/FindPIX.cmake index e4652467ac..f69896f78f 100644 --- a/cmake/3rdParty/FindPIX.cmake +++ b/cmake/3rdParty/FindPIX.cmake @@ -6,14 +6,13 @@ # # -if(LY_PIX_ENABLED) - file(TO_CMAKE_PATH "${LY_PIX_PATH}" PIX_PATH) - message(STATUS "PIX found: ${PIX_PATH}") +set(LY_PIX_PATH "${LY_3RDPARTY_PATH}/winpixeventruntime" CACHE PATH "Path to the Windows Pix Event Runtime.") + +ly_add_external_target( + NAME pix + 3RDPARTY_ROOT_DIRECTORY ${LY_PIX_PATH} + VERSION + INCLUDE_DIRECTORIES Include + COMPILE_DEFINITIONS USE_PIX +) - ly_add_external_target( - NAME pix - 3RDPARTY_ROOT_DIRECTORY "${PIX_PATH}" - VERSION - INCLUDE_DIRECTORIES include - ) -endif() diff --git a/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake b/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake index cbdca10af9..f22de7e4c8 100644 --- a/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake +++ b/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake @@ -11,7 +11,6 @@ ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-rev1-multiplatform TARGETS RapidJSON PACKAGE_HASH 2f5e26ecf86c3b7a262753e7da69ac59928e78e9534361f3d00c1ad5879e4023) ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf) ly_associate_package(PACKAGE_NAME cityhash-1.1-multiplatform TARGETS cityhash PACKAGE_HASH 0ace9e6f0b2438c5837510032d2d4109125845c0efd7d807f4561ec905512dd2) -ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform TARGETS lz4 PACKAGE_HASH d7b1d5651191db2c339827ad24f669d9d37754143e9173abc986184532f57c9d) ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARGETS glad PACKAGE_HASH ff97ee9664e97d0854b52a3734c2289329d9f2b4cd69478df6d0ca1f1c9392ee) @@ -28,3 +27,5 @@ ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-android TARGETS Goo ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-android TARGETS libsamplerate PACKAGE_HASH bf13662afe65d02bcfa16258a4caa9b875534978227d6f9f36c9cfa92b3fb12b) ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev1-android TARGETS OpenSSL PACKAGE_HASH 4036d4019d722f0e1b7a1621bf60b5a17ca6a65c9c78fd8701cee1131eec8480) ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-android TARGETS zlib PACKAGE_HASH 85b730b97176772538cfcacd6b6aaf4655fc2d368d134d6dd55e02f28f183826) +ly_associate_package(PACKAGE_NAME lz4-1.9.3-vcpkg-rev4-android TARGETS lz4 PACKAGE_HASH f5b22642d218dbbb442cae61e469e5b241c4740acd258c3e8678e60dec61ea93) + diff --git a/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake b/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake index 0cbb799304..c9315336b9 100644 --- a/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake +++ b/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake @@ -15,7 +15,6 @@ ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-rev1-multiplatform ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf) ly_associate_package(PACKAGE_NAME pybind11-2.4.3-rev2-multiplatform TARGETS pybind11 PACKAGE_HASH d8012f907b6c54ac990b899a0788280857e7c93a9595405a28114b48c354eb1b) ly_associate_package(PACKAGE_NAME cityhash-1.1-multiplatform TARGETS cityhash PACKAGE_HASH 0ace9e6f0b2438c5837510032d2d4109125845c0efd7d807f4561ec905512dd2) -ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform TARGETS lz4 PACKAGE_HASH d7b1d5651191db2c339827ad24f669d9d37754143e9173abc986184532f57c9d) ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4) @@ -28,7 +27,7 @@ ly_associate_package(PACKAGE_NAME PVRTexTool-4.24.0-rev4-multiplatform ly_associate_package(PACKAGE_NAME AWSGameLiftServerSDK-3.4.1-rev1-linux TARGETS AWSGameLiftServerSDK PACKAGE_HASH a8149a95bd100384af6ade97e2b21a56173740d921e6c3da8188cd51554d39af) ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-linux TARGETS freetype PACKAGE_HASH 9ad246873067717962c6b780d28a5ce3cef3321b73c9aea746a039c798f52e93) ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-linux TARGETS tiff PACKAGE_HASH ae92b4d3b189c42ef644abc5cac865d1fb2eb7cb5622ec17e35642b00d1a0a76) -ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev5-linux TARGETS AWSNativeSDK PACKAGE_HASH 0101a4052d9fce83a6f5515e00f366e97b308ecb8261ad23a6e4eb4365212ab6) +ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev6-linux TARGETS AWSNativeSDK PACKAGE_HASH 490291e4c8057975c3ab86feb971b8a38871c58bac5e5d86abdd1aeb7141eec4) ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-linux TARGETS Lua PACKAGE_HASH 1adc812abe3dd0dbb2ca9756f81d8f0e0ba45779ac85bf1d8455b25c531a38b0) ly_associate_package(PACKAGE_NAME PhysX-4.1.2.29882248-rev3-linux TARGETS PhysX PACKAGE_HASH a110249cbef4f266b0002c4ee9a71f59f373040cefbe6b82f1e1510c811edde6) ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-linux TARGETS etc2comp PACKAGE_HASH 9283aa5db5bb7fb90a0ddb7a9f3895317c8ebe8044943124bbb3673a41407430) @@ -46,5 +45,4 @@ ly_associate_package(PACKAGE_NAME azslc-1.7.23-rev2-linux ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-linux TARGETS zlib PACKAGE_HASH 16f3b9e11cda525efb62144f354c1cfc30a5def9eff020dbe49cb00ee7d8234f) ly_associate_package(PACKAGE_NAME squish-ccr-deb557d-rev1-linux TARGETS squish-ccr PACKAGE_HASH 85fecafbddc6a41a27c5f59ed4a5dfb123a94cb4666782cf26e63c0a4724c530) ly_associate_package(PACKAGE_NAME ISPCTexComp-36b80aa-rev1-linux TARGETS ISPCTexComp PACKAGE_HASH 065fd12abe4247dde247330313763cf816c3375c221da030bdec35024947f259) - - +ly_associate_package(PACKAGE_NAME lz4-1.9.3-vcpkg-rev4-linux TARGETS lz4 PACKAGE_HASH 5de3dbd3e2a3537c6555d759b3c5bb98e5456cf85c74ff6d046f809b7087290d) diff --git a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake index e18bb07772..4d62f6a7bf 100644 --- a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake +++ b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake @@ -15,7 +15,6 @@ ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-rev1-multiplatform ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf) ly_associate_package(PACKAGE_NAME pybind11-2.4.3-rev2-multiplatform TARGETS pybind11 PACKAGE_HASH d8012f907b6c54ac990b899a0788280857e7c93a9595405a28114b48c354eb1b) ly_associate_package(PACKAGE_NAME cityhash-1.1-multiplatform TARGETS cityhash PACKAGE_HASH 0ace9e6f0b2438c5837510032d2d4109125845c0efd7d807f4561ec905512dd2) -ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform TARGETS lz4 PACKAGE_HASH d7b1d5651191db2c339827ad24f669d9d37754143e9173abc986184532f57c9d) ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4) @@ -30,7 +29,7 @@ ly_associate_package(PACKAGE_NAME DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-ma ly_associate_package(PACKAGE_NAME SPIRVCross-2021.04.29-rev1-mac TARGETS SPIRVCross PACKAGE_HASH 78c6376ed2fd195b9b1f5fb2b56e5267a32c3aa21fb399e905308de470eb4515) ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-mac-ios TARGETS freetype PACKAGE_HASH 67b4f57aed92082d3fd7c16aa244a7d908d90122c296b0a63f73e0a0b8761977) ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-mac-ios TARGETS tiff PACKAGE_HASH a23ae1f8991a29f8e5df09d6d5b00d7768a740f90752cef465558c1768343709) -ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev4-mac TARGETS AWSNativeSDK PACKAGE_HASH 89e1651cde6b4e6bd80cdb96ed6b624accad9f9688ff38bfca226777f4fcb678) +ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev5-mac TARGETS AWSNativeSDK PACKAGE_HASH ffb890bd9cf23afb429b9214ad9bac1bf04696f07a0ebb93c42058c482ab2f01) ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev6-mac TARGETS Lua PACKAGE_HASH b9079fd35634774c9269028447562c6b712dbc83b9c64975c095fd423ff04c08) ly_associate_package(PACKAGE_NAME PhysX-4.1.2.29882248-rev3-mac TARGETS PhysX PACKAGE_HASH 5e092a11d5c0a50c4dd99bb681a04b566a4f6f29aa08443d9bffc8dc12c27c8e) ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-mac TARGETS etc2comp PACKAGE_HASH 1966ab101c89db7ecf30984917e0a48c0d02ee0e4d65b798743842b9469c0818) @@ -44,4 +43,5 @@ ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-mac ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-mac TARGETS zlib PACKAGE_HASH 21714e8a6de4f2523ee92a7f52d51fbee29c5f37ced334e00dc3c029115b472e) ly_associate_package(PACKAGE_NAME squish-ccr-deb557d-rev1-mac TARGETS squish-ccr PACKAGE_HASH 155bfbfa17c19a9cd2ef025de14c5db598f4290045d5b0d83ab58cb345089a77) ly_associate_package(PACKAGE_NAME ISPCTexComp-36b80aa-rev1-mac TARGETS ISPCTexComp PACKAGE_HASH 8a4e93277b8face6ea2fd57c6d017bdb55643ed3d6387110bc5f6b3b884dd169) +ly_associate_package(PACKAGE_NAME lz4-1.9.3-vcpkg-rev4-mac TARGETS lz4 PACKAGE_HASH 891ff630bf34f7ab1d8eaee2ea0a8f1fca89dbdc63fca41ee592703dd488a73b) diff --git a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake index 305d1291e7..64cbfa05dd 100644 --- a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake +++ b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake @@ -15,7 +15,6 @@ ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-rev1-multiplatform ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf) ly_associate_package(PACKAGE_NAME pybind11-2.4.3-rev2-multiplatform TARGETS pybind11 PACKAGE_HASH d8012f907b6c54ac990b899a0788280857e7c93a9595405a28114b48c354eb1b) ly_associate_package(PACKAGE_NAME cityhash-1.1-multiplatform TARGETS cityhash PACKAGE_HASH 0ace9e6f0b2438c5837510032d2d4109125845c0efd7d807f4561ec905512dd2) -ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform TARGETS lz4 PACKAGE_HASH d7b1d5651191db2c339827ad24f669d9d37754143e9173abc986184532f57c9d) ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4) @@ -31,7 +30,7 @@ ly_associate_package(PACKAGE_NAME DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-wi ly_associate_package(PACKAGE_NAME SPIRVCross-2021.04.29-rev1-windows TARGETS SPIRVCross PACKAGE_HASH 7d601ea9d625b1d509d38bd132a1f433d7e895b16adab76bac6103567a7a6817) ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-windows TARGETS freetype PACKAGE_HASH 88dedc86ccb8c92f14c2c033e51ee7d828fa08eafd6475c6aa963938a99f4bf3) ly_associate_package(PACKAGE_NAME tiff-4.2.0.14-windows TARGETS tiff PACKAGE_HASH ab60d1398e4e1e375ec0f1a00cdb1d812a07c0096d827db575ce52dd6d714207) -ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev3-windows TARGETS AWSNativeSDK PACKAGE_HASH 929873d4252c464620a9d288e41bd5d47c0bd22750aeb3a1caa68a3da8247c48) +ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev4-windows TARGETS AWSNativeSDK PACKAGE_HASH a900e80f7259e43aed5c847afee2599ada37f29db70505481397675bcbb6c76c) ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-windows TARGETS Lua PACKAGE_HASH 136faccf1f73891e3fa3b95f908523187792e56f5b92c63c6a6d7e72d1158d40) ly_associate_package(PACKAGE_NAME PhysX-4.1.2.29882248-rev3-windows TARGETS PhysX PACKAGE_HASH 0c5ffbd9fa588e5cf7643721a7cfe74d0fe448bf82252d39b3a96d06dfca2298) ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-windows TARGETS etc2comp PACKAGE_HASH fc9ae937b2ec0d42d5e7d0e9e8c80e5e4d257673fb33bc9b7d6db76002117123) @@ -51,3 +50,4 @@ ly_associate_package(PACKAGE_NAME Crashpad-0.8.0-rev1-windows ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-windows TARGETS zlib PACKAGE_HASH 9afab1d67641ed8bef2fb38fc53942da47f2ab339d9e77d3d20704a48af2da0b) ly_associate_package(PACKAGE_NAME squish-ccr-deb557d-rev1-windows TARGETS squish-ccr PACKAGE_HASH 5c3d9fa491e488ccaf802304ad23b932268a2b2846e383f088779962af2bfa84) ly_associate_package(PACKAGE_NAME ISPCTexComp-36b80aa-rev1-windows TARGETS ISPCTexComp PACKAGE_HASH b6fa6ea28a2808a9a5524c72c37789c525925e435770f2d94eb2d387360fa2d0) +ly_associate_package(PACKAGE_NAME lz4-1.9.3-vcpkg-rev4-windows TARGETS lz4 PACKAGE_HASH 4ea457b833cd8cfaf8e8e06ed6df601d3e6783b606bdbc44a677f77e19e0db16) diff --git a/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake b/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake index 0574f38654..69576bb665 100644 --- a/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake +++ b/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake @@ -11,7 +11,6 @@ ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-rev1-multiplatform TARGETS RapidJSON PACKAGE_HASH 2f5e26ecf86c3b7a262753e7da69ac59928e78e9534361f3d00c1ad5879e4023) ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf) ly_associate_package(PACKAGE_NAME cityhash-1.1-multiplatform TARGETS cityhash PACKAGE_HASH 0ace9e6f0b2438c5837510032d2d4109125845c0efd7d807f4561ec905512dd2) -ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform TARGETS lz4 PACKAGE_HASH d7b1d5651191db2c339827ad24f669d9d37754143e9173abc986184532f57c9d) ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARGETS glad PACKAGE_HASH ff97ee9664e97d0854b52a3734c2289329d9f2b4cd69478df6d0ca1f1c9392ee) @@ -29,3 +28,4 @@ ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-ios TARGETS GoogleB ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-ios TARGETS libsamplerate PACKAGE_HASH 7656b961697f490d4f9c35d2e61559f6fc38c32102e542a33c212cd618fc2119) ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev1-ios TARGETS OpenSSL PACKAGE_HASH cd0dfce3086a7172777c63dadbaf0ac3695b676119ecb6d0614b5fb1da03462f) ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-ios TARGETS zlib PACKAGE_HASH a59fc0f83a02c616b679799310e9d86fde84514c6d2acefa12c6def0ae4a880c) +ly_associate_package(PACKAGE_NAME lz4-1.9.3-vcpkg-rev4-ios TARGETS lz4 PACKAGE_HASH 588ea05739caa9231a9a17a1e8cf64c5b9a265e16528bc05420af7e2534e86c1) diff --git a/cmake/Install.cmake b/cmake/Install.cmake index 34f316e31e..6f50c78fd7 100644 --- a/cmake/Install.cmake +++ b/cmake/Install.cmake @@ -6,7 +6,12 @@ # # -if(NOT INSTALLED_ENGINE) +ly_set(LY_INSTALL_ENABLED TRUE) +if(INSTALLED_ENGINE) + ly_set(LY_INSTALL_ENABLED FALSE) +endif() + +if(LY_INSTALL_ENABLED) ly_get_absolute_pal_filename(pal_dir ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Platform/${PAL_PLATFORM_NAME}) include(${pal_dir}/Install_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) endif() @@ -27,6 +32,10 @@ endif() # function(ly_install_directory) + if(NOT LY_INSTALL_ENABLED) + return() + endif() + set(options VERBATIM) set(oneValueArgs DESTINATION) set(multiValueArgs DIRECTORIES EXCLUDE_PATTERNS) @@ -91,6 +100,10 @@ endfunction() # function(ly_install_files) + if(NOT LY_INSTALL_ENABLED) + return() + endif() + set(options PROGRAMS) set(oneValueArgs DESTINATION) set(multiValueArgs FILES) @@ -121,4 +134,21 @@ function(ly_install_files) COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} # use the default for the time being ) -endfunction() \ No newline at end of file +endfunction() + +#! ly_install_run_code: specifies code to be added to the install process (will run at install time) +# +# \notes: +# - refer to cmake's install(CODE documentation for more information +# +function(ly_install_run_code CODE) + + if(NOT LY_INSTALL_ENABLED) + return() + endif() + + install(CODE ${CODE} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} # use the default for the time being + ) + +endfunction() diff --git a/cmake/LYTestWrappers.cmake b/cmake/LYTestWrappers.cmake index 8e71cb3db1..a305f0be38 100644 --- a/cmake/LYTestWrappers.cmake +++ b/cmake/LYTestWrappers.cmake @@ -18,7 +18,7 @@ set(LY_GOOGLETEST_EXTRA_PARAMS CACHE STRING "Allows injection of additional opti find_package(Python REQUIRED MODULE) ly_set(LY_PYTEST_EXECUTABLE ${LY_PYTHON_CMD} -B -m pytest -v --tb=short --show-capture=log -c ${LY_ROOT_FOLDER}/ctest_pytest.ini --build-directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$") -ly_set(LY_TEST_GLOBAL_KNOWN_SUITE_NAMES "smoke" "main" "periodic" "benchmark" "sandbox") +ly_set(LY_TEST_GLOBAL_KNOWN_SUITE_NAMES "smoke" "main" "periodic" "benchmark" "sandbox" "awsi") ly_set(LY_TEST_GLOBAL_KNOWN_REQUIREMENTS "gpu") # Set default test aborts to 25 minutes, avoids hitting the CI pipeline inactivity timeout usually set to 30 minutes @@ -71,11 +71,14 @@ endfunction() # \arg:PARENT_NAME(optional) - Name of the parent test run target (if this is a subsequent call to specify a suite) # \arg:TEST_REQUIRES(optional) - List of system resources that are required to run this test. # Only available option is "gpu" -# \arg:TEST_SUITE(optional) - "smoke" or "periodic" or "sandbox" - prevents the test from running normally +# \arg:TEST_SUITE(optional) - "smoke" or "periodic" or "benchmark" or "sandbox" or "awsi" - prevents the test from running normally # and instead places it a special suite of tests that only run when requested. # Otherwise, do not specify a TEST_SUITE value and the default ("main") will apply. +# "smoke" is tiny, quick tests of fundamental operation (tests with no suite marker will also execute here in CI) +# "periodic" is low-priority verification, which should not block code submission # "benchmark" is currently reserved for Google Benchmarks # "sandbox" should be only be used for the workflow of flaky tests +# "awsi" Time consuming AWS integration end-to-end tests # \arg:TIMEOUT (optional) The timeout in seconds for the module. Defaults to LY_TEST_DEFAULT_TIMEOUT. # \arg:TEST_COMMAND - Command which runs the tests. It is a required argument # \arg:NON_IDE_PARAMS - extra params that will be run in ctest, but will not be used in the IDE. @@ -279,7 +282,7 @@ endfunction() # \arg:RUNTIME_DEPENDENCIES (optional) - List of additional runtime dependencies required by this test. # \arg:COMPONENT (optional) - Scope of the feature area that the test belongs to (eg. physics, graphics, etc.). # \arg:EXCLUDE_TEST_RUN_TARGET_FROM_IDE(bool) - If set the test run target will be not be shown in the IDE -# \arg:TEST_SUITE(optional) - "smoke" or "periodic" or "sandbox" - prevents the test from running normally +# \arg:TEST_SUITE(optional) - "smoke" or "periodic" or "sandbox" or "awsi" - prevents the test from running normally # and instead places it a special suite of tests that only run when requested. # \arg:TIMEOUT (optional) The timeout in seconds for the module. If not set defaults to LY_TEST_DEFAULT_TIMEOUT # @@ -331,7 +334,7 @@ endfunction() # \arg:TARGET Name of the target module that is being run for tests. If not provided, will default to 'NAME' # \arg:TEST_REQUIRES(optional) List of system resources that are required to run this test. # Only available option is "gpu" -# \arg:TEST_SUITE(optional) - "smoke" or "periodic" or "sandbox" - prevents the test from running normally +# \arg:TEST_SUITE(optional) - "smoke" or "periodic" or "sandbox" or "awsi" - prevents the test from running normally # and instead places it a special suite of tests that only run when requested. # \arg:TEST_COMMAND(optional) - Command which runs the tests. # If not supplied, a default of "AzTestRunner $ AzRunUnitTests" will be used @@ -372,7 +375,7 @@ function(ly_add_googletest) # will actually run everything in main OR everything tagged as requiring a GPU # instead of only tests tagged with BOTH main and gpu... # so we have to do it this way (negating all others) - set(non_ide_params "--gtest_filter=-*SUITE_smoke*:*SUITE_periodic*:*SUITE_benchmark*:*SUITE_sandbox*") + set(non_ide_params "--gtest_filter=-*SUITE_smoke*:*SUITE_periodic*:*SUITE_benchmark*:*SUITE_sandbox*:*SUITE_awsi*") endif() if(NOT ly_add_googletest_TEST_COMMAND) diff --git a/cmake/LYWrappers.cmake b/cmake/LYWrappers.cmake index 53895c300f..8e5633b5e6 100644 --- a/cmake/LYWrappers.cmake +++ b/cmake/LYWrappers.cmake @@ -330,9 +330,12 @@ function(ly_add_target) set(runtime_dependencies_list SHARED MODULE EXECUTABLE APPLICATION) if(NOT ly_add_target_IMPORTED AND linking_options IN_LIST runtime_dependencies_list) + get_property(is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) # XCode generator doesnt support different source files per configuration, so we cannot have # the runtime dependencies using file-tracking, instead, we will have them as a post build step - if(CMAKE_GENERATOR MATCHES Xcode) + # Non-multi config generators like Ninja (not "Ninja Multi-Config"), Makefiles, etc have trouble to + # produce file-level dependencies per configuration, so we also default to use a post build step + if(NOT is_multi_config_generator OR CMAKE_GENERATOR MATCHES Xcode) add_custom_command(TARGET ${ly_add_target_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}.cmake diff --git a/cmake/OutputDirectory.cmake b/cmake/OutputDirectory.cmake index 116ddfbecc..a75b47e818 100644 --- a/cmake/OutputDirectory.cmake +++ b/cmake/OutputDirectory.cmake @@ -13,5 +13,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Build dir # We install outside of the binary dir because our install support muliple platforms to # be installed together. We also have an exclusion rule in the AP that filters out the -# "build" folder which is a common binary dir -set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install CACHE PATH "Installation prefix") +# "install" folder to avoid the AP picking it up +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install CACHE PATH "Install directory" FORCE) +endif() diff --git a/cmake/Platform/Common/Clang/Configurations_clang.cmake b/cmake/Platform/Common/Clang/Configurations_clang.cmake index 02a94f4e72..8b6c7e611b 100644 --- a/cmake/Platform/Common/Clang/Configurations_clang.cmake +++ b/cmake/Platform/Common/Clang/Configurations_clang.cmake @@ -19,7 +19,6 @@ ly_append_configurations_options( # Disabled warnings (please do not disable any others without first consulting ly-warnings) -Wrange-loop-analysis -Wno-unknown-warning-option # used as a way to mark warnings that are MSVC only - -Wno-format-security -Wno-inconsistent-missing-override -Wno-parentheses -Wno-reorder diff --git a/cmake/Platform/Common/Install_common.cmake b/cmake/Platform/Common/Install_common.cmake index 5010760fad..9a0fbbd872 100644 --- a/cmake/Platform/Common/Install_common.cmake +++ b/cmake/Platform/Common/Install_common.cmake @@ -38,9 +38,6 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME absolute_tar # Get the target source directory relative to the LY root folder ly_get_engine_relative_source_dir(${absolute_target_source_dir} relative_target_source_dir) - # get the component ID. if the property isn't set for the target, it will auto fallback to use CMAKE_INSTALL_DEFAULT_COMPONENT_NAME - get_property(install_component TARGET ${TARGET_NAME} PROPERTY INSTALL_COMPONENT) - # All include directories marked PUBLIC or INTERFACE will be installed. We dont use PUBLIC_HEADER because in order to do that # we need to set the PUBLIC_HEADER property of the target for all the headers we are exporting. After doing that, installing the # headers end up in one folder instead of duplicating the folder structure of the public/interface include directory. @@ -69,7 +66,7 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME absolute_tar install(DIRECTORY ${include_directory} DESTINATION ${destination_dir} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} FILES_MATCHING PATTERN *.h PATTERN *.hpp @@ -108,13 +105,13 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME absolute_tar TARGETS ${TARGET_NAME} ARCHIVE DESTINATION ${archive_output_directory}/${PAL_PLATFORM_NAME}/$ - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} LIBRARY DESTINATION ${library_output_directory}/${PAL_PLATFORM_NAME}/$/${target_library_output_subdirectory} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} RUNTIME DESTINATION ${runtime_output_directory}/${PAL_PLATFORM_NAME}/$/${target_runtime_output_subdirectory} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) endif() @@ -271,7 +268,7 @@ set_property(TARGET ${NAME_PLACEHOLDER} file(GENERATE OUTPUT "${target_install_source_dir}/${NAME_PLACEHOLDER}_$.cmake" CONTENT "${target_file_contents}") install(FILES "${target_install_source_dir}/${NAME_PLACEHOLDER}_$.cmake" DESTINATION ${relative_target_source_dir} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) # Since a CMakeLists.txt could contain multiple targets, we generate it in a folder per target @@ -320,12 +317,9 @@ function(ly_setup_subdirectory absolute_target_source_dir) "${ENABLE_GEMS_PLACEHOLDER}" ) - # get the component ID. if the property isn't set for the directory, it will auto fallback to use CMAKE_INSTALL_DEFAULT_COMPONENT_NAME - get_property(install_component DIRECTORY ${absolute_target_source_dir} PROPERTY INSTALL_COMPONENT) - install(FILES "${target_install_source_dir}/CMakeLists.txt" DESTINATION ${relative_target_source_dir} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) endfunction() @@ -344,6 +338,7 @@ function(ly_setup_o3de_install) ${LY_ROOT_FOLDER}/LICENSE.txt ${LY_ROOT_FOLDER}/README.md DESTINATION . + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) endfunction() @@ -353,6 +348,7 @@ function(ly_setup_cmake_install) install(DIRECTORY "${LY_ROOT_FOLDER}/cmake" DESTINATION . + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} PATTERN "__pycache__" EXCLUDE REGEX "Findo3de.cmake" EXCLUDE REGEX "Platform\/.*\/BuiltInPackages_.*\.cmake" EXCLUDE @@ -380,18 +376,32 @@ function(ly_setup_cmake_install) "${LY_ROOT_FOLDER}/CMakeLists.txt" "${CMAKE_CURRENT_BINARY_DIR}/cmake/engine.json" DESTINATION . + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) # Collect all Find files that were added with ly_add_external_target_path unset(additional_find_files) + unset(additional_platform_files) get_property(additional_module_paths GLOBAL PROPERTY LY_ADDITIONAL_MODULE_PATH) foreach(additional_module_path ${additional_module_paths}) unset(find_files) file(GLOB find_files "${additional_module_path}/Find*.cmake") list(APPEND additional_find_files "${find_files}") + foreach(find_file ${find_files}) + # also copy the Platform/ to the destination + cmake_path(GET find_file PARENT_PATH find_file_parent) + unset(plat_files) + file(GLOB plat_files "${find_file_parent}/Platform/${PAL_PLATFORM_NAME}/*.cmake") + list(APPEND additional_platform_files "${plat_files}") + endforeach() endforeach() install(FILES ${additional_find_files} DESTINATION cmake/3rdParty + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} + ) + install(FILES ${additional_platform_files} + DESTINATION cmake/3rdParty/Platform/${PAL_PLATFORM_NAME} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) # Findo3de.cmake file: we generate a different Findo3de.camke file than the one we have in cmake. This one is going to expose all @@ -408,6 +418,7 @@ function(ly_setup_cmake_install) configure_file(${LY_ROOT_FOLDER}/cmake/install/Findo3de.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake" DESTINATION cmake + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) # BuiltInPackage_.cmake: since associations could happen in any cmake file across the engine. We collect @@ -427,6 +438,7 @@ function(ly_setup_cmake_install) ) install(FILES "${pal_builtin_file}" DESTINATION cmake/3rdParty/Platform/${PAL_PLATFORM_NAME} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) endfunction() @@ -442,6 +454,7 @@ function(ly_setup_runtime_dependencies) "function(ly_copy source_file target_directory) file(COPY \"\${source_file}\" DESTINATION \"\${target_directory}\" FILE_PERMISSIONS ${LY_COPY_PERMISSIONS}) endfunction()" + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) endif() @@ -476,7 +489,9 @@ endfunction()" list(REMOVE_DUPLICATES runtime_commands) list(JOIN runtime_commands " " runtime_commands_str) # the spaces are just to see the right identation in the cmake_install.cmake file - install(CODE "${runtime_commands_str}") + install(CODE "${runtime_commands_str}" + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} + ) endfunction() @@ -562,9 +577,15 @@ function(ly_setup_assets) cmake_path(SET gem_install_dest_dir .) endif() if(IS_DIRECTORY ${gem_absolute_path}) - install(DIRECTORY "${gem_absolute_path}" DESTINATION ${gem_install_dest_dir}) + install(DIRECTORY "${gem_absolute_path}" + DESTINATION ${gem_install_dest_dir} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} + ) elseif (EXISTS ${gem_absolute_path}) - install(FILES ${gem_absolute_path} DESTINATION ${gem_install_dest_dir}) + install(FILES ${gem_absolute_path} + DESTINATION ${gem_install_dest_dir} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} + ) endif() endforeach() diff --git a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake index 647ced54a2..237db5a2ce 100644 --- a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake +++ b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake @@ -41,12 +41,14 @@ ly_append_configurations_options( # Enabling warnings that are disabled by default from /W4 # https://docs.microsoft.com/en-us/cpp/preprocessor/compiler-warnings-that-are-off-by-default?view=vs-2019 /we4296 # 'operator': expression is always false - /we5233 # explicit lambda capture 'identifier' is not used /we4426 # optimization flags changed after including header, may be due to #pragma optimize() #/we4619 # #pragma warning: there is no warning number 'number'. Unfortunately some versions of MSVC 16.X dont filter this warning coming from external headers and Qt has a bad warning in QtCore/qvector.h(340,12) + /we4774 # 'string' : format string expected in argument number is not a string literal /we4777 # 'function' : format string 'string' requires an argument of type 'type1', but variadic argument number has type 'type2 /we5031 # #pragma warning(pop): likely mismatch, popping warning state pushed in different file /we5032 # detected #pragma warning(push) with no corresponding #pragma warning(pop) + /we5233 # explicit lambda capture 'identifier' is not used + /Zc:forScope # Force Conformance in for Loop Scope /diagnostics:caret # Compiler diagnostic options: includes the column where the issue was found and places a caret (^) under the location in the line of code where the issue was detected. diff --git a/cmake/Platform/Common/RuntimeDependencies_common.cmake b/cmake/Platform/Common/RuntimeDependencies_common.cmake index dbc8513c97..95d91da7f7 100644 --- a/cmake/Platform/Common/RuntimeDependencies_common.cmake +++ b/cmake/Platform/Common/RuntimeDependencies_common.cmake @@ -263,6 +263,7 @@ function(ly_delayed_generate_runtime_dependencies) # Generate the output file, note the STAMP_OUTPUT_FILE need to match with the one defined in LYWrappers.cmake set(STAMP_OUTPUT_FILE ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${target}_$.stamp) set(target_file_dir "$") + set(target_file "$") ly_file_read(${LY_RUNTIME_DEPENDENCIES_TEMPLATE} template_file) string(CONFIGURE "${LY_COPY_COMMANDS}" LY_COPY_COMMANDS @ONLY) string(CONFIGURE "${template_file}" configured_template_file @ONLY) diff --git a/cmake/Platform/Linux/Install_linux.cmake b/cmake/Platform/Linux/Install_linux.cmake index 87713fa5d6..dea26e5872 100644 --- a/cmake/Platform/Linux/Install_linux.cmake +++ b/cmake/Platform/Linux/Install_linux.cmake @@ -22,7 +22,9 @@ endfunction()]]) function(ly_install_code_function_override) string(CONFIGURE "${ly_copy_template}" ly_copy_function_linux @ONLY) - install(CODE "${ly_copy_function_linux}") + install(CODE "${ly_copy_function_linux}" + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} + ) endfunction() include(cmake/Platform/Common/Install_common.cmake) diff --git a/cmake/Platform/Mac/Install_mac.cmake b/cmake/Platform/Mac/Install_mac.cmake index c7f22e9149..f3c2b31b31 100644 --- a/cmake/Platform/Mac/Install_mac.cmake +++ b/cmake/Platform/Mac/Install_mac.cmake @@ -42,8 +42,6 @@ function(ly_install_target_override) set(multiValueArgs) cmake_parse_arguments(ly_platform_install_target "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - get_property(install_component TARGET ${ly_platform_install_target_TARGET} PROPERTY INSTALL_COMPONENT) - # For bundles on Mac, we set the icons by passing in a path to the Images.xcassets directory. # However, the CMake install command expects paths to files for the the RESOURCE property. # More details can be found in the CMake issue: https://gitlab.kitware.com/cmake/cmake/-/issues/22409 @@ -57,19 +55,19 @@ function(ly_install_target_override) TARGETS ${ly_platform_install_target_TARGET} ARCHIVE DESTINATION ${ly_platform_install_target_ARCHIVE_DIR}/${PAL_PLATFORM_NAME}/$ - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} LIBRARY DESTINATION ${ly_platform_install_target_LIBRARY_DIR}/${PAL_PLATFORM_NAME}/$/${ly_platform_install_target_LIBRARY_SUBDIR} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} RUNTIME DESTINATION ${ly_platform_install_target_RUNTIME_DIR}/${PAL_PLATFORM_NAME}/$/${ly_platform_install_target_RUNTIME_SUBDIR} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} BUNDLE DESTINATION ${ly_platform_install_target_RUNTIME_DIR}/${PAL_PLATFORM_NAME}/$/${ly_platform_install_target_RUNTIME_SUBDIR} - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} RESOURCE DESTINATION ${ly_platform_install_target_RUNTIME_DIR}/${PAL_PLATFORM_NAME}/$/${ly_platform_install_target_RUNTIME_SUBDIR}/ - COMPONENT ${install_component} + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} ) if (${is_bundle}) @@ -95,7 +93,9 @@ function(ly_install_code_function_override) endif() file(COPY \"\${source_file}\" DESTINATION \"\${target_directory}\" FILE_PERMISSIONS ${LY_COPY_PERMISSIONS}) -endfunction()") +endfunction()" + COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} + ) endfunction() diff --git a/cmake/Projects.cmake b/cmake/Projects.cmake index 6e5b5c5f78..e70c8a4b14 100644 --- a/cmake/Projects.cmake +++ b/cmake/Projects.cmake @@ -142,6 +142,23 @@ foreach(project ${LY_PROJECTS}) add_subdirectory(${project} "${project_folder_name}-${full_directory_hash}") ly_generate_project_build_path_setreg(${full_directory_path}) add_project_json_external_subdirectories(${full_directory_path}) + + # Generate pak for project in release installs + cmake_path(RELATIVE_PATH CMAKE_RUNTIME_OUTPUT_DIRECTORY BASE_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_VARIABLE runtime_output_directory) + set(install_engine_pak_template [=[ +if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$") + set(install_output_folder "${CMAKE_INSTALL_PREFIX}/@runtime_output_directory@/@PAL_PLATFORM_NAME@/${CMAKE_INSTALL_CONFIG_NAME}") + message(STATUS "Generating ${install_output_folder}/Engine.pak from @full_directory_path@/Cache") + file(ARCHIVE_CREATE OUTPUT ${install_output_folder}/Engine.pak + PATHS @full_directory_path@/Cache + FORMAT zip + ) + message(STATUS "${install_output_folder}/Engine.pak generated") +endif() +]=]) + string(CONFIGURE "${install_engine_pak_template}" install_engine_pak_code @ONLY) + ly_install_run_code("${install_engine_pak_code}") + endforeach() # If just one project is defined we pass it as a parameter to the applications diff --git a/cmake/SettingsRegistry.cmake b/cmake/SettingsRegistry.cmake index 58beba089c..c677aba7cf 100644 --- a/cmake/SettingsRegistry.cmake +++ b/cmake/SettingsRegistry.cmake @@ -118,6 +118,12 @@ endfunction() # The generated file contains the file to the each dependent targets # This can be used for example to determine which list of gems to load with an application function(ly_delayed_generate_settings_registry) + + if(LY_MONOLITHIC_GAME) # No need to generate setregs for monolithic builds + set_property(GLOBAL PROPERTY LY_DELAYED_LOAD_DEPENDENCIES) # Clear out the load targets from the global load dependencies list + return() + endif() + get_property(ly_delayed_load_targets GLOBAL PROPERTY LY_DELAYED_LOAD_DEPENDENCIES) foreach(prefix_target ${ly_delayed_load_targets}) string(REPLACE "," ";" prefix_target_list "${prefix_target}") @@ -201,7 +207,7 @@ function(ly_delayed_generate_settings_registry) set_property(GLOBAL PROPERTY LY_DELAYED_LOAD_"${prefix_target}") endforeach() - # Clear out the load targets from the glboal load dependencies list + # Clear out the load targets from the global load dependencies list set_property(GLOBAL PROPERTY LY_DELAYED_LOAD_DEPENDENCIES) endfunction() diff --git a/ctest_pytest.ini b/ctest_pytest.ini index 8365e07988..93310a522d 100644 --- a/ctest_pytest.ini +++ b/ctest_pytest.ini @@ -18,6 +18,7 @@ markers = SUITE_smoke: Tiny, quick tests of fundamental operation (tests with no SUITE_periodic: low-priority verification, which should not block code submission SUITE_benchmark: Benchmarks which do not pass or fail but instead output statistics SUITE_sandbox: Temporarly contains flaky/unstable tests, this should not block code submission. This test suite should be ideally empty + SUITE_awsi: Time consuming AWS integration end-to-end tests # secondary markers which may appear alongisde a suite marker: REQUIRES_gpu: Tests which require a physical GPU # custom markers not listed above will cause pytest to emit a typo warning diff --git a/scripts/build/Jenkins/Jenkinsfile b/scripts/build/Jenkins/Jenkinsfile index 328e5f8df7..5bc4b919fb 100644 --- a/scripts/build/Jenkins/Jenkinsfile +++ b/scripts/build/Jenkins/Jenkinsfile @@ -415,6 +415,19 @@ def ExportTestResults(Map options, String platform, String type, String workspac } } +def ExportTestScreenshots(Map options, String workspace, String platformName, String jobName, Map params) { + catchError(message: "Error exporting test screenshots (this won't fail the build)", buildResult: 'SUCCESS', stageResult: 'FAILURE') { + def screenshotsFolder = '${workspace}/${ENGINE_REPOSITORY_NAME}/AutomatedTesting/user/PythonTests/Automated/Screenshots' + def s3Uploader = '${workspace}/${ENGINE_REPOSITORY_NAME}/scripts/build/tools/upload_to_s3.py' + def command = '${options.PYTHON_DIR}/python.cmd -u ${s3Uploader} --base_dir ${screenshotsFolder} ' + + '--file_regex "(.*zip$)" --bucket ${env.TEST_SCREENSHOT_BUCKET} ' + + '--search_subdirectories True --key_prefix ${branchName}_${env.BUILD_NUMBER}' + + '--extra-args {"ACL": "bucket-owner-full-control"}' + bat label: "Uploading test screenshots for ${jobName}", + script: command + } +} + def PostBuildCommonSteps(String workspace, boolean mount = true) { echo 'Starting post-build common steps...' @@ -470,6 +483,14 @@ def CreateExportTestResultsStage(Map pipelineConfig, String platformName, String } } +def CreateExportTestScreenshotsStage(Map pipelineConfig, String platformName, String jobName, Map environmentVars, Map params) { + return { + stage("${jobName}_screenshots") { + ExportTestScreenshots(pipelineConfig, platformName, jobName, environmentVars['WORKSPACE'], params) + } + } +} + def CreateTeardownStage(Map environmentVars) { return { stage('Teardown') { @@ -532,6 +553,9 @@ def CreateSingleNode(Map pipelineConfig, def platform, def build_job, Map envVar if (params && params.containsKey('TEST_RESULTS') && params.TEST_RESULTS == 'True') { CreateExportTestResultsStage(pipelineConfig, platform.key, build_job_name, envVars, params).call() } + if (params && params.containsKey('TEST_SCREENSHOTS') && params.TEST_SCREENSHOTS == 'True' && currentResult == 'FAILURE') { + CreateExportTestScreenshotsStage(pipelineConfig, platform.key, build_job_name, envVars, params).call() + } CreateTeardownStage(envVars).call() } } diff --git a/scripts/build/Platform/Linux/build_config.json b/scripts/build/Platform/Linux/build_config.json index e60b5deee9..e70fa32878 100644 --- a/scripts/build/Platform/Linux/build_config.json +++ b/scripts/build/Platform/Linux/build_config.json @@ -83,7 +83,7 @@ "CMAKE_OPTIONS": "-G 'Ninja Multi-Config' -DCMAKE_C_COMPILER=clang-6.0 -DCMAKE_CXX_COMPILER=clang++-6.0 -DLY_UNITY_BUILD=TRUE -DLY_PARALLEL_LINK_JOBS=4", "CMAKE_LY_PROJECTS": "AutomatedTesting", "CMAKE_TARGET": "all", - "CTEST_OPTIONS": "-E Gem::EMotionFX.Editor.Tests -LE SUITE_sandbox -L FRAMEWORK_googletest" + "CTEST_OPTIONS": "-E Gem::EMotionFX.Editor.Tests -LE (SUITE_sandbox|SUITE_awsi) -L FRAMEWORK_googletest" } }, "test_profile_nounity": { @@ -95,7 +95,7 @@ "CMAKE_OPTIONS": "-G 'Ninja Multi-Config' -DCMAKE_C_COMPILER=clang-6.0 -DCMAKE_CXX_COMPILER=clang++-6.0 -DLY_UNITY_BUILD=FALSE -DLY_PARALLEL_LINK_JOBS=4", "CMAKE_LY_PROJECTS": "AutomatedTesting", "CMAKE_TARGET": "all", - "CTEST_OPTIONS": "-E Gem::EMotionFX.Editor.Tests -LE SUITE_sandbox -L FRAMEWORK_googletest" + "CTEST_OPTIONS": "-E Gem::EMotionFX.Editor.Tests -LE (SUITE_sandbox|SUITE_awsi) -L FRAMEWORK_googletest" } }, "asset_profile": { diff --git a/scripts/build/Platform/Windows/build_config.json b/scripts/build/Platform/Windows/build_config.json index 583a73b58b..689ba6935d 100644 --- a/scripts/build/Platform/Windows/build_config.json +++ b/scripts/build/Platform/Windows/build_config.json @@ -213,19 +213,38 @@ "ASSET_PROCESSOR_PLATFORMS": "pc,server" } }, - "periodic_test_profile_vs2019_pipe": { + "awsi_test_profile_vs2019_pipe": { "TAGS": [ "nightly-incremental", "nightly-clean" ], "steps": [ "awsi_deployment", - "periodic_test_profile_vs2019" + "awsi_test_profile_vs2019" ] }, + "awsi_test_profile_vs2019": { + "TAGS": [ + "weekly-build-metrics" + ], + "COMMAND": "build_test_windows.cmd", + "PARAMETERS": { + "CONFIGURATION": "profile", + "OUTPUT_DIRECTORY": "build\\windows_vs2019", + "CMAKE_OPTIONS": "-G \"Visual Studio 16 2019\" -DCMAKE_SYSTEM_VERSION=10.0 -DLY_UNITY_BUILD=TRUE", + "CMAKE_LY_PROJECTS": "AutomatedTesting", + "CMAKE_TARGET": "TEST_SUITE_awsi", + "CMAKE_NATIVE_BUILD_ARGS": "/m /nologo", + "CTEST_OPTIONS": "-L \"(SUITE_awsi)\" -T Test", + "TEST_METRICS": "True", + "TEST_RESULTS": "True" + } + }, "periodic_test_profile_vs2019": { "TAGS": [ - "weekly-build-metrics" + "nightly-incremental", + "nightly-clean", + "weekly-build-metrics" ], "COMMAND": "build_test_windows.cmd", "PARAMETERS": { diff --git a/scripts/ctest/ctest_driver.py b/scripts/ctest/ctest_driver.py index 3fc07921fd..aaad523186 100755 --- a/scripts/ctest/ctest_driver.py +++ b/scripts/ctest/ctest_driver.py @@ -19,7 +19,8 @@ SUITES_AND_DESCRIPTIONS = { "main": "The default set of tests, covers most of all testing.", "periodic": "Tests which can take a long time and should be done periodially instead of every commit - these should not block code submission", "benchmark": "Benchmarks - instead of pass/fail, these collect data for comparison against historic data", - "sandbox": "Flaky/Intermittent failing tests, this is used as a temporary spot to hold flaky tests, this will not block code submission. Ideally, this suite should always be empty" + "sandbox": "Flaky/Intermittent failing tests, this is used as a temporary spot to hold flaky tests, this will not block code submission. Ideally, this suite should always be empty", + "awsi": "Time consuming AWS integration end-to-end tests" } BUILD_CONFIGURATIONS = [ diff --git a/scripts/ctest/sanity_test.py b/scripts/ctest/sanity_test.py index dcbab281bb..2972546c65 100755 --- a/scripts/ctest/sanity_test.py +++ b/scripts/ctest/sanity_test.py @@ -32,6 +32,10 @@ def test_Sanity_Benchmark_Pass(): def test_Sanity_Sandbox_Pass(): pass +@pytest.mark.SUITE_awsi +def test_Sanity_AWSI_Pass(): + pass + @pytest.mark.REQUIRES_gpu def test_Sanity_RequireGpu_Pass(): pass