Merge branch 'main' into LYN-1099
This commit is contained in:
+2
-2
@@ -6,8 +6,8 @@ AssetProcessorTemp/**
|
||||
[Cc]ache/
|
||||
Editor/EditorEventLog.xml
|
||||
Editor/EditorLayout.xml
|
||||
Tools/**/*egg-info/**
|
||||
Tools/**/*egg-link
|
||||
**/*egg-info/**
|
||||
**/*egg-link
|
||||
UserSettings.xml
|
||||
[Uu]ser/
|
||||
FrameCapture/**
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
|
||||
|
||||
add_subdirectory(assetpipeline)
|
||||
add_subdirectory(atom_renderer)
|
||||
|
||||
## Physics ##
|
||||
# DISABLED - see LYN-2536
|
||||
|
||||
@@ -33,9 +33,6 @@ Assuming CMake is already setup on your operating system, below are some sample
|
||||
mkdir windows_vs2019
|
||||
cd windows_vs2019
|
||||
cmake .. -G "Visual Studio 16 2019" -A x64 -T host=x64 -DLY_3RDPARTY_PATH="%3RDPARTYPATH%" -DLY_PROJECTS=AutomatedTesting
|
||||
NOTE:
|
||||
Using the above command also adds EditorPythonTestTools to the PYTHONPATH OS environment variable.
|
||||
Additionally, some CTest scripts will add the Python interpreter path to the PYTHON OS environment variable.
|
||||
|
||||
To manually install the project in development mode using your own installed Python interpreter:
|
||||
cd /path/to/od3e/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools
|
||||
|
||||
-110
@@ -1,110 +0,0 @@
|
||||
Metadata-Version: 1.0
|
||||
Name: editor-python-test-tools
|
||||
Version: 1.0.0
|
||||
Summary: Lumberyard editor Python bindings test tools
|
||||
Home-page: UNKNOWN
|
||||
Author: UNKNOWN
|
||||
Author-email: UNKNOWN
|
||||
License: UNKNOWN
|
||||
Description: All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
------------
|
||||
|
||||
EditorPythonBindings is a Python project that contains a collection of testing tools
|
||||
developed by the Lumberyard Test Tech team. The project contains
|
||||
the following tools:
|
||||
|
||||
* Workspace Manager:
|
||||
A library to manipulate Lumberyard installations
|
||||
* Launchers:
|
||||
A library to test the game in a variety of platforms
|
||||
|
||||
|
||||
REQUIREMENTS
|
||||
------------
|
||||
|
||||
* Python 3.7.5 (64-bit)
|
||||
|
||||
It is recommended that you completely remove any other versions of Python
|
||||
installed on your system.
|
||||
|
||||
|
||||
INSTALL
|
||||
-----------
|
||||
It is recommended to set up these these tools with Lumberyard's CMake build commands.
|
||||
Assuming CMake is already setup on your operating system, below are some sample build commands:
|
||||
cd /path/to/od3e/
|
||||
mkdir windows_vs2019
|
||||
cd windows_vs2019
|
||||
cmake .. -G "Visual Studio 16 2019" -A x64 -T host=x64 -DLY_3RDPARTY_PATH="%3RDPARTYPATH%" -DLY_PROJECTS=AutomatedTesting
|
||||
NOTE:
|
||||
Using the above command also adds LyTestTools to the PYTHONPATH OS environment variable.
|
||||
Additionally, some CTest scripts will add the Python interpreter path to the PYTHON OS environment variable.
|
||||
There is some LyTestTools functionality that will search for these, so feel free to populate them manually.
|
||||
|
||||
To manually install the project in development mode using your own installed Python interpreter:
|
||||
cd /path/to/lumberyard/dev/Tools/LyTestTools/
|
||||
/path/to/your/python -m pip install -e .
|
||||
|
||||
For console/mobile testing, update the following .ini file in your root user directory:
|
||||
i.e. C:/Users/myusername/ly_test_tools/devices.ini (a.k.a. %USERPROFILE%/ly_test_tools/devices.ini)
|
||||
|
||||
You will need to add a section for the device, and a key holding the device identifier value (usually an IP or ID).
|
||||
It should look similar to this for each device:
|
||||
[android]
|
||||
id = 988939353955305449
|
||||
|
||||
[gameconsole]
|
||||
ip = 192.168.1.1
|
||||
|
||||
[gameconsole2]
|
||||
ip = 192.168.1.2
|
||||
|
||||
|
||||
PACKAGE STRUCTURE
|
||||
-----------------
|
||||
|
||||
The project is organized into packages. Each package corresponds to a tool:
|
||||
|
||||
- LyTestTools.ly_test_tools._internal: contains logging setup, pytest fixture, and o3de workspace manager modules
|
||||
- LyTestTools.ly_test_tools.builtin: builtin helpers and fixtures for quickly writing tests
|
||||
- LyTestTools.ly_test_tools.console: modules used for consoles
|
||||
- LyTestTools.ly_test_tools.environment: functions related to file/process management and cleanup
|
||||
- LyTestTools.ly_test_tools.image: modules related to image capturing and processing
|
||||
- LyTestTools.ly_test_tools.launchers: game launchers library
|
||||
- LyTestTools.ly_test_tools.log: modules for interacting with generated or existing log files
|
||||
- LyTestTools.ly_test_tools.o3de: modules used to interact with Open 3D Engine
|
||||
- LyTestTools.ly_test_tools.mobile: modules used for android/ios
|
||||
- LyTestTools.ly_test_tools.report: modules used for reporting
|
||||
- LyTestTools.tests: LyTestTools integration, unit, and example usage tests
|
||||
|
||||
|
||||
DIRECTORY STRUCTURE
|
||||
-------------------
|
||||
|
||||
The directory structure corresponds to the package structure. For example, the
|
||||
ly_test_tools.builtin package is located in the ly_test_tools/builtin/ directory.
|
||||
|
||||
|
||||
ENTRY POINTS
|
||||
------------
|
||||
|
||||
Deploying the project in development mode installs only entry points for pytest fixtures.
|
||||
|
||||
|
||||
UNINSTALLATION
|
||||
--------------
|
||||
|
||||
The preferred way to uninstall the project is:
|
||||
/path/to/your/python -m pip uninstall ly_test_tools
|
||||
|
||||
Platform: UNKNOWN
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
README.txt
|
||||
setup.py
|
||||
editor_python_test_tools.egg-info/PKG-INFO
|
||||
editor_python_test_tools.egg-info/SOURCES.txt
|
||||
editor_python_test_tools.egg-info/dependency_links.txt
|
||||
editor_python_test_tools.egg-info/requires.txt
|
||||
editor_python_test_tools.egg-info/top_level.txt
|
||||
-1
@@ -1 +0,0 @@
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
ly_test_tools
|
||||
-1
@@ -1 +0,0 @@
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ def launch_and_validate_results(request, test_directory, editor, editor_script,
|
||||
if auto_test_mode:
|
||||
editor.args.extend(["--autotest_mode"])
|
||||
if null_renderer:
|
||||
editor.args.extend(["-NullRenderer"])
|
||||
editor.args.extend(["-rhi=null"])
|
||||
|
||||
with editor.start():
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Atom Renderer: Automated Tests
|
||||
# Runs EditorPythonBindings (hydra) scripts inside the Editor to verify test results for the Atom renderer.
|
||||
################################################################################
|
||||
|
||||
if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedTesting IN_LIST LY_PROJECTS)
|
||||
ly_add_pytest(
|
||||
NAME AtomRenderer::HydraTestsMain
|
||||
TEST_SUITE main
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/test_Atom_MainSuite.py
|
||||
TEST_SERIAL
|
||||
TIMEOUT 300
|
||||
RUNTIME_DEPENDENCIES
|
||||
AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
Editor
|
||||
)
|
||||
endif()
|
||||
Executable → Regular
@@ -0,0 +1,10 @@
|
||||
"""
|
||||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
"""
|
||||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
|
||||
# This module does a bulk test and update of many components at once.
|
||||
# Each test case is listed below in the format:
|
||||
# "Test Case ID: Test Case Title (URL)"
|
||||
|
||||
# C32078130: Tone Mapper (https://testrail.agscollab.com/index.php?/cases/view/32078130)
|
||||
# C32078129: Light (https://testrail.agscollab.com/index.php?/cases/view/32078129)
|
||||
# C32078131: Radius Weight Modifier (https://testrail.agscollab.com/index.php?/cases/view/32078131)
|
||||
# C32078127: PostFX Layer (https://testrail.agscollab.com/index.php?/cases/view/32078127)
|
||||
# C32078126: Point Light (https://testrail.agscollab.com/index.php?/cases/view/32078126)
|
||||
# C32078125: Physical Sky (https://testrail.agscollab.com/index.php?/cases/view/32078125)
|
||||
# C32078115: Global Skylight (IBL) (https://testrail.agscollab.com/index.php?/cases/view/32078115)
|
||||
# C32078121: Exposure Control (https://testrail.agscollab.com/index.php?/cases/view/32078121)
|
||||
# C32078120: Directional Light (https://testrail.agscollab.com/index.php?/cases/view/32078120)
|
||||
# C32078119: DepthOfField (https://testrail.agscollab.com/index.php?/cases/view/32078119)
|
||||
# C32078118: Decal (https://testrail.agscollab.com/index.php?/cases/view/32078118)
|
||||
# C32078117: Area Light (https://testrail.agscollab.com/index.php?/cases/view/32078117)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import azlmbr.math as math
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.paths
|
||||
import azlmbr.asset as asset
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.editor as editor
|
||||
|
||||
sys.path.append(os.path.join(azlmbr.paths.devroot, "AutomatedTesting", "Gem", "PythonTests"))
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import TestHelper
|
||||
from editor_python_test_tools.editor_test_helper import EditorTestHelper
|
||||
|
||||
|
||||
EditorTestHelper = EditorTestHelper(log_prefix="AtomEditorComponents")
|
||||
|
||||
|
||||
def run():
|
||||
"""
|
||||
Summary:
|
||||
The below common tests are done for each of the components.
|
||||
1) Addition of component to the entity
|
||||
2) UNDO/REDO of addition of component
|
||||
3) Enter/Exit game mode
|
||||
4) Hide/Show entity containing component
|
||||
5) Deletion of component
|
||||
6) UNDO/REDO of deletion of component
|
||||
Some additional tests for specific components include
|
||||
1) Assigning value to some properties of each component
|
||||
2) Verifying if the component is activated only when the required components are added
|
||||
|
||||
Expected Result:
|
||||
1) Component can be added to an entity.
|
||||
2) The addition of component can be undone and redone.
|
||||
3) Game mode can be entered/exited without issue.
|
||||
4) Entity with component can be hidden/shown.
|
||||
5) Component can be deleted.
|
||||
6) The deletion of component can be undone and redone.
|
||||
7) Component is activated only when the required components are added
|
||||
8) Values can be assigned to the properties of the component
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
def create_entity_undo_redo_component_addition(component_name):
|
||||
new_entity = hydra.Entity(f"{component_name}")
|
||||
new_entity.create_entity(math.Vector3(512.0, 512.0, 34.0), [component_name])
|
||||
general.log(f"{component_name}_test: Component added to the entity: "
|
||||
f"{hydra.has_components(new_entity.id, [component_name])}")
|
||||
|
||||
# undo component addition
|
||||
general.undo()
|
||||
TestHelper.wait_for_condition(lambda: not hydra.has_components(new_entity.id, [component_name]), 2.0)
|
||||
general.log(f"{component_name}_test: Component removed after UNDO: "
|
||||
f"{not hydra.has_components(new_entity.id, [component_name])}")
|
||||
|
||||
# redo component addition
|
||||
general.redo()
|
||||
TestHelper.wait_for_condition(lambda: hydra.has_components(new_entity.id, [component_name]), 2.0)
|
||||
general.log(f"{component_name}_test: Component added after REDO: "
|
||||
f"{hydra.has_components(new_entity.id, [component_name])}")
|
||||
|
||||
return new_entity
|
||||
|
||||
def verify_enter_exit_game_mode(component_name):
|
||||
general.enter_game_mode()
|
||||
TestHelper.wait_for_condition(lambda: general.is_in_game_mode(), 1.0)
|
||||
general.log(f"{component_name}_test: Entered game mode: {general.is_in_game_mode()}")
|
||||
general.exit_game_mode()
|
||||
TestHelper.wait_for_condition(lambda: not general.is_in_game_mode(), 1.0)
|
||||
general.log(f"{component_name}_test: Exit game mode: {not general.is_in_game_mode()}")
|
||||
|
||||
def verify_hide_unhide_entity(component_name, entity_obj):
|
||||
|
||||
def is_entity_hidden(entity_id):
|
||||
return editor.EditorEntityInfoRequestBus(bus.Event, "IsHidden", entity_id)
|
||||
|
||||
editor.EditorEntityAPIBus(bus.Event, "SetVisibilityState", entity_obj.id, False)
|
||||
general.idle_wait_frames(1)
|
||||
general.log(f"{component_name}_test: Entity is hidden: {is_entity_hidden(entity_obj.id)}")
|
||||
editor.EditorEntityAPIBus(bus.Event, "SetVisibilityState", entity_obj.id, True)
|
||||
general.idle_wait_frames(1)
|
||||
general.log(f"{component_name}_test: Entity is shown: {not is_entity_hidden(entity_obj.id)}")
|
||||
|
||||
def verify_deletion_undo_redo(component_name, entity_obj):
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntityById", entity_obj.id)
|
||||
TestHelper.wait_for_condition(lambda: not hydra.find_entity_by_name(entity_obj.name), 1.0)
|
||||
general.log(f"{component_name}_test: Entity deleted: {not hydra.find_entity_by_name(entity_obj.name)}")
|
||||
|
||||
general.undo()
|
||||
TestHelper.wait_for_condition(lambda: hydra.find_entity_by_name(entity_obj.name) is not None, 1.0)
|
||||
general.log(f"{component_name}_test: UNDO entity deletion works: "
|
||||
f"{hydra.find_entity_by_name(entity_obj.name) is not None}")
|
||||
|
||||
general.redo()
|
||||
TestHelper.wait_for_condition(lambda: not hydra.find_entity_by_name(entity_obj.name), 1.0)
|
||||
general.log(f"{component_name}_test: REDO entity deletion works: "
|
||||
f"{not hydra.find_entity_by_name(entity_obj.name)}")
|
||||
|
||||
def verify_required_component_addition(entity_obj, components_to_add, component_name):
|
||||
|
||||
def is_component_enabled(entity_componentid_pair):
|
||||
return editor.EditorComponentAPIBus(bus.Broadcast, "IsComponentEnabled", entity_componentid_pair)
|
||||
|
||||
general.log(
|
||||
f"{component_name}_test: Entity disabled initially: "
|
||||
f"{not is_component_enabled(entity_obj.components[0])}")
|
||||
for component in components_to_add:
|
||||
entity_obj.add_component(component)
|
||||
TestHelper.wait_for_condition(lambda: is_component_enabled(entity_obj.components[0]), 1.0)
|
||||
general.log(
|
||||
f"{component_name}_test: Entity enabled after adding "
|
||||
f"required components: {is_component_enabled(entity_obj.components[0])}"
|
||||
)
|
||||
|
||||
def verify_set_property(entity_obj, path, value):
|
||||
entity_obj.get_set_test(0, path, value)
|
||||
|
||||
# Wait for Editor idle loop before executing Python hydra scripts.
|
||||
TestHelper.init_idle()
|
||||
|
||||
# Create a new level.
|
||||
new_level_name = "tmp_level" # Specified in TestAllComponentsBasicTests.py
|
||||
heightmap_resolution = 512
|
||||
heightmap_meters_per_pixel = 1
|
||||
terrain_texture_resolution = 412
|
||||
use_terrain = False
|
||||
|
||||
# Return codes are ECreateLevelResult defined in CryEdit.h
|
||||
return_code = general.create_level_no_prompt(
|
||||
new_level_name, heightmap_resolution, heightmap_meters_per_pixel, terrain_texture_resolution, use_terrain)
|
||||
if return_code == 1:
|
||||
general.log(f"{new_level_name} level already exists")
|
||||
elif return_code == 2:
|
||||
general.log("Failed to create directory")
|
||||
elif return_code == 3:
|
||||
general.log("Directory length is too long")
|
||||
elif return_code != 0:
|
||||
general.log("Unknown error, failed to create level")
|
||||
else:
|
||||
general.log(f"{new_level_name} level created successfully")
|
||||
EditorTestHelper.after_level_load(bypass_viewport_resize=True)
|
||||
|
||||
# Delete all existing entities initially
|
||||
search_filter = azlmbr.entity.SearchFilter()
|
||||
all_entities = entity.SearchBus(azlmbr.bus.Broadcast, "SearchEntities", search_filter)
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntities", all_entities)
|
||||
|
||||
class ComponentTests:
|
||||
"""Test launcher for each component."""
|
||||
def __init__(self, component_name, *additional_tests):
|
||||
self.component_name = component_name
|
||||
self.additional_tests = additional_tests
|
||||
self.run_component_tests()
|
||||
|
||||
def run_component_tests(self):
|
||||
# Run common and additional tests
|
||||
entity_obj = create_entity_undo_redo_component_addition(self.component_name)
|
||||
|
||||
# Enter/Exit game mode test
|
||||
verify_enter_exit_game_mode(self.component_name)
|
||||
|
||||
# Any additional tests are executed here
|
||||
for test in self.additional_tests:
|
||||
test(entity_obj)
|
||||
|
||||
# Hide/Unhide entity test
|
||||
verify_hide_unhide_entity(self.component_name, entity_obj)
|
||||
|
||||
# Deletion/Undo/Redo test
|
||||
verify_deletion_undo_redo(self.component_name, entity_obj)
|
||||
|
||||
# Area Light Component
|
||||
area_light = "Area Light"
|
||||
ComponentTests(
|
||||
area_light, lambda entity_obj: verify_required_component_addition(
|
||||
entity_obj, ["Capsule Shape"], area_light))
|
||||
|
||||
# Decal Component
|
||||
material_asset_path = os.path.join("Materials", "decal", "aiirship_nose_number_decal.material")
|
||||
material_asset = asset.AssetCatalogRequestBus(
|
||||
bus.Broadcast, "GetAssetIdByPath", material_asset_path, math.Uuid(), False)
|
||||
ComponentTests(
|
||||
"Decal", lambda entity_obj: verify_set_property(
|
||||
entity_obj, "Settings|Decal Settings|Material", material_asset))
|
||||
|
||||
# DepthOfField Component
|
||||
camera_entity = hydra.Entity("camera_entity")
|
||||
camera_entity.create_entity(math.Vector3(512.0, 512.0, 34.0), ["Camera"])
|
||||
depth_of_field = "DepthOfField"
|
||||
ComponentTests(
|
||||
depth_of_field,
|
||||
lambda entity_obj: verify_required_component_addition(entity_obj, ["PostFX Layer"], depth_of_field),
|
||||
lambda entity_obj: verify_set_property(
|
||||
entity_obj, "Controller|Configuration|Camera Entity", camera_entity.id))
|
||||
|
||||
# Directional Light Component
|
||||
ComponentTests(
|
||||
"Directional Light",
|
||||
lambda entity_obj: verify_set_property(
|
||||
entity_obj, "Controller|Configuration|Shadow|Camera", camera_entity.id))
|
||||
|
||||
# Exposure Control Component
|
||||
ComponentTests(
|
||||
"Exposure Control", lambda entity_obj: verify_required_component_addition(
|
||||
entity_obj, ["PostFX Layer"], "Exposure Control"))
|
||||
|
||||
# Global Skylight (IBL) Component
|
||||
diffuse_image_path = os.path.join("LightingPresets", "greenwich_park_02_4k_iblskyboxcm.exr.streamingimage")
|
||||
diffuse_image_asset = asset.AssetCatalogRequestBus(
|
||||
bus.Broadcast, "GetAssetIdByPath", diffuse_image_path, math.Uuid(), False)
|
||||
specular_image_path = os.path.join("LightingPresets", "greenwich_park_02_4k_iblskyboxcm.exr.streamingimage")
|
||||
specular_image_asset = asset.AssetCatalogRequestBus(
|
||||
bus.Broadcast, "GetAssetIdByPath", specular_image_path, math.Uuid(), False)
|
||||
ComponentTests(
|
||||
"Global Skylight (IBL)",
|
||||
lambda entity_obj: verify_set_property(
|
||||
entity_obj, "Controller|Configuration|Diffuse Image", diffuse_image_asset),
|
||||
lambda entity_obj: verify_set_property(
|
||||
entity_obj, "Controller|Configuration|Specular Image", specular_image_asset))
|
||||
|
||||
# Physical Sky Component
|
||||
ComponentTests("Physical Sky")
|
||||
|
||||
# Point Light Component
|
||||
ComponentTests("Point Light")
|
||||
|
||||
# PostFX Layer Component
|
||||
ComponentTests("PostFX Layer")
|
||||
|
||||
# Radius Weight Modifier Component
|
||||
ComponentTests("Radius Weight Modifier")
|
||||
|
||||
# Spot Light Component
|
||||
ComponentTests("Light")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
@@ -0,0 +1,219 @@
|
||||
"""
|
||||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
import pytest
|
||||
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
|
||||
import editor_python_test_tools.hydra_test_utils as hydra
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
EDITOR_TIMEOUT = 60
|
||||
TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "atom_hydra_scripts")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
class TestAtomEditorComponents(object):
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_teardown(self, request, workspace, project, level):
|
||||
# Cleanup our temp level
|
||||
file_system.delete(
|
||||
[os.path.join(workspace.paths.engine_root(), project, "Levels", "AtomLevels", level)], True, True)
|
||||
|
||||
def teardown():
|
||||
# Cleanup our temp level
|
||||
file_system.delete(
|
||||
[os.path.join(workspace.paths.engine_root(), project, "Levels", "AtomLevels", level)], True, True)
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
@pytest.mark.test_case_id(
|
||||
"C32078130", # Tone Mapper
|
||||
"C32078129", # Light
|
||||
"C32078131", # Radius Weight Modifier
|
||||
"C32078127", # PostFX Layer
|
||||
"C32078126", # Point Light
|
||||
"C32078125", # Physical Sky
|
||||
"C32078115", # Global Skylight (IBL)
|
||||
"C32078121", # Exposure Control
|
||||
"C32078120", # Directional Light
|
||||
"C32078119", # DepthOfField
|
||||
"C32078118") # Decal
|
||||
def test_AtomEditorComponents_AddedToEntity(self, request, editor, level, workspace, project, launcher_platform):
|
||||
cfg_args = [level]
|
||||
|
||||
expected_lines = [
|
||||
# Area Light Component
|
||||
"Area Light Entity successfully created",
|
||||
"Area Light_test: Component added to the entity: True",
|
||||
"Area Light_test: Component removed after UNDO: True",
|
||||
"Area Light_test: Component added after REDO: True",
|
||||
"Area Light_test: Entered game mode: True",
|
||||
"Area Light_test: Entity enabled after adding required components: True",
|
||||
"Area Light_test: Entity is hidden: True",
|
||||
"Area Light_test: Entity is shown: True",
|
||||
"Area Light_test: Entity deleted: True",
|
||||
"Area Light_test: UNDO entity deletion works: True",
|
||||
"Area Light_test: REDO entity deletion works: True",
|
||||
# Decal Component
|
||||
"Decal Entity successfully created",
|
||||
"Decal_test: Component added to the entity: True",
|
||||
"Decal_test: Component removed after UNDO: True",
|
||||
"Decal_test: Component added after REDO: True",
|
||||
"Decal_test: Entered game mode: True",
|
||||
"Decal_test: Exit game mode: True",
|
||||
"Decal Settings|Decal Settings|Material: SUCCESS",
|
||||
"Decal_test: Entity is hidden: True",
|
||||
"Decal_test: Entity is shown: True",
|
||||
"Decal_test: Entity deleted: True",
|
||||
"Decal_test: UNDO entity deletion works: True",
|
||||
"Decal_test: REDO entity deletion works: True",
|
||||
# DepthOfField Component
|
||||
"DepthOfField Entity successfully created",
|
||||
"DepthOfField_test: Component added to the entity: True",
|
||||
"DepthOfField_test: Component removed after UNDO: True",
|
||||
"DepthOfField_test: Component added after REDO: True",
|
||||
"DepthOfField_test: Entered game mode: True",
|
||||
"DepthOfField_test: Exit game mode: True",
|
||||
"DepthOfField_test: Entity disabled initially: True",
|
||||
"DepthOfField_test: Entity enabled after adding required components: True",
|
||||
"DepthOfField Controller|Configuration|Camera Entity: SUCCESS",
|
||||
"DepthOfField_test: Entity is hidden: True",
|
||||
"DepthOfField_test: Entity is shown: True",
|
||||
"DepthOfField_test: Entity deleted: True",
|
||||
"DepthOfField_test: UNDO entity deletion works: True",
|
||||
"DepthOfField_test: REDO entity deletion works: True",
|
||||
# Directional Light Component
|
||||
"Directional Light Entity successfully created",
|
||||
"Directional Light_test: Component added to the entity: True",
|
||||
"Directional Light_test: Component removed after UNDO: True",
|
||||
"Directional Light_test: Component added after REDO: True",
|
||||
"Directional Light_test: Entered game mode: True",
|
||||
"Directional Light_test: Exit game mode: True",
|
||||
"Directional Light Controller|Configuration|Shadow|Camera: SUCCESS",
|
||||
"Directional Light_test: Entity is hidden: True",
|
||||
"Directional Light_test: Entity is shown: True",
|
||||
"Directional Light_test: Entity deleted: True",
|
||||
"Directional Light_test: UNDO entity deletion works: True",
|
||||
"Directional Light_test: REDO entity deletion works: True",
|
||||
# Exposure Control Component
|
||||
"Exposure Control Entity successfully created",
|
||||
"Exposure Control_test: Component added to the entity: True",
|
||||
"Exposure Control_test: Component removed after UNDO: True",
|
||||
"Exposure Control_test: Component added after REDO: True",
|
||||
"Exposure Control_test: Entered game mode: True",
|
||||
"Exposure Control_test: Exit game mode: True",
|
||||
"Exposure Control_test: Entity disabled initially: True",
|
||||
"Exposure Control_test: Entity enabled after adding required components: True",
|
||||
"Exposure Control_test: Entity is hidden: True",
|
||||
"Exposure Control_test: Entity is shown: True",
|
||||
"Exposure Control_test: Entity deleted: True",
|
||||
"Exposure Control_test: UNDO entity deletion works: True",
|
||||
"Exposure Control_test: REDO entity deletion works: True",
|
||||
# Global Skylight (IBL) Component
|
||||
"Global Skylight (IBL) Entity successfully created",
|
||||
"Global Skylight (IBL)_test: Component added to the entity: True",
|
||||
"Global Skylight (IBL)_test: Component removed after UNDO: True",
|
||||
"Global Skylight (IBL)_test: Component added after REDO: True",
|
||||
"Global Skylight (IBL)_test: Entered game mode: True",
|
||||
"Global Skylight (IBL)_test: Exit game mode: True",
|
||||
"Global Skylight (IBL) Controller|Configuration|Diffuse Image: SUCCESS",
|
||||
"Global Skylight (IBL) Controller|Configuration|Specular Image: SUCCESS",
|
||||
"Global Skylight (IBL)_test: Entity is hidden: True",
|
||||
"Global Skylight (IBL)_test: Entity is shown: True",
|
||||
"Global Skylight (IBL)_test: Entity deleted: True",
|
||||
"Global Skylight (IBL)_test: UNDO entity deletion works: True",
|
||||
"Global Skylight (IBL)_test: REDO entity deletion works: True",
|
||||
# Physical Sky Component
|
||||
"Physical Sky Entity successfully created",
|
||||
"Physical Sky component was added to entity",
|
||||
"Entity has a Physical Sky component",
|
||||
"Physical Sky_test: Component added to the entity: True",
|
||||
"Physical Sky_test: Component removed after UNDO: True",
|
||||
"Physical Sky_test: Component added after REDO: True",
|
||||
"Physical Sky_test: Entered game mode: True",
|
||||
"Physical Sky_test: Exit game mode: True",
|
||||
"Physical Sky_test: Entity is hidden: True",
|
||||
"Physical Sky_test: Entity is shown: True",
|
||||
"Physical Sky_test: Entity deleted: True",
|
||||
"Physical Sky_test: UNDO entity deletion works: True",
|
||||
"Physical Sky_test: REDO entity deletion works: True",
|
||||
# Point Light Component
|
||||
"Point Light Entity successfully created",
|
||||
"Point Light_test: Component added to the entity: True",
|
||||
"Point Light_test: Component removed after UNDO: True",
|
||||
"Point Light_test: Component added after REDO: True",
|
||||
"Point Light_test: Entered game mode: True",
|
||||
"Point Light_test: Exit game mode: True",
|
||||
"Point Light_test: Entity is hidden: True",
|
||||
"Point Light_test: Entity is shown: True",
|
||||
"Point Light_test: Entity deleted: True",
|
||||
"Point Light_test: UNDO entity deletion works: True",
|
||||
"Point Light_test: REDO entity deletion works: True",
|
||||
# PostFX Layer Component
|
||||
"PostFX Layer Entity successfully created",
|
||||
"PostFX Layer_test: Component added to the entity: True",
|
||||
"PostFX Layer_test: Component removed after UNDO: True",
|
||||
"PostFX Layer_test: Component added after REDO: True",
|
||||
"PostFX Layer_test: Entered game mode: True",
|
||||
"PostFX Layer_test: Exit game mode: True",
|
||||
"PostFX Layer_test: Entity is hidden: True",
|
||||
"PostFX Layer_test: Entity is shown: True",
|
||||
"PostFX Layer_test: Entity deleted: True",
|
||||
"PostFX Layer_test: UNDO entity deletion works: True",
|
||||
"PostFX Layer_test: REDO entity deletion works: True",
|
||||
# Radius Weight Modifier Component
|
||||
"Radius Weight Modifier Entity successfully created",
|
||||
"Radius Weight Modifier_test: Component added to the entity: True",
|
||||
"Radius Weight Modifier_test: Component removed after UNDO: True",
|
||||
"Radius Weight Modifier_test: Component added after REDO: True",
|
||||
"Radius Weight Modifier_test: Entered game mode: True",
|
||||
"Radius Weight Modifier_test: Exit game mode: True",
|
||||
"Radius Weight Modifier_test: Entity is hidden: True",
|
||||
"Radius Weight Modifier_test: Entity is shown: True",
|
||||
"Radius Weight Modifier_test: Entity deleted: True",
|
||||
"Radius Weight Modifier_test: UNDO entity deletion works: True",
|
||||
"Radius Weight Modifier_test: REDO entity deletion works: True",
|
||||
# Light Component
|
||||
"Light Entity successfully created",
|
||||
"Light_test: Component added to the entity: True",
|
||||
"Light_test: Component removed after UNDO: True",
|
||||
"Light_test: Component added after REDO: True",
|
||||
"Light_test: Entered game mode: True",
|
||||
"Light_test: Exit game mode: True",
|
||||
"Light_test: Entity is hidden: True",
|
||||
"Light_test: Entity is shown: True",
|
||||
"Light_test: Entity deleted: True",
|
||||
"Light_test: UNDO entity deletion works: True",
|
||||
"Light_test: REDO entity deletion works: True",
|
||||
]
|
||||
|
||||
unexpected_lines = [
|
||||
"failed to open",
|
||||
"Traceback (most recent call last):",
|
||||
]
|
||||
|
||||
hydra.launch_and_validate_results(
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"hydra_AtomEditorComponents_AddedToEntity.py",
|
||||
timeout=EDITOR_TIMEOUT,
|
||||
expected_lines=expected_lines,
|
||||
unexpected_lines=unexpected_lines,
|
||||
halt_on_unexpected=True,
|
||||
null_renderer=True,
|
||||
cfg_args=cfg_args,
|
||||
)
|
||||
+1940
-3160
File diff suppressed because it is too large
Load Diff
+556
-869
File diff suppressed because it is too large
Load Diff
+525
-867
File diff suppressed because it is too large
Load Diff
+556
-869
File diff suppressed because it is too large
Load Diff
+520
-851
File diff suppressed because it is too large
Load Diff
+534
-870
File diff suppressed because it is too large
Load Diff
+2505
-3402
File diff suppressed because it is too large
Load Diff
+1936
-3400
File diff suppressed because it is too large
Load Diff
+2510
-3402
File diff suppressed because it is too large
Load Diff
+2510
-3402
File diff suppressed because it is too large
Load Diff
+1936
-3400
File diff suppressed because it is too large
Load Diff
+2510
-3402
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+6
-5
@@ -21,6 +21,7 @@ if(CMAKE_VERSION VERSION_EQUAL 3.19)
|
||||
cmake_policy(SET CMP0111 OLD)
|
||||
endif()
|
||||
|
||||
include(cmake/LySet.cmake)
|
||||
include(cmake/Version.cmake)
|
||||
include(cmake/OutputDirectory.cmake)
|
||||
|
||||
@@ -74,9 +75,6 @@ foreach(restricted_platform ${PAL_RESTRICTED_PLATFORMS})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Recurse into directory of general python test scripts
|
||||
add_subdirectory(ctest_scripts)
|
||||
|
||||
add_subdirectory(scripts)
|
||||
|
||||
# SPEC-1417 will investigate and fix this
|
||||
@@ -122,7 +120,10 @@ endif()
|
||||
include(cmake/RuntimeDependencies.cmake)
|
||||
# 5. Perform test impact framework post steps once all of the targets have been enumerated
|
||||
ly_test_impact_post_step()
|
||||
# 6. Generate the O3DE find file and setup install locations for scripts, tools, assets etc., required by the engine
|
||||
# 6. Generate the O3DE find file and setup install locations for scripts, tools, assets etc., required by the engine
|
||||
if(NOT INSTALLED_ENGINE)
|
||||
ly_setup_o3de_install()
|
||||
endif()
|
||||
|
||||
# IMPORTANT: must be included last
|
||||
include(cmake/CPack.cmake)
|
||||
endif()
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@ SDKs
|
||||
|
||||
#ColinB (8/26)- I know there are depot files that this will ignore... But these files should not be
|
||||
#here, they should all be in 3rdParty... so we will ignore them until I can move them, it should
|
||||
#be OK for now because they shouldn't change at all anyway.
|
||||
#be OK for now because they shouldn't change at all anyway.
|
||||
|
||||
@@ -396,4 +396,4 @@ void CFogVolumeRenderNode::GetVolumetricFogColorBox(const Vec3& worldPos, const
|
||||
resultColor = ColorF(m_cachedFogColor.r, m_cachedFogColor.g, m_cachedFogColor.b, min(fog, 1.0f));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -325,4 +325,4 @@ bool CGeomCacheMeshManager::ReadMeshColors(CGeomCacheStreamReader& reader, const
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1488,4 +1488,4 @@ void CGeomCacheRenderNode::OnGeomCacheStaticDataUnloaded()
|
||||
Clear(false);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -14,4 +14,4 @@
|
||||
// Description : Draw static objects (vegetations)
|
||||
|
||||
|
||||
#include "Cry3DEngine_precompiled.h"
|
||||
#include "Cry3DEngine_precompiled.h"
|
||||
|
||||
@@ -94,4 +94,4 @@ void C3DEngine::DisablePostEffects()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,4 +22,4 @@ TEST(MockValidationTests, SystemMock_Compiles)
|
||||
TEST(MockValidationTests, LogMock_Compiles)
|
||||
{
|
||||
LogMock mockLog;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,4 +71,4 @@ namespace std17
|
||||
}
|
||||
}
|
||||
|
||||
#endif // CRYINCLUDE_CRYCOMMON_ALGORITHM_H
|
||||
#endif // CRYINCLUDE_CRYCOMMON_ALGORITHM_H
|
||||
|
||||
@@ -318,4 +318,4 @@ namespace Bezier
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -63,4 +63,4 @@ public:
|
||||
};
|
||||
|
||||
|
||||
#endif // #ifndef _CREFOGVOLUME_
|
||||
#endif // #ifndef _CREFOGVOLUME_
|
||||
|
||||
@@ -67,4 +67,4 @@ public:
|
||||
_smart_ptr<IRenderMesh> m_pHullMesh;
|
||||
};
|
||||
|
||||
#endif // #ifndef _CREVOLUMEOBJECT_
|
||||
#endif // #ifndef _CREVOLUMEOBJECT_
|
||||
|
||||
@@ -54,4 +54,4 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -35,4 +35,4 @@ namespace AZ
|
||||
};
|
||||
|
||||
typedef AZ::EBus<HeightmapUpdateNotification> HeightmapUpdateNotificationBus;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,4 +83,4 @@ void LocalizationManagerRequests::LocalizeAndSubstitute(const AZStd::string& loc
|
||||
|
||||
outLocalizedString = locString;
|
||||
LocalizationManagerRequestBus::Broadcast(&LocalizationManagerRequestBus::Events::LocalizeAndSubstituteInternal, outLocalizedString, keys, values);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,4 +96,4 @@ public: // member functions
|
||||
virtual void OnCheckboxStateChange([[maybe_unused]] bool checked) {}
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiCheckboxNotifications> UiCheckboxNotificationBus;
|
||||
typedef AZ::EBus<UiCheckboxNotifications> UiCheckboxNotificationBus;
|
||||
|
||||
@@ -124,4 +124,4 @@ public: // member functions
|
||||
virtual void OnDropdownValueChanged([[maybe_unused]] AZ::EntityId option) {}
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiDropdownNotifications> UiDropdownNotificationBus;
|
||||
typedef AZ::EBus<UiDropdownNotifications> UiDropdownNotificationBus;
|
||||
|
||||
@@ -63,4 +63,4 @@ public: // member functions
|
||||
virtual void OnDropdownOptionSelected() {}
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiDropdownOptionNotifications> UiDropdownOptionNotificationBus;
|
||||
typedef AZ::EBus<UiDropdownOptionNotifications> UiDropdownOptionNotificationBus;
|
||||
|
||||
@@ -83,4 +83,4 @@ public: // member functions
|
||||
virtual void OnRadioButtonStateChange([[maybe_unused]] bool checked) {}
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiRadioButtonNotifications> UiRadioButtonNotificationBus;
|
||||
typedef AZ::EBus<UiRadioButtonNotifications> UiRadioButtonNotificationBus;
|
||||
|
||||
@@ -38,4 +38,4 @@ public: // static member data
|
||||
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiRadioButtonCommunicationInterface> UiRadioButtonCommunicationBus;
|
||||
typedef AZ::EBus<UiRadioButtonCommunicationInterface> UiRadioButtonCommunicationBus;
|
||||
|
||||
@@ -75,4 +75,4 @@ public: // member functions
|
||||
virtual void OnRadioButtonGroupStateChange([[maybe_unused]] AZ::EntityId checkedRadioButton) {}
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiRadioButtonGroupNotifications> UiRadioButtonGroupNotificationBus;
|
||||
typedef AZ::EBus<UiRadioButtonGroupNotifications> UiRadioButtonGroupNotificationBus;
|
||||
|
||||
@@ -44,4 +44,4 @@ public: // static member data
|
||||
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiRadioButtonGroupCommunicationInterface> UiRadioButtonGroupCommunicationBus;
|
||||
typedef AZ::EBus<UiRadioButtonGroupCommunicationInterface> UiRadioButtonGroupCommunicationBus;
|
||||
|
||||
@@ -107,4 +107,4 @@ public: // member functions
|
||||
virtual void OnSliderValueChanged([[maybe_unused]] float value) {}
|
||||
};
|
||||
|
||||
typedef AZ::EBus<UiSliderNotifications> UiSliderNotificationBus;
|
||||
typedef AZ::EBus<UiSliderNotifications> UiSliderNotificationBus;
|
||||
|
||||
@@ -57,4 +57,4 @@ namespace Maestro
|
||||
// defined in the bus header so we can refer to it in the Editor code
|
||||
#define EditorSequenceComponentTypeId "{C02DC0E2-D0F3-488B-B9EE-98E28077EC56}"
|
||||
|
||||
} // namespace Maestro
|
||||
} // namespace Maestro
|
||||
|
||||
@@ -97,4 +97,4 @@ namespace AZStd
|
||||
return retVal;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,4 +52,4 @@ enum class AnimNodeType
|
||||
Num
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_ANIMNODETYPE_H
|
||||
#endif // CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_ANIMNODETYPE_H
|
||||
|
||||
@@ -42,4 +42,4 @@ enum class AnimValue
|
||||
};
|
||||
|
||||
|
||||
#endif CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_ANIMVALUE_H
|
||||
#endif CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_ANIMVALUE_H
|
||||
|
||||
@@ -45,4 +45,4 @@ enum class AnimValueType
|
||||
};
|
||||
|
||||
|
||||
#endif // CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_ANIMVALUETYPE_H
|
||||
#endif // CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_ANIMVALUETYPE_H
|
||||
|
||||
@@ -35,4 +35,4 @@ struct IAssetBlendKey
|
||||
};
|
||||
|
||||
AZ_TYPE_INFO_SPECIALIZE(IAssetBlendKey, "{15B82C3A-6DB8-466F-AF7F-18298FCD25FD}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,4 +77,4 @@ namespace Maestro
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace Maestro
|
||||
} // namespace Maestro
|
||||
|
||||
@@ -25,4 +25,4 @@ enum class SequenceType
|
||||
SequenceComponent = 1 // Sequence Component on an AZ::Entity
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_SEQUENCETYPE_H
|
||||
#endif // CRYINCLUDE_CRYCOMMON_MAESTRO_TYPES_SEQUENCETYPE_H
|
||||
|
||||
@@ -110,4 +110,4 @@ private:
|
||||
CTimeValue m_frameStartTime;
|
||||
float m_frameTime;
|
||||
float m_frameRate;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,4 +12,4 @@
|
||||
set(FILES
|
||||
../../EngineSettingsBackendApple.cpp
|
||||
../../EngineSettingsBackendApple.h
|
||||
)
|
||||
)
|
||||
|
||||
+1
-1
@@ -12,4 +12,4 @@
|
||||
set(FILES
|
||||
../../EngineSettingsBackendWin32.cpp
|
||||
../../EngineSettingsBackendWin32.h
|
||||
)
|
||||
)
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
#
|
||||
|
||||
set(FILES
|
||||
)
|
||||
)
|
||||
|
||||
@@ -120,4 +120,4 @@ namespace AZ
|
||||
};
|
||||
|
||||
using RenderScreenshotNotificationBus = AZ::EBus<RenderScreenshotNotifications>;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,4 +83,4 @@ namespace AzRTT
|
||||
//! confirm if user wants to use texture size larger than MaxRecommendedRenderTargetSize
|
||||
bool ValidateTextureSize(void* newValue, const AZ::Uuid& valueType);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,4 +64,4 @@ namespace Serialization
|
||||
using Serialization::ForceFeedbackIdName;
|
||||
}
|
||||
}
|
||||
#endif // CRYINCLUDE_CRYCOMMON_SERIALIZATION_DECORATORS_RESOURCES_H
|
||||
#endif // CRYINCLUDE_CRYCOMMON_SERIALIZATION_DECORATORS_RESOURCES_H
|
||||
|
||||
@@ -24,4 +24,4 @@ namespace Serialization
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -44,4 +44,4 @@ namespace AZ
|
||||
};
|
||||
|
||||
using StereoRendererRequestBus = EBus < StereoRendererBus >;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,4 +85,4 @@ public:
|
||||
PodArray<T*> m_lstUsed;
|
||||
T* m_pPool;
|
||||
int m_nPoolSize;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -256,4 +256,4 @@ namespace AZ
|
||||
|
||||
}//namespace VR
|
||||
AZ_TYPE_INFO_SPECIALIZE(VR::ControllerIndex, "{90D4C80E-A1CC-4DBF-A131-0082C75835E8}");
|
||||
}//namespace AZ
|
||||
}//namespace AZ
|
||||
|
||||
@@ -24,4 +24,4 @@ set(FILES
|
||||
# Remove files that cause #define collisions on Mac due to multiple inclusions of 'AppleSpecific.h' and include orders
|
||||
set(SKIP_UNITY_BUILD_INCLUSION_FILES
|
||||
SettingsManagerHelpers.cpp
|
||||
)
|
||||
)
|
||||
|
||||
@@ -23,4 +23,4 @@ set(FILES
|
||||
Mocks/ITextureMock.h
|
||||
Mocks/IRemoteConsoleMock.h
|
||||
Mocks/MockCGFContent.h
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
EXPORTS
|
||||
ModuleInitISystem @2
|
||||
CryModuleGetMemoryInfo @8
|
||||
CryModuleGetMemoryInfo @8
|
||||
|
||||
@@ -185,6 +185,7 @@ string CCmdLine::Next(char*& src)
|
||||
return string(org, src - 1);
|
||||
|
||||
case ' ':
|
||||
ch = *src++;
|
||||
continue;
|
||||
default:
|
||||
org = src - 1;
|
||||
|
||||
@@ -464,4 +464,4 @@ static void printModel(const HuffmanTreeNode* const pNodes, const HuffmanSymbolC
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}*/
|
||||
|
||||
@@ -91,4 +91,4 @@ void CIOSConsole::PutText( int x, int y, const char * msg )
|
||||
void CIOSConsole::EndDraw() {
|
||||
// Do Nothing
|
||||
}
|
||||
#endif // IOS
|
||||
#endif // IOS
|
||||
|
||||
@@ -26,4 +26,4 @@ bool CLZ4Decompressor::DecompressData(const char* pIn, char* pOut, const uint ou
|
||||
void CLZ4Decompressor::Release()
|
||||
{
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -313,4 +313,4 @@ bool CMiniButton::SetConnectedCtrl(IMiniCtrl* pConnectedCtrl)
|
||||
return true;
|
||||
}
|
||||
|
||||
MINIGUI_END
|
||||
MINIGUI_END
|
||||
|
||||
@@ -171,4 +171,4 @@ void CMiniInfoBox::AutoResize()
|
||||
m_requiresResize = false;
|
||||
}
|
||||
|
||||
MINIGUI_END
|
||||
MINIGUI_END
|
||||
|
||||
@@ -361,4 +361,4 @@ void CMiniMenu::AddSubCtrl(IMiniCtrl* pCtrl)
|
||||
// Call parent
|
||||
CMiniButton::AddSubCtrl(pCtrl);
|
||||
}
|
||||
MINIGUI_END
|
||||
MINIGUI_END
|
||||
|
||||
@@ -182,4 +182,4 @@ void CRemoteConsole::RegisterListener(IRemoteConsoleListener* pListener, const c
|
||||
void CRemoteConsole::UnregisterListener(IRemoteConsoleListener* pListener)
|
||||
{
|
||||
m_listener.Remove(pListener);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,4 +284,4 @@ void CSampler::LogSampledData()
|
||||
}
|
||||
|
||||
|
||||
#endif // defined(WIN32)
|
||||
#endif // defined(WIN32)
|
||||
|
||||
@@ -1294,7 +1294,7 @@ bool CSystem::OpenRenderLibrary(int type, const SSystemInitParams& initParams)
|
||||
const char* libname = "";
|
||||
if (AZ::Interface<AzFramework::AtomActiveInterface>::Get())
|
||||
{
|
||||
libname = "CryRenderOther";
|
||||
libname = DLL_RENDERER_NULL;
|
||||
}
|
||||
else if (type == R_DX9_RENDERER)
|
||||
{
|
||||
|
||||
@@ -356,4 +356,4 @@ void DebugCamera::MovePosition(const Vec3& offset)
|
||||
m_position += m_view.GetColumn2() * offset.z;
|
||||
}
|
||||
|
||||
} // namespace LegacyViewSystem
|
||||
} // namespace LegacyViewSystem
|
||||
|
||||
@@ -80,4 +80,4 @@ inline bool DebugCamera::IsFree()
|
||||
return m_cameraMode == DebugCamera::ModeFree;
|
||||
}
|
||||
|
||||
} // namespace LegacyViewSystem
|
||||
} // namespace LegacyViewSystem
|
||||
|
||||
@@ -39,4 +39,4 @@ private:
|
||||
static void SphereTessR(Vec3& v0, Vec3& v1, Vec3& v2, int depth, t_arrDeferredMeshIndBuff& indBuff, t_arrDeferredMeshVertBuff& vertBuff);
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -90,4 +90,4 @@ namespace Render
|
||||
} // namespace Render
|
||||
|
||||
#endif // CRYINCLUDE_CRYENGINE_RENDERDLL_COMMON_MEMORY_VRAMDRILLERBUS_H
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
@@ -685,4 +685,4 @@ Matrix44& SPostEffectsUtils::GetColorMatrix()
|
||||
return m_pColorMat;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -309,4 +309,4 @@ private:
|
||||
static CTexture* m_UpscaleTarget;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_CRYENGINE_RENDERDLL_COMMON_POSTPROCESS_POSTPROCESSUTILS_H
|
||||
#endif // CRYINCLUDE_CRYENGINE_RENDERDLL_COMMON_POSTPROCESS_POSTPROCESSUTILS_H
|
||||
|
||||
@@ -71,4 +71,4 @@ void AbstractMeshElement::DrawMeshWireframe()
|
||||
gcpRendD3D->FX_DrawIndexedPrimitive(eptTriangleList, 0, 0, nVertexBufferCount, 0, nIndexBufferCount);
|
||||
|
||||
gcpRendD3D->FX_SetState(nState);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,4 +47,4 @@ void CREDeferredShading::mfReset()
|
||||
|
||||
void CREDeferredShading::mfActivate([[maybe_unused]] int iProcess)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,4 +240,4 @@ bool CREGeomCache::GetGeometryInfo(SGeometryInfo &streams)
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -47,4 +47,4 @@ void CREHDRProcess::mfReset()
|
||||
|
||||
void CREHDRProcess::mfActivate([[maybe_unused]] int iProcess)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,4 +58,4 @@ IOpticsElementBase* COpticsFactory::Create(EFlareType type) const
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,4 +74,4 @@ public:
|
||||
static OpticsPredef instance;
|
||||
return &instance;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -850,4 +850,4 @@ EPolygonInCircle2D PolygonInCircle2D(const Vec2& center, const float radius, con
|
||||
}
|
||||
|
||||
return state;
|
||||
}//-------------------------------------------------------------------------------------------------
|
||||
}//-------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -150,4 +150,4 @@ enum EPolygonInCircle2D
|
||||
|
||||
EPolygonInCircle2D PolygonInCircle2D(const Vec2& center, const float radius, const Vec2* pPolygon, const int numPts);
|
||||
|
||||
#endif // _POLYGON_MATH_2D_
|
||||
#endif // _POLYGON_MATH_2D_
|
||||
|
||||
@@ -285,4 +285,4 @@ void CSpatialHashGrid<T, GridSize, BucketSize>::DebugDraw()
|
||||
#endif // !RELEASE
|
||||
|
||||
#endif // GLASSCFG_USE_HASH_GRID
|
||||
#endif // _SPATIAL_HASH_GRID_
|
||||
#endif // _SPATIAL_HASH_GRID_
|
||||
|
||||
@@ -19,4 +19,4 @@ FX_STATIC_FLAG(GMEM_RT_GREATER_FOUR)
|
||||
FX_STATIC_FLAG(NO_DEPTH_CLIPPING)
|
||||
FX_STATIC_FLAG(FEATURE_FETCH_DEPTHSTENCIL)
|
||||
FX_STATIC_FLAG(GMEM_VELOCITY_BUFFER)
|
||||
FX_STATIC_FLAG(GLES3_0)
|
||||
FX_STATIC_FLAG(GLES3_0)
|
||||
|
||||
@@ -51,4 +51,4 @@ struct PerFrameParameters
|
||||
Vec4 m_VolumetricFogDistanceParams;
|
||||
};
|
||||
|
||||
#endif // _PER_FRAME_RESOURCE_GROUP_
|
||||
#endif // _PER_FRAME_RESOURCE_GROUP_
|
||||
|
||||
@@ -228,4 +228,4 @@ void CPowerOf2BlockPacker::FreeContainers()
|
||||
Clear();
|
||||
stl::free_container(m_Blocks);
|
||||
stl::free_container(m_BlockBitmap);
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user