Commit Graph

385 Commits

Author SHA1 Message Date
lumberyard-employee-dm f3e9e41f4f Adding partial implementation of C++20 concepts and range functions for AZStd::span (#7102)
* Adding partial implementation of C++20 concepts and range functions for AZStd::span

The new concepts to discovered existing issues with the PathIterator and deque::iterator classes
PathIterator wasn't properly an input_iterator and therefore the Path classes weren't a range due to an incorrect const_iterator alias
The deque::iterator classes was missing the operator+ friend function that accepted a (ptrdiff_t, deque::iterator) to fulfill the random_access_iterator concepts

The AZStd implementations of (uninitialized_)copy(_n), (uninitialized_)move(_n) and (uninitialized_)file(_n) have been optimized to use memcpy and memset based on fulfilling the contiguous_iterator concept

Fixed invalid AZStd::vector inserts in FrameGraphExecuter.cpp and SliceditorEntityOwnershipService.cpp
The code was trying to copy the underlying addresses for vector<unique_ptr> to a vector<raw pointer> using insert, which it was doing by using memcpy.

relates to #6749

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed the `fixed_vector` emplace function to not move initialized
elements using uninitialized_move.

This was causing initialized elements of the fixed_vector to be
overwritten with the element at the emplace position.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed clang warnings about variables that are set, but never read

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the `az_has_builtin_is_constant_evaluated` define to not have
"()" as is not a macro.

This helps prevent users from using `az_has_builtin_is_constant_evaluated`
define in a situation where they want to know if the function is being
evaluated in a compile time context.
In that case they need to use the `az_builtin_is_constant_evaluated()`
macro (which of course looks quite similiar) but does not have the word
"has" in it..

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AZStd span class to be C++20 compliant.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Changed phrase "DoesNotCompiles" to be more grammatically correct.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added more unit test for AZStd span

Fixed an the the return type of the subspan template overload to account
for the source span having a dynamic extent.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed unused variable from span unit test.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-24 17:09:08 -06:00
Chris Galvan a2d925c311 Merge pull request #6719 from tjmgd/bug-model-crash-92
Model drag causes crash
2022-01-24 16:03:07 -06:00
Chris Galvan 8d0dce2613 Merge pull request #7101 from siretty/fix_build_linux_clang_13
Fix Build on Linux with Clang 13 with Debug, Profile and Release Configuration
2022-01-24 12:24:33 -06:00
Chris Galvan 71640c1c82 Merge pull request #6376 from nemerle/compiletime_filerequest_code2
Compile time reduction - FileRequest & related changes
2022-01-24 11:43:27 -06:00
Daniel Edwards 0a5f472f43 Clang 13: Fix build errors ...
... due to local variables only being written to (but never read).

Signed-off-by: Daniel Edwards <dev@danieledwards.de>
2022-01-23 22:29:03 +01:00
AMZN-byrcolin c778606c89 Templates restricted (#6498)
* Templates/Restricted upgrade/fixes:
Fixed template storage format: templates now only store true relative paths and no longer save "origin" paths and "optional" has been removed, it was never used.
Upgraded all templates to new standard
Template system now correctly handles child objects: Child objects no longer have to specify restricted they inherit from parent
Restricted now operates at the object level and makes no assumptions about parent
Restricted templates can now be combined and seperated on creation
ly_get_list_relative_filename has been deprecated for o3de_pal_dir
All Gems/Projects/Templates updated to use new code

Signed-off-by: byrcolin <byrcolin@amazon.com>
2022-01-14 10:27:20 -08:00
Andre Mitchell ff0df4b8b6 Update behavior reflection of EMotionFX's MotionEvent to use nullptr instead of empty lambdas. (#6617)
Signed-off-by: Andre Mitchell <andre.mitchell@bytesofpi.com>
2022-01-13 09:36:19 +01:00
Chris Galvan f2f4eab92e Merge pull request #6660 from tjmgd/bug-righthand-bones-81
Right hand bones misplaced
2022-01-12 13:45:23 -06:00
Chris Galvan 88d93c7d4c Merge pull request #6654 from tjmgd/bug-ragdoll-77
Ragdoll saving issue
2022-01-12 13:45:02 -06:00
tjmgd f51c845cbb Fix: AnimAudioComponentRequestBus canvas script function failure (#6658)
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>

Co-authored-by: Tobias Alexander Franke <tobias.alexander.franke@huawei.com>
2022-01-12 14:42:12 +01:00
tjmgd acec79fe2e Node name change cursor missing (#6721)
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2022-01-12 12:57:54 +01:00
T.J. McGrath-Daly f194841176 Merge branch 'development' into bug-ragdoll-77 2022-01-11 12:51:46 +00:00
T.J. McGrath-Daly e952e23824 Merge branch 'development' into bug-righthand-bones-81 2022-01-11 12:41:04 +00:00
lumberyard-employee-dm 098005afbc AZStd::basic_string improvements (#6438)
* AZStd::basic_string improvements

The AZStd::basic_string class has a better implementation of the Short
String Optimization, which increases the amount of characters that can
be stored in a `basic_string<char>` from 15 characters to 22
characters(not-including null-terminating characters). For a
`basic_string<wchar_t>` on Windows the amount of characters that can be
stored increases from 7 to 10. Using `basic_string<wchar_t>` on Unix
platforms SSO character amount from 3 to 4 characters.

An additional benefit is that the size of the AZStd::basic_string class
has been reduced from 40 bytes to 32 bytes when using the
AZStd::allocator.
When using a stateless allocator with no non static data members such as
AZStd::stateless_allocator, the size of the AZStd::basic_string is 24
bytes.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Corrected comments and updated type alias to usings for AZStd::basic_string

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added Benchmarks for the basic_string and basic_fixed_string class

The benchmarks currently measure the speed of the `assign` overloads.
A benchmark has also been added to compare the speed swapping two
`basic_string` instances by 3 memcpy vs 3 pointer swap operations

Speed up string operation when in the iterator overload cases of the
`assign`, `append`, `insert` and `replace` function.
The code was always performing the logic to copy over a string that is
overlapping, without actually checking if the string was overlapping in
the first place.

Added an `az_builtin_is_constant_evaluated` macro that allows use of the
C++20 `std::is_constant_evaluated` feature to determine if an operation
is being performed at compile time vs run time.

That macro is being used to speed up the char_trait operations at run
time, by using the faster standard library functions.
For example char_traits::move now uses "memmove" at runtime, instead of
a for loop.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Simplified string logic in AWSMetricsServiceApiTest.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-10 10:03:31 -06:00
nemerle f1f81c3789 Merge remote-tracking branch 'upstream/development' into compiletime_filerequest_code2 2022-01-08 21:25:48 +01:00
T.J. McGrath-Daly 7af3bef84c Model drag causes crash
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2022-01-06 10:01:15 +00:00
Roman 55fb63da48 Debug render aabb now include node, mesh and static aabb. (#6685)
Signed-off-by: rhhong <rhhong@amazon.com>
2022-01-05 12:54:41 -08:00
tjmgd 4695d36ea5 Fix: Blend node applies both poses at value 1 (#6292)
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>

Co-authored-by: Tobias Alexander Franke <tobias.alexander.franke@huawei.com>
2022-01-05 09:54:34 +01:00
Benjamin Jillich 40ca1dcbf9 EMotion FX: Extendable pose data and pose debug visualization (#6639)
* Added debug draw function to the pose class for sharable and easy-to-use pose debug visualization that includes pose data debug rendering.
* Extended the pose data factory with the ability to add pose data types from outside of the EMFX SDK and external gems.
* In order to get access to the pose data factory, it got added to the EMFX manager.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-01-05 09:10:12 +01:00
Chris Galvan 6e2ccbc055 Merge pull request #6437 from pollend/chore/update-SafeNormalize-usage-EmotionFX
chore[EmotionFX]: replace usage of SafeNormalize
2022-01-04 09:57:31 -06:00
Tobias Alexander Franke e4880cf9a1 Fix: Right hand bones misplaced
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2022-01-04 13:44:38 +00:00
Tobias Alexander Franke c7d72bc6b6 Ragdoll saving issue
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2022-01-04 13:13:37 +00:00
Benjamin Jillich 95245e2424 EMotion FX: Linear and angular velocity calculation and debug visualization helpers (#6613)
* Added helper functions for calculating linear and angular velocities.
* Added debug visualization helper for linear and angular velocities.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-01-04 09:13:14 +01:00
Chris Galvan ece56055bf Merge pull request #6290 from tjmgd/bug-lod-disable-38
Parameters of LOD distance component still take effect when anim graph disabled
2022-01-03 13:40:53 -06:00
Roman ee554f6464 ActorInstanceId default to -1 when no %lastresult matches (#6442)
* small bugfix

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

* ActorInstanceId default to -1 when no %lastresult matches

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

* CR feedback - wrap function to get the first available editor actor instance.

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

* Remove mcore inline

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

* Fixed the bug that delete an instance from actor manager crashes the editor.

Signed-off-by: rhhong <rhhong@amazon.com>
2022-01-03 09:25:41 -08:00
tjmgd 457007e037 Negative distances invalid (#6288)
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>

Co-authored-by: Tobias Alexander Franke <tobias.alexander.franke@huawei.com>
2021-12-22 11:51:11 -08:00
Nemerle d8e06d9d95 Apply reviewer suggestions
Signed-off-by: Nemerle <nemerle5+git@gmail.com>
2021-12-17 16:02:33 +01:00
Chris Burel f52d49834a [EMotionFX] Prefer #pragma once (#6435)
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-12-16 13:42:38 -08:00
Michael Pollind 68c756b6f4 mark duplicate methods under MCore::Vector as deprecated
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-15 17:02:50 -08:00
Michael Pollind 411674e8fc chore[EmotionFX]: replace usage of SafeNormalize
ref: https://github.com/o3de/o3de/pull/6433
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-15 16:53:24 -08:00
tjmgd cf9385fc39 Garbled name when using Chinese charaters (#6379)
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2021-12-15 17:42:14 -06:00
nemerle 5ff65be314 This reduces non-unity build time by ~2% and build size by ~0.5%.
This PR is a 'clean' version of #6199 updated to latest development

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-12-12 23:48:47 +01:00
Artur K 53b88d4752 Preapre codebase for FileRequest compiletime improvements (#6192)
* Preapre codebase for FileRequest compiletime improvements

This is preparing grounds for the next PR that will contain the 'meat'
of the changes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Remove spurious newline.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-12-10 13:08:24 +00:00
Tobias Alexander Franke ce0c62268a Parameters of the Simple LOD distance component still take effect after Enable anim graph is disabled.
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2021-12-09 15:08:34 +00:00
Luis Sempé 3c624b6d96 Merge pull request #5935 from tjmgd/bug-render-anim-h
Fix for animation window render options not being persistent
2021-12-02 08:12:18 -08:00
Luis Sempé e146299a83 Merge pull request #5911 from tjmgd/bug-motion-set-removal-h
Bug motion set removal h
2021-12-02 08:10:56 -08:00
greerdv dbba71fe3a merge from development
Signed-off-by: greerdv <greerdv@amazon.com>
2021-12-02 09:55:37 +00:00
greerdv a44270e4df improvement suggested during PR
Signed-off-by: greerdv <greerdv@amazon.com>
2021-11-30 19:33:39 +00:00
Esteban Papp 7c30adb66c Removes _vs2019 from jenkins jobs and documentation (#5855)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-11-30 11:10:02 -08:00
greerdv bb5c2ac462 fix alignment of autosized ragdoll colliders
Signed-off-by: greerdv <greerdv@amazon.com>
2021-11-30 15:52:34 +00:00
Benjamin Jillich 21cae1603a EMotion FX: Added helper to sample a pose from a motion without an motion instance (#6005)
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-11-30 11:25:25 +01:00
Benjamin Jillich abf3e69b97 EMotion FX: Saving Anim Graph with CTRL+S displays unsaved changes prompt when no changes were made (#5936)
Saving an anim graph did not adjust the dirty flag and thus the saved changes dialog kept showing anim graphs that already saved the latest changes.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-11-30 11:25:05 +01:00
Roman c59f973900 Add joint selection visual support (#5860)
* Render joint orientation

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

* joint selection will affect rendering result in emfx atom debug draw

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

* Render line skeleton with joint selection

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

* bug fix

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

* fix build error

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

* CR feedback - checking the actor instances for joint selection

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-29 08:39:43 -08:00
T.J. McGrath-Daly f49a699ab4 Fix for animation window render options not being persistent
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2021-11-26 11:21:40 +00:00
T.J. McGrath-Daly dfa6f77075 Fix for bug where, when removing a motion that is used by more than one motion set.
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
2021-11-26 11:21:04 +00:00
Artur K eca2e36687 Fix clang 13 compilation problems (#5791)
* Fix clang 13 compilation problems

Re-instated ShowPlayedSequencesDebug logic by introducing no-op lambda
which replaces missing `Draw2dLabel` functionality ( added TODO marker
there )

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* apply review suggestions

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix type in assert message

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-11-25 09:24:39 +00:00
Benjamin Jillich 2fbb2a73c6 Animation Editor: Morph targets window shows duplicated morph targets (#5831)
Dialog stack wasn't deleting the morph target widgets after reinitializing the window which ended up in duplicated morph targets

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-11-23 08:55:53 +01:00
Roman a3a4038aca Added joint orientation rendering (#5821)
* Render joint orientation

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

* fix build error

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

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-22 11:38:35 -08:00
moraaar 5145fceedc Fix some compilation errors due to warnings of potentially returning unitialized variables. (#5796)
Signed-off-by: moraaar <moraaar@amazon.com>
2021-11-22 09:57:42 +00:00
Benjamin Jillich 9e076db1fe [EMotion FX] In-place option isn't working correctly (#5743)
The in-place option for the simple motion component, the motion anim graph node as well as in the motion window were not working in case the motion extraction node was not the root joint. The convention is to keep the motion extraction joint the root joint to make it work correctly - the isolated issue can be solved by only evaluating the motion extraction joint animation in case in-place is disabled and replace the is root joint check with one that checks if we are actually dealing with the motion extraction joint.

Resolves #5636

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-11-19 14:48:10 +01:00