Merge branch 'development' into cmake/win_fix_wnew
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> # Conflicts: # Code/Legacy/CryCommon/Cry_Camera.h # Code/Legacy/CryCommon/IShader.h
This commit is contained in:
@@ -12,29 +12,29 @@ namespace AZ
|
||||
{
|
||||
namespace Simd
|
||||
{
|
||||
static AZ_ALIGN(constexpr float g_sinCoef1[4], 16) = { -0.0001950727f, -0.0001950727f, -0.0001950727f, -0.0001950727f };
|
||||
static AZ_ALIGN(constexpr float g_sinCoef2[4], 16) = { 0.0083320758f, 0.0083320758f, 0.0083320758f, 0.0083320758f };
|
||||
static AZ_ALIGN(constexpr float g_sinCoef3[4], 16) = { -0.1666665247f, -0.1666665247f, -0.1666665247f, -0.1666665247f };
|
||||
static AZ_ALIGN(constexpr float g_cosCoef1[4], 16) = { -0.0013602249f, -0.0013602249f, -0.0013602249f, -0.0013602249f };
|
||||
static AZ_ALIGN(constexpr float g_cosCoef2[4], 16) = { 0.0416566950f, 0.0416566950f, 0.0416566950f, 0.0416566950f };
|
||||
static AZ_ALIGN(constexpr float g_cosCoef3[4], 16) = { -0.4999990225f, -0.4999990225f, -0.4999990225f, -0.4999990225f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef1[4], 16) = { -0.0012624911f, -0.0012624911f, -0.0012624911f, -0.0012624911f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef2[4], 16) = { 0.0066700901f, 0.0066700901f, 0.0066700901f, 0.0066700901f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef3[4], 16) = { -0.0170881256f, -0.0170881256f, -0.0170881256f, -0.0170881256f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef4[4], 16) = { 0.0308918810f, 0.0308918810f, 0.0308918810f, 0.0308918810f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef1[4], 16) = { -0.0501743046f, -0.0501743046f, -0.0501743046f, -0.0501743046f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef2[4], 16) = { 0.0889789874f, 0.0889789874f, 0.0889789874f, 0.0889789874f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef3[4], 16) = { -0.2145988016f, -0.2145988016f, -0.2145988016f, -0.2145988016f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef4[4], 16) = { 1.5707963050f, 1.5707963050f, 1.5707963050f, 1.5707963050f };
|
||||
static AZ_ALIGN(constexpr float g_acosCoef1[4], 16) = { -0.0200752200f, -0.0200752200f, -0.0200752200f, -0.0200752200f };
|
||||
static AZ_ALIGN(constexpr float g_acosCoef2[4], 16) = { 0.0759031500f, 0.0759031500f, 0.0759031500f, 0.0759031500f };
|
||||
static AZ_ALIGN(constexpr float g_acosCoef3[4], 16) = { -0.2126757000f, -0.2126757000f, -0.2126757000f, -0.2126757000f };
|
||||
static AZ_ALIGN(constexpr float g_atanHiRange[4], 16) = { 2.4142135624f, 2.4142135624f, 2.4142135624f, 2.4142135624f };
|
||||
static AZ_ALIGN(constexpr float g_atanLoRange[4], 16) = { 0.4142135624f, 0.4142135624f, 0.4142135624f, 0.4142135624f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef1[4], 16) = { 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef2[4], 16) = { -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef3[4], 16) = { 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef4[4], 16) = { -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f };
|
||||
alignas(16) static constexpr float g_sinCoef1[4] = { -0.0001950727f, -0.0001950727f, -0.0001950727f, -0.0001950727f };
|
||||
alignas(16) static constexpr float g_sinCoef2[4] = { 0.0083320758f, 0.0083320758f, 0.0083320758f, 0.0083320758f };
|
||||
alignas(16) static constexpr float g_sinCoef3[4] = { -0.1666665247f, -0.1666665247f, -0.1666665247f, -0.1666665247f };
|
||||
alignas(16) static constexpr float g_cosCoef1[4] = { -0.0013602249f, -0.0013602249f, -0.0013602249f, -0.0013602249f };
|
||||
alignas(16) static constexpr float g_cosCoef2[4] = { 0.0416566950f, 0.0416566950f, 0.0416566950f, 0.0416566950f };
|
||||
alignas(16) static constexpr float g_cosCoef3[4] = { -0.4999990225f, -0.4999990225f, -0.4999990225f, -0.4999990225f };
|
||||
alignas(16) static constexpr float g_acosHiCoef1[4] = { -0.0012624911f, -0.0012624911f, -0.0012624911f, -0.0012624911f };
|
||||
alignas(16) static constexpr float g_acosHiCoef2[4] = { 0.0066700901f, 0.0066700901f, 0.0066700901f, 0.0066700901f };
|
||||
alignas(16) static constexpr float g_acosHiCoef3[4] = { -0.0170881256f, -0.0170881256f, -0.0170881256f, -0.0170881256f };
|
||||
alignas(16) static constexpr float g_acosHiCoef4[4] = { 0.0308918810f, 0.0308918810f, 0.0308918810f, 0.0308918810f };
|
||||
alignas(16) static constexpr float g_acosLoCoef1[4] = { -0.0501743046f, -0.0501743046f, -0.0501743046f, -0.0501743046f };
|
||||
alignas(16) static constexpr float g_acosLoCoef2[4] = { 0.0889789874f, 0.0889789874f, 0.0889789874f, 0.0889789874f };
|
||||
alignas(16) static constexpr float g_acosLoCoef3[4] = { -0.2145988016f, -0.2145988016f, -0.2145988016f, -0.2145988016f };
|
||||
alignas(16) static constexpr float g_acosLoCoef4[4] = { 1.5707963050f, 1.5707963050f, 1.5707963050f, 1.5707963050f };
|
||||
alignas(16) static constexpr float g_acosCoef1[4] = { -0.0200752200f, -0.0200752200f, -0.0200752200f, -0.0200752200f };
|
||||
alignas(16) static constexpr float g_acosCoef2[4] = { 0.0759031500f, 0.0759031500f, 0.0759031500f, 0.0759031500f };
|
||||
alignas(16) static constexpr float g_acosCoef3[4] = { -0.2126757000f, -0.2126757000f, -0.2126757000f, -0.2126757000f };
|
||||
alignas(16) static constexpr float g_atanHiRange[4] = { 2.4142135624f, 2.4142135624f, 2.4142135624f, 2.4142135624f };
|
||||
alignas(16) static constexpr float g_atanLoRange[4] = { 0.4142135624f, 0.4142135624f, 0.4142135624f, 0.4142135624f };
|
||||
alignas(16) static constexpr float g_atanCoef1[4] = { 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f };
|
||||
alignas(16) static constexpr float g_atanCoef2[4] = { -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f };
|
||||
alignas(16) static constexpr float g_atanCoef3[4] = { 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f };
|
||||
alignas(16) static constexpr float g_atanCoef4[4] = { -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f };
|
||||
|
||||
namespace Common
|
||||
{
|
||||
|
||||
@@ -24,24 +24,24 @@ namespace AZ
|
||||
{
|
||||
namespace Simd
|
||||
{
|
||||
static AZ_ALIGN(constexpr float g_vec1111[4], 16) = { 1.0f, 1.0f, 1.0f, 1.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec1000[4], 16) = { 1.0f, 0.0f, 0.0f, 0.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec0100[4], 16) = { 0.0f, 1.0f, 0.0f, 0.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec0010[4], 16) = { 0.0f, 0.0f, 1.0f, 0.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec0001[4], 16) = { 0.0f, 0.0f, 0.0f, 1.0f };
|
||||
static AZ_ALIGN(constexpr float g_Pi[4], 16) = { Constants::Pi, Constants::Pi, Constants::Pi, Constants::Pi };
|
||||
static AZ_ALIGN(constexpr float g_TwoPi[4], 16) = { Constants::TwoPi, Constants::TwoPi, Constants::TwoPi, Constants::TwoPi };
|
||||
static AZ_ALIGN(constexpr float g_HalfPi[4], 16) = { Constants::HalfPi, Constants::HalfPi, Constants::HalfPi, Constants::HalfPi };
|
||||
static AZ_ALIGN(constexpr float g_QuarterPi[4], 16) = { Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi };
|
||||
static AZ_ALIGN(constexpr float g_TwoOverPi[4], 16) = { Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi };
|
||||
static AZ_ALIGN(constexpr int32_t g_absMask[4], 16) = { (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateMask[4], 16) = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateXMask[4], 16) = { (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateYMask[4], 16) = { (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateZMask[4], 16) = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateWMask[4], 16) = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateXYZMask[4], 16) = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_wMask[4], 16) = { (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr float g_vec1111[4] = { 1.0f, 1.0f, 1.0f, 1.0f };
|
||||
alignas(16) static constexpr float g_vec1000[4] = { 1.0f, 0.0f, 0.0f, 0.0f };
|
||||
alignas(16) static constexpr float g_vec0100[4] = { 0.0f, 1.0f, 0.0f, 0.0f };
|
||||
alignas(16) static constexpr float g_vec0010[4] = { 0.0f, 0.0f, 1.0f, 0.0f };
|
||||
alignas(16) static constexpr float g_vec0001[4] = { 0.0f, 0.0f, 0.0f, 1.0f };
|
||||
alignas(16) static constexpr float g_Pi[4] = { Constants::Pi, Constants::Pi, Constants::Pi, Constants::Pi };
|
||||
alignas(16) static constexpr float g_TwoPi[4] = { Constants::TwoPi, Constants::TwoPi, Constants::TwoPi, Constants::TwoPi };
|
||||
alignas(16) static constexpr float g_HalfPi[4] = { Constants::HalfPi, Constants::HalfPi, Constants::HalfPi, Constants::HalfPi };
|
||||
alignas(16) static constexpr float g_QuarterPi[4] = { Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi };
|
||||
alignas(16) static constexpr float g_TwoOverPi[4] = { Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi };
|
||||
alignas(16) static constexpr int32_t g_absMask[4] = { (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff };
|
||||
alignas(16) static constexpr int32_t g_negateMask[4] = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000 };
|
||||
alignas(16) static constexpr int32_t g_negateXMask[4] = { (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_negateYMask[4] = { (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_negateZMask[4] = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_negateWMask[4] = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000 };
|
||||
alignas(16) static constexpr int32_t g_negateXYZMask[4] = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_wMask[4] = { (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0x00000000 };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ namespace AZ
|
||||
}
|
||||
|
||||
// or _m128i and VMX ???
|
||||
AZ_ALIGN(unsigned char data[16], 16);
|
||||
alignas(16) unsigned char data[16];
|
||||
};
|
||||
} // namespace AZ
|
||||
|
||||
|
||||
@@ -88,15 +88,6 @@
|
||||
|
||||
# define AZ_FORCE_INLINE __forceinline
|
||||
|
||||
/// Aligns a declaration.
|
||||
# define AZ_ALIGN(_decl, _alignment) \
|
||||
AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \
|
||||
__declspec(align(_alignment)) \
|
||||
_decl \
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
/// Return the alignment of a type. This if for internal use only (use AZStd::alignment_of<>())
|
||||
# define AZ_INTERNAL_ALIGNMENT_OF(_type) __alignof(_type)
|
||||
/// Pointer will be aliased.
|
||||
# define AZ_MAY_ALIAS
|
||||
/// Function signature macro
|
||||
@@ -120,15 +111,7 @@
|
||||
#define AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
# define AZ_FORCE_INLINE inline
|
||||
/// Aligns a declaration.
|
||||
# define AZ_ALIGN(_decl, _alignment) \
|
||||
AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \
|
||||
_decl \
|
||||
__attribute__((aligned(_alignment)))
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
/// Return the alignment of a type. This if for internal use only (use AZStd::alignment_of<>())
|
||||
# define AZ_INTERNAL_ALIGNMENT_OF(_type) __alignof__(_type)
|
||||
/// Pointer will be aliased.
|
||||
# define AZ_MAY_ALIAS __attribute__((__may_alias__))
|
||||
/// Function signature macro
|
||||
|
||||
@@ -162,7 +162,7 @@ namespace UnitTest
|
||||
struct CreationCounter
|
||||
{
|
||||
AZ_TYPE_INFO(CreationCounter, "{E9E35486-4366-4066-86E5-1A8CEB44198B}");
|
||||
AZ_ALIGN(int test[size / sizeof(int)], alignment);
|
||||
alignas(alignment) int test[size / sizeof(int)];
|
||||
|
||||
static int s_count;
|
||||
static int s_copied;
|
||||
|
||||
@@ -384,7 +384,7 @@ namespace AZStd
|
||||
*/
|
||||
union
|
||||
{
|
||||
AZ_ALIGN(char m_buffer[Internal::ANY_SBO_BUF_SIZE], 32); // Used for objects smaller than SBO_BUF_SIZE
|
||||
alignas(32) char m_buffer[Internal::ANY_SBO_BUF_SIZE]; // Used for objects smaller than SBO_BUF_SIZE
|
||||
void* m_pointer; // Pointer to large objects
|
||||
};
|
||||
type_info m_typeInfo;
|
||||
|
||||
@@ -164,7 +164,7 @@ namespace AZStd
|
||||
//enough.
|
||||
struct Node
|
||||
{
|
||||
AZ_ALIGN(T m_value, 64); //alignment to avoid cache line sharing
|
||||
alignas(64) T m_value; //alignment to avoid cache line sharing
|
||||
thread::id m_threadId;
|
||||
Node* m_next;
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace AZStd
|
||||
template<typename T>
|
||||
struct lock_free_stamped_node_ptr
|
||||
{
|
||||
AZ_ALIGN(struct lock_free_stamped_queue_node<T>* m_node, 8);
|
||||
alignas(8) struct lock_free_stamped_queue_node<T>* m_node;
|
||||
unsigned int m_stamp;
|
||||
};
|
||||
|
||||
|
||||
@@ -1073,7 +1073,7 @@ cleanup:
|
||||
}
|
||||
|
||||
HANDLE hThread = nativeThread;
|
||||
AZ_ALIGN(CONTEXT context, 8); // Without this alignment the function randomly crashes in release.
|
||||
CONTEXT alignas(8) context; // Without this alignment the function randomly crashes in release.
|
||||
context.ContextFlags = CONTEXT_ALL;
|
||||
GetThreadContext(hThread, &context);
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace UnitTestInternal
|
||||
}
|
||||
|
||||
// We use this class on the stack often, so alignment more than 16 bytes will not work on all platforms.
|
||||
AZ_ALIGN(int m_data, 16);
|
||||
alignas(16) int m_data;
|
||||
bool m_isMoved;
|
||||
};
|
||||
|
||||
|
||||
@@ -982,7 +982,7 @@ namespace UnitTest
|
||||
: m_data(data) {}
|
||||
~MyClass() {}
|
||||
|
||||
AZ_ALIGN(int m_data, 32);
|
||||
alignas(32) int m_data;
|
||||
};
|
||||
// Explicitly doesn't have AZ_CLASS_ALLOCATOR
|
||||
class MyDerivedClass
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace UnitTest
|
||||
|
||||
struct Aligned16
|
||||
{
|
||||
AZ_ALIGN(char m_data, 16);
|
||||
alignas(16) char m_data;
|
||||
};
|
||||
|
||||
//! Class that changes a value when it's created and destroyed.
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace AzFramework
|
||||
//! Predefined input event listener priority, used to sort handlers from highest to lowest
|
||||
inline static AZ::s32 GetPriorityFirst() { return std::numeric_limits<AZ::s32>::max(); }
|
||||
inline static AZ::s32 GetPriorityDebug() { return (GetPriorityFirst() / 4) * 3; }
|
||||
inline static AZ::s32 GetPriorityDebugUI() { return (GetPriorityFirst() / 8) * 5; }
|
||||
inline static AZ::s32 GetPriorityUI() { return GetPriorityFirst() / 2; }
|
||||
inline static AZ::s32 GetPriorityDefault() { return 0; }
|
||||
inline static AZ::s32 GetPriorityLast() { return std::numeric_limits<AZ::s32>::min(); }
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace AzFramework
|
||||
//! Predefined text event listener priority, used to sort handlers from highest to lowest
|
||||
inline static AZ::s32 GetPriorityFirst() { return std::numeric_limits<AZ::s32>::max(); }
|
||||
inline static AZ::s32 GetPriorityDebug() { return (GetPriorityFirst() / 4) * 3; }
|
||||
inline static AZ::s32 GetPriorityDebugUI() { return (GetPriorityFirst() / 8) * 5; }
|
||||
inline static AZ::s32 GetPriorityUI() { return GetPriorityFirst() / 2; }
|
||||
inline static AZ::s32 GetPriorityDefault() { return 0; }
|
||||
inline static AZ::s32 GetPriorityLast() { return std::numeric_limits<AZ::s32>::min(); }
|
||||
|
||||
@@ -13,14 +13,6 @@
|
||||
|
||||
#include <AzFramework/Physics/CollisionBus.h>
|
||||
|
||||
//This bit is defined in the TouchBending Gem wscript.
|
||||
//Make sure the bit has a valid value.
|
||||
#ifdef TOUCHBENDING_LAYER_BIT
|
||||
#if (TOUCHBENDING_LAYER_BIT < 1) || (TOUCHBENDING_LAYER_BIT > 63)
|
||||
#error Invalid Bit Definition For the TouchBending Layer Bit
|
||||
#endif
|
||||
#endif //#ifdef TOUCHBENDING_LAYER_BIT
|
||||
|
||||
namespace AzPhysics
|
||||
{
|
||||
AZ_CLASS_ALLOCATOR_IMPL(CollisionGroup, AZ::SystemAllocator, 0);
|
||||
@@ -31,10 +23,6 @@ namespace AzPhysics
|
||||
const CollisionGroup CollisionGroup::None = 0x0000000000000000ULL;
|
||||
const CollisionGroup CollisionGroup::All = 0xFFFFFFFFFFFFFFFFULL;
|
||||
|
||||
#ifdef TOUCHBENDING_LAYER_BIT
|
||||
const CollisionGroup CollisionGroup::All_NoTouchBend = CollisionGroup::All.GetMask() & ~CollisionLayer::TouchBend.GetMask();
|
||||
#endif
|
||||
|
||||
void CollisionGroupScriptConstructor(CollisionGroup* thisPtr, AZ::ScriptDataContext& scriptDataContext)
|
||||
{
|
||||
if (int numArgs = scriptDataContext.GetNumArguments();
|
||||
@@ -321,5 +309,12 @@ namespace AzPhysics
|
||||
group.SetLayer(layer, true);
|
||||
return group;
|
||||
}
|
||||
|
||||
CollisionGroup GetCollisionGroupById(const CollisionGroups::Id& id)
|
||||
{
|
||||
CollisionGroup group;
|
||||
Physics::CollisionRequestBus::BroadcastResult(group, &Physics::CollisionRequests::GetCollisionGroupById, id);
|
||||
return group;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ namespace AzPhysics
|
||||
|
||||
static const CollisionGroup None; //!< Collide with nothing
|
||||
static const CollisionGroup All; //!< Collide with everything
|
||||
static const CollisionGroup All_NoTouchBend; //!< Collide with everything, except Touch Bendable Vegetation.
|
||||
|
||||
//! Construct a Group with the given bitmask.
|
||||
//! The each bit in the bitmask corresponds to a CollisionLayer.
|
||||
@@ -174,4 +173,9 @@ namespace AzPhysics
|
||||
private:
|
||||
AZStd::vector<Preset> m_groups;
|
||||
};
|
||||
|
||||
//! Retrieves a Group with the given Id of a collision group.
|
||||
//! This will lookup the group Id to retrieve the group mask. If not found, CollisionGroup::All is returned.
|
||||
//! @param id The Id of the group to look up the group mask.
|
||||
CollisionGroup GetCollisionGroupById(const CollisionGroups::Id& id);
|
||||
}
|
||||
|
||||
@@ -14,14 +14,6 @@
|
||||
|
||||
#include <AzFramework/Physics/CollisionBus.h>
|
||||
|
||||
//This bit is defined in the TouchBending Gem wscript.
|
||||
//Make sure the bit has a valid value.
|
||||
#ifdef TOUCHBENDING_LAYER_BIT
|
||||
#if (TOUCHBENDING_LAYER_BIT < 1) || (TOUCHBENDING_LAYER_BIT > 63)
|
||||
#error Invalid Bit Definition For the TouchBending Layer Bit
|
||||
#endif
|
||||
#endif //#ifdef TOUCHBENDING_LAYER_BIT
|
||||
|
||||
namespace AzPhysics
|
||||
{
|
||||
AZ_CLASS_ALLOCATOR_IMPL(CollisionLayer, AZ::SystemAllocator, 0);
|
||||
@@ -29,10 +21,6 @@ namespace AzPhysics
|
||||
|
||||
const CollisionLayer CollisionLayer::Default = 0;
|
||||
|
||||
#ifdef TOUCHBENDING_LAYER_BIT
|
||||
const CollisionLayer CollisionLayer::TouchBend = TOUCHBENDING_LAYER_BIT;
|
||||
#endif
|
||||
|
||||
void CollisionLayer::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
if (auto* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
|
||||
|
||||
@@ -31,7 +31,6 @@ namespace AzPhysics
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
static const CollisionLayer Default; //!< Default collision layer, 0.
|
||||
static const CollisionLayer TouchBend; //!< Touch Bendable Vegetation collision layer.
|
||||
|
||||
//! Construct a layer with the given index.
|
||||
//! @param index The index of the layer. Must be between 0 - CollisionLayers::MaxCollisionLayers. Default CollisionLayer::Default.
|
||||
|
||||
@@ -32,12 +32,20 @@ namespace AzPhysics
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR_DECL;
|
||||
AZ_RTTI(StaticRigidBody, "{13A677BB-7085-4EDB-BCC8-306548238692}", SimulatedBody);
|
||||
AZ_RTTI(AzPhysics::StaticRigidBody, "{13A677BB-7085-4EDB-BCC8-306548238692}", AzPhysics::SimulatedBody);
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
//Legacy API - may change with LYN-438
|
||||
//! Add a shape to the static rigid body.
|
||||
//! @param shape A shared pointer of the shape to add.
|
||||
virtual void AddShape(const AZStd::shared_ptr<Physics::Shape>& shape) = 0;
|
||||
|
||||
//! Returns the number of shapes that make up this static rigid body.
|
||||
//! @return Returns the number of shapes as a AZ::u32.
|
||||
virtual AZ::u32 GetShapeCount() { return 0; }
|
||||
|
||||
//! Returns a shared pointer to the requested shape index.
|
||||
//! @param index The index of the shapes to return. Expected to be between 0 and GetShapeCount().
|
||||
//! @return Returns a shared pointer of the shape requested or nullptr if index is out of bounds.
|
||||
virtual AZStd::shared_ptr<Physics::Shape> GetShape([[maybe_unused]]AZ::u32 index) { return nullptr; }
|
||||
};
|
||||
}
|
||||
|
||||
@@ -802,7 +802,6 @@ namespace AzFramework
|
||||
{
|
||||
return VerticalMotionEvent{ aznumeric_cast<int>(inputChannel.GetValue()) };
|
||||
}
|
||||
|
||||
else if (inputChannelId == InputDeviceMouse::Movement::Z)
|
||||
{
|
||||
return ScrollEvent{ inputChannel.GetValue() };
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
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)
|
||||
|
||||
set(LY_TOUCHBENDING_LAYER_BIT 63 CACHE STRING "Use TouchBending as the collision layer. The TouchBending layer can be a number from 1 to 63 (Default=63).")
|
||||
|
||||
ly_add_target(
|
||||
NAME AzFramework STATIC
|
||||
NAMESPACE AZ
|
||||
@@ -37,14 +35,6 @@ ly_add_target(
|
||||
3rdParty::lz4
|
||||
)
|
||||
|
||||
ly_add_source_properties(
|
||||
SOURCES
|
||||
AzFramework/Physics/Collision/CollisionGroups.cpp
|
||||
AzFramework/Physics/Collision/CollisionLayers.cpp
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
VALUES TOUCHBENDING_LAYER_BIT=${LY_TOUCHBENDING_LAYER_BIT}
|
||||
)
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Tests/Platform/${PAL_PLATFORM_NAME})
|
||||
|
||||
@@ -650,7 +650,10 @@ namespace AzToolsFramework
|
||||
|
||||
AZStd::unique_ptr<AZ::Entity> Instance::DetachContainerEntity()
|
||||
{
|
||||
m_instanceEntityMapper->UnregisterEntity(m_containerEntity->GetId());
|
||||
if (m_containerEntity)
|
||||
{
|
||||
m_instanceEntityMapper->UnregisterEntity(m_containerEntity->GetId());
|
||||
}
|
||||
return AZStd::move(m_containerEntity);
|
||||
}
|
||||
}
|
||||
|
||||
+14
-6
@@ -65,16 +65,24 @@ namespace AzToolsFramework::Prefab::PrefabConversionUtils
|
||||
AzFramework::Spawnable::EntityList& entities = spawnable->GetEntities();
|
||||
for (auto it = entities.begin(); it != entities.end(); )
|
||||
{
|
||||
(*it)->InvalidateDependencies();
|
||||
AZ::Entity::DependencySortOutcome evaluation = (*it)->EvaluateDependenciesGetDetails();
|
||||
if (evaluation.IsSuccess())
|
||||
if (*it)
|
||||
{
|
||||
++it;
|
||||
(*it)->InvalidateDependencies();
|
||||
AZ::Entity::DependencySortOutcome evaluation = (*it)->EvaluateDependenciesGetDetails();
|
||||
if (evaluation.IsSuccess())
|
||||
{
|
||||
++it;
|
||||
}
|
||||
else
|
||||
{
|
||||
AZ_Error(
|
||||
"Prefabs", false, "Entity '%s' %s cannot be activated for the following reason: %s", (*it)->GetName().c_str(),
|
||||
(*it)->GetId().ToString().c_str(), evaluation.GetError().m_message.c_str());
|
||||
it = entities.erase(it);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AZ_Error("Prefabs", false, "Entity '%s' %s cannot be activated for the following reason: %s",
|
||||
(*it)->GetName().c_str(), (*it)->GetId().ToString().c_str(), evaluation.GetError().m_message.c_str());
|
||||
it = entities.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,9 +275,7 @@ namespace AzToolsFramework
|
||||
virtual void BeginCursorCapture() = 0;
|
||||
//! Restores the cursor and ends locking it in place, allowing it to be moved freely.
|
||||
virtual void EndCursorCapture() = 0;
|
||||
//! Gets the most recent recorded cursor position in the viewport in screen space coordinates.
|
||||
virtual AzFramework::ScreenPoint ViewportCursorScreenPosition() = 0;
|
||||
//! Is mouse over viewport.
|
||||
//! Is the mouse over the viewport.
|
||||
virtual bool IsMouseOver() const = 0;
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user