* Updated the SFINAE checks in concepts.h and range.h
To use conjunction and disjunction for short-circuiting behavior.
Replaced AZStd::optional implementation with std::optional alias
Added range adaptor support and the following views: ref_view,
owning_view
Added bitwise or(|) overload for chaining range adaptor closures together
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding indirectly invocable concepts.
These concepts are used to determine whether a callable can be invoked
with a dereferenced iterator instance.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Add implementation of range relational function objects
Add implementation of range min max functions which uses the range
relation function objects(ranges::less, ranges::equal_to, etc...)
This is needed to implement ranges::zip_view
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding interface for zip_view which compiles successfully
The implementation for the zip view functions still need to be filled.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding function definitions for zip_view classes.
Adding empty header of subrange.h for the ranges::subrange class
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding additional view implementations.
The following range and view classes have been added: empty_view,
single_view and subrange.
Moved the AZ_NO_UNIQUE_ADDRESS macro to PlatformDef.h to allow other
code to specify the [[no_unique_address]] attribute.
Added additional test for view structures.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding missing includes for non-unity builds
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Workaround for NDK21 clang 9.0.9 compile issue.
The AZStd::ranges::zip_view::iterator::iter_swap friend function is in the
AZStd::ranges namespace, while the customization point object of
`AZStd::ranges::customization_point_object::iter_swap` is in the regular
namespace of `AZStd::ranges` and the inline namespace of
`customization_point`.
This issue is fixed in NDK23, but as Jenkins uses NDK21 at the time, the
entire zip_view implementation has moved to inline namespace of
`zip_view_internal`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added iterator algorithm requiremetn concepts
Fixed the ambiguity in the ranges::iter_swap exchange overload to
exclude itself as a candidate if the iterator reference types are
swappable with each other.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding type alias for borrowed_subrange_t
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed convertible to ref_view check in the ranges::all
customization_point
Updated SFINAE detection of whether AZStd::to_address is invocable
Moved the
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed private variable access in ranges::subrange get specialization.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing ranges::view constraint from the ranges::views::single
customization_point.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding C++23 range overload for string_view.
It is detailed in the [C++draft strings](https://eel.is/c++draft/strings#lib:basic_string_view,constructor____) section
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding implementations of ranges, find, search, mismatch and equal
functions.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding implementation of ranges split_view along with test.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding const overloads to SceneAPI ProxyPointer container
The Proxy Pointer class operator* and operator-> was unable to be
invoked with a const instance before. Now it returns a const view of the
pointer it contains.
This allows it to be invoked in `AZStd::to_address` as part of an SINAE
context for the contiguous_iterator concept
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Refactored the to_address implementation to better work with SFINAE.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding general non-unity build fixes
This is unrelated to the RangeAdaptor changes.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Allow range algorithms to be used with rvalue ranges
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Workaround MSVC Internal Compiler erroy by removing enable_if
condition in the operator bool of the view_interface class.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Corrected the non_propagating_cache helper class to have public
functions
Fixed the order of creating the perfect forwarding call wrapper for an
outer closure around another closure.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Specialized the borrowed_range and view concepts
For the AZ PathView class, since it is a immutable view around a path.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed inline namespace around the zip_view class.
It was needed to workaround a clang 10 or below issue where a friend
function in a namespace and a variable within underneath an inline
namespace within the function namespace would cause an improper symbol
redefinition.
The workaround is to create a placeholder namespace containing the
inline namespace and then bring that placeholder namespace into the
parent scope.
https://bugs.llvm.org/show_bug.cgi?id=37556
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding implementation of the elemetns_view and join_view classes
It is up to date with the standard as of the current draft:
https://eel.is/c++draft/ranges.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Separated definitions of concepts out of concepts.h
This allows the ranges::iter_swap and ranges::swap customization point to be moved
outside of the concepts folder and into the ranges folder.
The concepts.h header previously had to define those objects to avoid
circular dependencies.
Added the work around for ranges::iter_swap and ranges::iter_move
customization_point causing an improper symbol redefinition in clang 10
or below: https://bugs.llvm.org/show_bug.cgi?id=37556
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Alias more std:: names into the AZStd namespace.
Removed our custom implementation of toaddress.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding more range view test.
The join_view and elements_view classes now have UnitTest.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding deduction guides for AZStd associative containers
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moved zip_view::sentinel iterator accessor function to zip_view.inl
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed variable shadowing issues with clang 12+
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
The previous code had the `alignas()` in the wrong place, it needs to be
left of the typename.
Furthermore, `CONTEXT` has a default alignment of 16, so using `alignas(8)`
underaligns.
Signed-off-by: Chris Burel <burelc@amazon.com>
This macro was expecting that parenthesis used in the macro would be
removed during macro expansion, when they are not removed. The result was
a function call like this:
```cpp
AZ_Assert(g_SymGetSearchPath != 0, ("Can not load %s function!","SymGetSearchPath"));
```
The parenthesis cause the contents of the parenthsis to be evaluated first,
and the result is an expression using the comma operator. The comma
operator evaluates the left expression, discards the result, then
evaluates the right expression, and returns that. So the above dropping
the message, and just leaving:
```cpp
AZ_Assert(g_SymGetSearchPath != 0, "SymGetSearchPath");
```
Signed-off-by: Chris Burel <burelc@amazon.com>
This is Document Property Editor work I've pulled out as I needed it in a few places, and the API may be generally useful. Real-world performance measurements will need to be done, if we have path lookup based bottlenecks we can consider adopting a contiguous memory approach with a sorted vector.
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
The ConfigurableStack makes configuring stacks and arrays through the Settings Registry easier than using direct serialization to a container like AZStd::vector. It does this by using JSON Objects rather than JSON arrays, although arrays are supported for backwards compatibility. Two key words were added:
- $stack_before : Insert the new entry before the referenced entry. Referencing is done by name.
- $stack_after : Insert the new entry after the referenced entry. Referencing is done by name.
to allow inserting new entries at specific locations. An example of a .setreg file at updates existing settings would be:
// Original settings
{
"Settings in a stack":
{
"AnOriginalEntry":
{
"MyValue": "hello",
"ExampleValue": 84
},
"TheSecondEntry":
{
"MyValue": "world"
}
}
}
// Customized settings.
{
"Settings in a stack":
{
// Add a new entry before "AnOriginalEntry" in the original document.
"NewEntry":
{
"$stack_before": "AnOriginalEntry",
"MyValue": 42
},
// Add a second entry after "AnOriginalEntry" in the original document.
"SecondNewEntry":
{
"$stack_after": "AnOriginalEntry",
"MyValue": "FortyTwo".
},
// Update a value in "AnOriginalEntry".
"AnOriginalEntry":
{
"ExampleValue": 42
},
// Delete the "TheSecondEntry" from the settings.
"TheSecondEntry" : null,
}
}
The ConfigurableStack uses an AZStd::shared_ptr to store the values. This supports settings up a base class and specifying derived classes in the settings, but requires that the base and derived classes all have a memory allocator associated with them (i.e. by using the "AZ_CLASS_ALLOCATOR" macro) and that the relation of the classes is reflected. Loading a ConfigurableStack can be done using the GetObject call on the SettingsRegistryInterface.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
Added new attribute "DisableEditButtonWheNoAssetSelected" to PropertyAssetCtrl. By default it's false, keeping the original behavior of leaving the edit button enabled and if it's clicked while there is no asset assigned it'll try to create a new one.
PhysX mesh asset property uses now this new feature.
Signed-off-by: moraaar moraaar@amazon.com
* Always store prefab instance linkIds to DOM except for saving to disk
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Added more checks to remove linkIds from templates
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Remove additional check to remove LinkId during template update
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
- Add the following compilation flags for clang
-fpie
-fstack-protector-all
-fstack-check (non-release)
- Add the following compilation flags for gcc
-fpie
-fstack-protector-all
- Fix -Wunused-result errors from above compilation flag updates
- Add _FORTIFY_SOURCE=2 to GCC DEFINES
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
* Add comparison operators to SurfaceTagWeight.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Changed AddSurfaceTagWeight to always combine weights.
This simplifies the API a bit and defines the behavior if someone ever tries to add a duplicate tag.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Added benchmarks for measuring the performance-critical APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Changed SurfaceTagWeights to a fixed_vector.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
- Remove '-Wno-return-local-addr' warning suppression flag for GCC
- Fixed discovered error resulting from -Wreturn-local-addr
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
* Remove extra ws
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
disable saving procedural prefabs in the Editor since the templates are backed by asset files that will change outside the Editor
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* Move the RootAliasPath class definition to the Prefab EOS. Introduce utility functions to enable using the path as an instance handler in UI.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Refactor the PrefabFocusHandler to use the utility functions that were introduced to the Prefab EOS. Remove the m_instanceFocusHierarchy from the Focus Handler, and simplify calls for performance.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor adjustments after PR discussion
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Silly mistake in function simplification. Turns out == and != are different.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fixed doxygen comments
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add numeric cast when storing result of AZStd::distance to int.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Restore additional checks in FocusOnparentOfFocusedPrefab that got removed during merge.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* debug information for lua script error
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
* actual fix for script properties not being loaded in play-in-editor unless modified or editor restarted
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
* remove debugging artifacts
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
* Add function to Prefab Instances allowing to get a reference to a nested instance by alias.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Refactor the Prefab Focus Handler to use RootAliasPaths to store the reference to the currently focused prefab instance instead of the previous method (entityId of the prefab container).
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Use existing FindNestedInstance method instead of adding new one.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor fixes to style and comments
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Removing indexing in GetInstanceReferenceFromRootAliasPath, turn variables into constants where possible.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Modified the Prefab Focus test fixture to ensure the entity hierarchy is generated under the Prefab EOS, allowing tests to work with the new implementation of the focus mode handler.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Ensure RootAliasPath is iterated by reference in GetInstanceReferenceFromRootAliasPath
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Update sqlite package for windows
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add assert to make sure sqlite header and lib version match
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update linux
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update Builting Package / Mac for Sqlite 3.37.2-rev1
Signed-off-by: spham <82231385+spham-amzn@users.noreply.github.com>
* Re-add newline at end of file
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Inclusivity: change sqlite_master to sqlite_schema alias
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
Co-authored-by: spham <82231385+spham-amzn@users.noreply.github.com>
* fix incorrect icon rendering
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add redundant parens
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add tests for icon display fixes
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update references to EditorVisibleEntityDataCache to EditorVisibleEntityDataCacheInterface
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates following review feedback and remaining updates for EditorVisibleEntityDataCacheInterface
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* Making terrain query resolution a single float instead of a Vector2
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Keeping the concept of different x/y step sizes in region queries since that may be useful and is separate from query resolution. Also keeping the concept of different x/y step sizes in physics since that's independent of the terrain gem.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Formatting cleanups
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* A few more minor cleanups
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Added support to convert serialized Vector2 query resolution to a single float.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Switch ray intersection check back to using separate values for x and y resolution
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing new unit tests added to use float query resolution.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Updating automated test
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
PAL-ified default thread priority for pthread platforms.
Fix threads not getting named on Apple platforms by setting the thread name ptr on the thread_info struct.
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Add support for updating the values of existing keys in associative containers
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Map/Unordered Map serialization updates values corresponding to existing keys by default. Multimaps always add a new entry for existing keys.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Fix unused parameter warning
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Update comparison function for test case
Signed-off-by: amzn-sj <srikkant@amazon.com>
These calls didn't have any practical effect and created confusion, so they were removed.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* Updated all array_view uses with the C++20 span.
The updates were done in the following order
1. `AZStd::array_view<([^>].+)\* ?>` -> `AZStd::span<\1 const>`
2. `AZStd::array_view<(?:const )(.+)>` -> `AZStd::span<const \1>`
3. `AZStd::array_view` -> `AZStd::span`
Removed the implementation of array_view.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added missing whitespace between `const` and the typename for spans.
Updated the ShaderTest comparison of the ShaderResourceGroupLayout span
to compare the sizes as well
Updated comments on some of the methods that stated that they return "an
array" to mention they return "a span".
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed string_view compilation in GCC 10+.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* More GCC 10+ Fixes.
GCC 11 seems to have an issue with linkage regarding using a lambda as a default parameter in a function declaration.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* GCC10+ Fix - Fixed binding to a temporary references.
> error: loop variable ‘pathName’ of type ‘const QString&’ binds to a temporary constructed from type ‘const char* const’ [-Werror=range-loop-construct]
415 | for (const QString& pathName : { "CrySystem",
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
- Deduplicated code for StoreInstanceInPrefabDom.
- Used QueueLoad to load an asset instead of starting a load by getting a new asset instance.
- Extended the error information when failing to load an asset.
- RefreshPrefabDom no longer returns a boolean as it wasn't used.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
- Fix gcc error caused by implicit conversion of Qt::ByteArray to const char*
- Fix Linker errors to QtTest in AtomToolsFramework.Tests and ScriptCanvasDeveloper.Editor
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
* Add icon support for the Breadcrumbs UI Component, use it in the prefab focus mode breadcrumb.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Simplified iconAt logic
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* 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>
* Move the manipulator controller.
Signed-off-by: rhhong <rhhong@amazon.com>
* Add manipulator icon
Signed-off-by: rhhong <rhhong@amazon.com>
* Add manipulators
Signed-off-by: rhhong <rhhong@amazon.com>
* move more option to renderOption, and loading all going through the plugin
Signed-off-by: rhhong <rhhong@amazon.com>
* code cleanup
Signed-off-by: rhhong <rhhong@amazon.com>
* code cleanup
Signed-off-by: rhhong <rhhong@amazon.com>
* more code cleanup
Signed-off-by: rhhong <rhhong@amazon.com>
* CR FEEDBACK
Signed-off-by: rhhong <rhhong@amazon.com>
* Fix profile_nounity build
Signed-off-by: rhhong <rhhong@amazon.com>
* CR feedback - move more code to azToolsframework and share them between animation editor and editorlib
Signed-off-by: rhhong <rhhong@amazon.com>
* Using the MouseViewportRequests in viewportMessage and remove the custom bus
Signed-off-by: rhhong <rhhong@amazon.com>
* Updated the ObjectStreamWriteOverride Callback to return a
ObjectStreamWriteOverrideResponse.
The ObjectStreamWriteOverrideResponse allows the callback to indicate
that the default ObjectStream::WriteElement behavior should occur if the
callback hasn't implemented the write itself.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed forward declaration not matching actual enum class name
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add unit tests
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove unused member
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add virtual destructor for test class
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Change string literal to not have tabs in it
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Update sqlite package for windows
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add assert to make sure sqlite header and lib version match
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update linux
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update Builting Package / Mac for Sqlite 3.37.2-rev1
Signed-off-by: spham <82231385+spham-amzn@users.noreply.github.com>
* Re-add newline at end of file
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
Co-authored-by: spham <82231385+spham-amzn@users.noreply.github.com>
At the root the problem is that some editor-only components store information to construct an asset for the runtime component but not the asset itself. This behavior caused the assets to not be correctly detected in two places.
The first place was due to the recent move to PrefDocument to avoid repeated (de)serialization of the PrefabDOM when converting to spawnables. Due to the caching the change from editor-only component to runtime component didn't record the new asset. This has been fixed by allowing assets to be collected on store as well and to check the cache validity when retrieving the list of referenced assets.
The second problem was with loading assets from the in-memory spawnable that's created for Play-In-Editor. Because the newly created assets wouldn't be loaded they need to be explicitly loaded. The original code used the collected list of assets from the PrefabDocument and checked if they were loaded, depending on hot-reloading to trigger a reload on the actual asset. This turned out to not be universally applicable, so instead the Serialize Context is now used to find all the assets that aren't loaded yet and queues a load. This is a bit more expensive to do, but to offset this cost checks are done to only do any operations on assets that haven't been loaded yet which reduces the number of calls to the Asset Manager.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* initial fix for geometry being intersected when not visible
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add tests for shape intersection with helpers enabled/disabled
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update moved cmake file after merge
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates following PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
- Abstracted the platform specific low level profiler API
- Added support for ATrace markers on Android
- Stubbed iOS, Linux, and macOS with unimplemented versions of the low level platform profiler API
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* WIP
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Commit before merging
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Added new pngs
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Fixed CRC errors
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* 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>
* Fixes to the viewport top toolbar.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Additional checks to prevent issues if widgets aren't set up correctly.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add asserts to catch UI changes that would break this class.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add a ray cast API to the terrain system, implement it, and use it so entities can be placed on top of terrain.
Still to do:
- Unit tests
- Profiling/benchmarks
- Optimization (if needed, may not be now after updating to use the iterative approach, but one option could be to use SIMD to ray cast against both triangles at once)
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix typos.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Added a FindNearestIntersectionIterative to use in place of the first-pass FindnearestIntersectionRecursive attempt.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove some functions that are no longer being used.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove a unicode character from a comment to fix the validation build.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove another unicode character from a comment to fix the validation build.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Update to bail out as soon as t > 1.0f
Signed-off-by: bosnichd <bosnichd@amazon.com>