Commit Graph

258 Commits

Author SHA1 Message Date
hultonha 40726a32dc Merge pull request #1898 from aws-lumberyard-dev/hultonha/gitflow_210706_o3de
stabilization2106 -> development merge (210706)
2021-07-07 16:08:06 +01:00
hultonha 51733f3809 Fix for rotation matching and resetting also scaling the entity transform (#1856)
* fix issue with rotation matching (ditto)

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fix for context menu appearing

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* minor tidy-up in EditorContextMenu

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add option to disable cursor during free-look

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* small fixes after PR comments

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-07-07 15:48:33 +01:00
hultonha 2ea9bfb144 merge stabilization/2106 into development
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-07-06 17:34:04 +01:00
amzn-sean 636ff587c3 Shape casts correctly report positions of colliders that intersect or in contact of the initial pose (#1848)
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
2021-07-05 18:06:20 +01:00
Tom Hulton-Harrop 45b83e49da Move camera properties from CVars to the Settings Registry (#1766)
* updates to camera inputs

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update test names to include types

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* move all camera input controls to the settings registry

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* small fixes before PR

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-07-05 13:08:05 +01:00
Chris Galvan 40f9761f86 Fixed more copyright header issues caused by script replacement
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 16:21:26 -05:00
Chris Galvan b9e06e70d9 Fixed copyright header issues per new validator
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 15:34:04 -05:00
Chris Galvan 04a00e6a54 Resolved latest merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 13:29:55 -05:00
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 12:42:44 -05:00
Tom Hulton-Harrop dafe9f6690 Add customization point for begin/end of camera behaviors (hide cursor with RMB look) (#1758)
* add customization points for begin/end of camera input to all cursor customization

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* remove cursor experiments, use cursor bus

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* run clang-format

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add additional unit tests for new camera behaviors

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update test name to use snake_case to increase readability

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-07-02 18:17:44 +01:00
srikappa 6b2c02e477 Merge branch 'stabilization/2106' into Prefab/DisableDestroyGameEntity
Signed-off-by: srikappa <srikappa@amazon.com>
2021-07-01 12:24:42 -07:00
srikappa bab4e5eaf3 Improved function comments
Signed-off-by: srikappa <srikappa@amazon.com>
2021-07-01 12:11:27 -07:00
greerdv 05a2ce4fe1 update based on PR feedback
Signed-off-by: greerdv <greerdv@amazon.com>
2021-07-01 13:35:57 +01:00
greerdv 88615f462c merge from stabilization/2106
Signed-off-by: greerdv <greerdv@amazon.com>
2021-07-01 11:30:16 +01:00
greerdv 899350b5c7 bring across lua raycast improvements from 1.x
Signed-off-by: greerdv <greerdv@amazon.com>
2021-07-01 11:24:10 +01:00
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00
srikappa c61e69d794 Add correct prefix for param tag
Signed-off-by: srikappa <srikappa@amazon.com>
2021-06-30 17:16:13 -07:00
srikappa cd3fad20b4 Disable support to destroy game entities through behavior context when prefabs are enabled
Signed-off-by: srikappa <srikappa@amazon.com>
2021-06-30 17:16:10 -07:00
Steve Pham 827855f01c Removal last CryTek references
- 'Crytek application' is now 'O3DE application' in ISystem.h
- 'CryTek' is now 'O3DE' in ProjectDefines.h (comment)
- 'Crytek Legacy' is now 'O3DE Legacy' in LocalizedStringManager.cpp
- 'Crytek extended data' references are now 'O3DE extended data'

Signed-off-by: spham <spham@amazon.com>
2021-06-30 12:48:16 -07:00
Gene Walters bafcdfe037 Merge pull request #1655 from aws-lumberyard-dev/genewalt/gitflow_210628
Merging Stabilization/2106 into Development
2021-06-30 11:07:30 -07:00
Tom Hulton-Harrop 8d35f31fa6 API documentation pass for CameraInput types (#1681)
* add api comments for new camera system

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-06-30 18:16:35 +01:00
Gene Walters f905b71844 Adding missing o3de copyright headers
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-06-29 13:48:45 -07:00
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 2021-06-28 19:09:20 -07:00
Terry Michaels 7a2a2dc0d7 Updated branding for application names (#1617) 2021-06-28 11:35:13 -05:00
amzn-mgwynn ce955715a8 Merge pull request #1543 from aws-lumberyard-dev/native-ui-changes
More specific component error messaging and modes for native UI to prevent blocking dialog in some applications
2021-06-25 19:18:03 -04:00
Vincent Liu 149cb2e2f2 Merge 'gameliftfeature' branch into 'development' branch (#1534) 2021-06-24 09:13:35 -07:00
mgwynn fb3940fa31 More specific component error messaging and modes for native UI to prevent blocking dialog in some applications 2021-06-23 21:05:17 -04:00
Steve Pham 70042fcdcd O3DE Copyright Updates for Linux Foundation (#1504) 2021-06-23 10:55:22 -07:00
Mike Balfour db92dffb14 Fix Vegetation Modifier behavior when in-game (#1441)
* Removed a bit of dead legacy code

* Fixed entity references during spawning
Entities that had references to other entities that hadn't been spawned yet weren't getting their IDs remapped correctly, since the new ID wasn't available yet.  By pre-generating the full set of IDs, the references now remap correctly.

* Fixed up Entity References to work across multiple SpawnEntities calls
With SpawnEntities, entity references need to forward-reference to the *first* entity spawned, then from that point on backwards-reference to the *last* entity spawned.  Added that logic, along with some initial unit tests for SpawnAllEntities.

* Added more unit tests for SpawnEntities / SpawnAllEntities
2021-06-22 15:20:28 -05:00
mbalfour df648db62e Merge branch 'stabilization/2106' into mbalfour/gitflow_210622
# Conflicts:
#	Code/Framework/AzQtComponents/AzQtComponents/Components/Style.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h
#	Gems/AWSCore/Code/Source/Editor/UI/AWSCoreEditorMenu.cpp
2021-06-22 12:55:18 -05:00
moudgils 4f84ec90d3 Various new metal fixes (#1465)
* - Fix the second window related tabbing issue
- Merge calls to UseResoources acrooaa all the SRGs
- Move SamplerCache to the device to ensure only one cache to reduce duplication
- Fixes to compute threading numbers getting reset to 0,0,0
- Cleanup withing BufferPoolResolver
- Argument buffers are now queued to be cleaned up upon shutdown
2021-06-22 08:58:15 -07:00
nvsickle e55580af57 Merge remote-tracking branch 'upstream/stabilization/2106' into nvsickle/MergeStabilizationJun18 2021-06-18 13:25:53 -07:00
amzn-sean 84de2d2e12 Fixed failing periodic physics tests (#1429) 2021-06-18 15:38:49 +01:00
amzn-sean b17c5ca3e6 adding physics tick time to post simulate event (#1401) 2021-06-18 14:09:34 +01:00
amzn-sean 9f62d631fb Physics joints updated to the new API (#1361)
Co-authored-by: Ulugbek Adilbekov <ulugbek@amazon.com>
2021-06-17 15:52:27 +01:00
mnaumov 9ca0e731f4 Merge remote-tracking branch 'upstream/stabilization/2106' into mnaumov/StabilizationJun15
# Conflicts:
#	Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp
2021-06-15 10:41:13 -07:00
Tom Hulton-Harrop 0f09a6d8bf Move new camera settings to the Settings Registry and connect them to viewport border elements (#1267)
* ensure the new camera respects changing ui values and move camera settings to the settings registry

* factor out creation of modular camera controller

* small updates before posting PR

* updates following review feedback

* updates following review feedback
2021-06-14 12:32:35 +01:00
carlitosan 43e157035e Merge pull request #1272 from aws-lumberyard-dev/carlito/stabilization/2106
Carlito/stabilization/2106  Fix for AP errors on graph, and Lua properties table fix
2021-06-11 13:51:08 -07:00
jackalbe 4818d1ce80 {LYN-4224} Fix for the file scan slowdown (#1252)
* {LYN-4224} Fix for the file scan slowdown (#1183)

* {LYN-4224} Fix for the file scan slowdown

* Fixed a slowdown in the file scanning logic
* Improved the file scanning logic from previous code by 40%

Tests:
Using Testing\Pytest\AutomatedTesting_BlastTest

old code:
=== 7 passed in 96.13s (0:01:36) ===

current code:
=== 7 passed in 160.45s (0:02:40) ====

newest code:
=== 7 passed in 52.91s ===

* fixing a unit test compile error

* unit test fixes

* another file improvement

* fix for legacy level loading taking too long

* making an enum for the search types

* switched the enum to "allow" types to make the input more clear

* got rid of orphaned const variables
2021-06-11 12:25:45 -05:00
chcurran a995aee35a Properties__Index and Properties__NewIndex upvalue counts no reflect removal of net binding component 2021-06-11 09:47:44 -07:00
hultonha 2d41a701af Merge branch 'stabilization/2106' into tomhh_stabilization-to-development 2021-06-11 09:43:11 +01:00
Steve Pham b2bafc44ab LYN-2705: Remove 'AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS' trait for Linux (#1235)
* Fix Delete_Real_Readonly_Fails to mark parent directory as read-only as well

Read-only files in Windows cannot be deleted. The previous version of this
code relied on that fact, and would attempt to delete a file even when
`skipReadOnly = true`, relying on the OS to refuse to delete the file if it
is read only. On Linux, it is the writable state of the *directory* that
determines if a file can be deleted or not. This fixes the test to set up
the correct situation where a file deletion would fail.

* Remove excluded items from a vector before iterating over it

Removing items from the `pathMatches` `QStringList` while iterating over it
was causing a segfault on Linux. This change separates out the item removal
from the item iteration, which allows the item iteration loop to use a
range-for loop instead of directly manipulating iterators.

* Remove invalid test that asserts a file's metadata file can have differing file casing

This test is asserting that a given source file and its accompanying
metadata file can have the the same name but differing case. This is really
testing whether or not the underlying filesystem that those files live on
is case sensitive or not. The 99% chance is that users are using the
default filesystem that their host OS gives them, NTFS on Windows, EXT* on
Linux, and APFS on Mac. Even though NTFS is case-insensitive by default,
it [can be configured per-directory](https://devblogs.microsoft.com/commandline/improved-per-directory-case-sensitivity-support-in-wsl/).
APFS as well can be configured to be case-sensitive. For users with case
sensitive filesystems, this test makes no sense. We could extend this test
to inspect the case-sensitivity of the underlying filesystem, but then it
is just testing the filesystem's behavior, which seems out of scope of this
test.

* Use a non-priviliged port for the Asset Processor tests

From https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html:

> The TCP/IP port numbers below 1024 are special in that normal users are not
> allowed to run servers on them. This is a security feaure, in that if you
> connect to a service on one of these ports you can be fairly sure that you
> have the real thing, and not a fake which some hacker has put up for you.
>
> When you run a server as a test from a non-priviliged account, you will
> normally test it on other ports, such as 2784, 5000, 8001 or 8080.

* Fix for `QDir::rmdir(".")` not working in Linux

Qt uses `::rmdir` to remove directories on Linux. This comes from
[unistd.h](https://pubs.opengroup.org/onlinepubs/007904875/functions/rmdir.html)
The documentation for that function states:

> If the path argument refers to a path whose final component is either dot
> or dot-dot, rmdir() shall fail.

So calling `dir.rmdir(".")` will never work on Linux.

Instead, get the parent directory, and remove the child directory by name.

* Avoid lowercasing source asset paths when resolving dependencies

Source asset paths may be case sensitive, so their case must be preserved
when doing operations that hit the underlying filesystem. This method was
always lowercasing them, which would cause dependencies to not be found.

* Correct test to expect product filenames to be lowercase

The modtime tests were failing in Linux due to something unrelated to file
modtime checking. The Asset Processor Manager does this during AnalyzeJob:

```
if (foundInDatabase && jobs[0].m_fingerprint == jobDetails.m_jobEntry.m_computedFingerprint)
{
    // If the fingerprint hasn't changed, we won't process it.. unless...is it missing a product.
```

In this case, the test was setting up a product whose file case was the
same as the source asset, and would write it to the cache dir using mixed
case, but use the normal asset processor API to write the product file path
to the database, which recorded the path in lowercase. When the manager
then went to check if the source asset's products all exist, it checked the
lowercase path, which didn't exist.

This fixes that test failure, by updating the test to write the product
file to the cache using the proper lowercased path.

* Update test to define a "not current platform" for Linux

This test was failing because it was setting some "not current platform"
variable to be set to "pc" on Linux, when
`AssetSystem::GetHostAssetPlatform()` is defined to:

```cpp
inline const char* GetHostAssetPlatform()
{
    return "mac";
    return "pc";
    // set this to pc because that's what bootstrap.cfg currently defines the platform to "pc", even on Linux
    return "pc";
    #error Unimplemented Host Asset Platform
}
```

The test would go on to assert that "pc" was simultaneously in a list and
not in the same list.

This fixes the test by updating the code to set the "not the current
platform" variable appropriately on Linux.

The expectations were also updated to improve the output on test failure.
Instead of this:
```
Value of: recogs["rend"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform)
  Actual: true
Expected: false
```

You now get this:
```
Value of: recogs["rend"].m_platformSpecs.keys()
Expected: (has 3 elements and there exists some permutation of elements such that:
 - element #0 is equal to pc, and
 - element #1 is equal to es3, and
 - element #2 is equal to server) and (doesn't contain any element that is equal to pc)
  Actual: { pc, server, es3 } (of type QList<QString>), whose element #0 matches
```

* Prevent windows supported path separators to be included in the test paths for UpdateToCorrectCase_ExistingFile_ReturnsTrue_CorrectsCase

* Fix failing linux unit test "PlatformConfigurationUnitTests.TestFailReadConfigFile_RegularScanfolder"
caused by static variable not being reset from a different test run when using AssetUtilities::ComputeProjectPath

* Fix AZ_RTTI declaration for RequestEscalateAsset Message

* Implement FileWatcher for Linux to fix AssetProcessorMessages.All test (RequestAssetStatus)

* Split AssetProcessorMessages into 2 tests, one with RequestAssetStatus/ResponseAssetStatus and one without
Add The RequestAssetStatus/ResponseAssetStatus as a sandbox test because it relies on FileWatcher thread and seems to be timing related

* Remove FileWatcher_win.cpp from the Linux specific folder for FileWatcher

* - Fix build error related to non-unity builds
- Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/UtilitiesUnitTest' caused by misplaced windows only EXPECT
- Remove test trait AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS for linux to expose remaining failed tests

* Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/RCcontrollerUnitTests' caused by misplaced windows only EXPECT

* - Fix FileWatcher unit test, disable incompatible subtests for Linux
- Fix errors in FileWatcher_linux from results of the FileWatcher Unit Test

* Remove AZ::AssetProcessor.Tests.Sandbox tests from definition and restore the original AssetProcessorMessages.All tests now that Filewatcher_linux was fixed

* Fixes for failed unit tests: AssetProcessorManagerUnitTests and AssetProcessorManagerUnitTests_JobDependencies_Fingerprint
- Caused by differences between between case-sensitive files (Linux) and non-case-sensitive Filesystems (Windows)

* Update consts in FileWatcher_linux.cpp to constexpr

* Fixes related to PR comment suggestions

* - Removed std::bind and replaced with lambda in FileWatcher_linux
- Replaced String replace functions for path separators to use AZ::IO::Path::LexicallyNormal() instead

* Restoring string replace function in PathDependencyManager::ResolveDependencies due to unit test failure

Co-authored-by: Chris Burel <burelc@amazon.com>
2021-06-10 11:04:18 -07:00
jackalbe fedc85f51f {LYN-4224} Fix for the file scan slowdown (#1183)
* {LYN-4224} Fix for the file scan slowdown

* Fixed a slowdown in the file scanning logic
* Improved the file scanning logic from previous code by 40%

Tests:
Using Testing\Pytest\AutomatedTesting_BlastTest

old code:
=== 7 passed in 96.13s (0:01:36) ===

current code:
=== 7 passed in 160.45s (0:02:40) ====

newest code:
=== 7 passed in 52.91s ===

* fixing a unit test compile error

* unit test fixes

* another file improvement

* fix for legacy level loading taking too long

* making an enum for the search types

* switched the enum to "allow" types to make the input more clear
2021-06-10 10:58:37 -05:00
Aaron Ruiz Mora 7a053d82e1 UX Workflow improvements for Physics Materials (#1237)
- Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings.
- Added button Material Selection to open the physics material library in Asset Editor.
- Default Material in PhysX configuration is read only and consistent with the text in combo boxes.
- Material configuration field "Surface Type" renamed to "Name"
- Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library.
- Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library.
- Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl.
- Updated physx configuration setreg files of AutomatedTesting project.
2021-06-10 16:36:38 +01:00
Aaron Ruiz Mora 9d41954d0e Added configurable physics materials per asset in PhysX group in FBX Settings. (#1186)
- Added back the' Physics Materials from Asset' tick in the collider components.
- Made physics materials names case insensitive.
- Refactored how to gather material information from fbx and used the same code for exporter and physx groups.
2021-06-10 12:22:16 +01:00
AMZN-koppersr 4ad0560d06 Removed AddOn(De)SpawnedHandler from Spawnable Entities Interface
The calls AddOnSpawnedHandler and AddOnDespawnedHandler were removed from the SpawnableEntitiesInterface. These functions will eventually be called from multiple threads and AZ::Event currently doesn't have a thread-safe version to support this. There's also a performance concern as these callbacks are called for each individual (de)spawn requests which can lead to multiple handlers being called without information that's relevant to the callback. It would be better to batch up all (de)spawn requests per ProcessQueue call and only have a single event do a single signal. Since both events are currently not being used they have been removed for now, but can be introduced -with the previously mentioned concerns in mind- when needed.
2021-06-09 14:22:40 -07:00
AMZN-puvvadar 5bdf9e3c6d Merge pull request #1175 from aws-lumberyard-dev/mp_session_integ
Integrating AzFramework Session hooks to Multiplayer
2021-06-09 10:39:31 -07:00
puvvadar fa55b495c4 Add handling for session provider ticket 2021-06-08 13:36:27 -07:00
amzn-sean 47e5c72f2e fixed missing methods in SC from Trigger and Collision events (#1185) 2021-06-08 18:20:34 +01:00
puvvadar 6f4c0c2ce8 Rename interfaces for clarity 2021-06-07 17:12:29 -07:00