* bugfix: resolve Lua script file not found
REF: https://github.com/o3de/o3de/issues/5899
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* chore: user lowcase version of assetIdLower
Signed-off-by: Michael Pollind <mpollind@gmail.com>
- Use a vector for shared string storage (to avoid the double heap allocation for AZStd::string)
- Use a shared heap allocated any for opaque types (instead of an unsafe ref)
- Add a string comparison key lookup benchmark to measure the impact of Name
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
Direct conversion helpers for quaternion to the scaled axis-angle representation and back without the need to convert them first to the axis-angle format and manually scale (or normalize on the way back). This also avoids having to deal with the special case of an identity representation which is 0,0,0 in the scaled axis-angle format while our convention for axis-angle is 0,1,0 for the axis and 0 for the angle.
Added unit tests that check the conversion round-trips from quaternion -> (scaled) axis-angle -> quaternion as well as comparing the scaled axis-angle representations from the direct helper functions as well as the axis-angle while manually scaling/normalizing.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
The new PrefabDocument handles the Prefab and the Instance. This reduces the number of times the Instance has to be reloaded from the Prefab and keeps the entity ids stable between steps. The intention is for all the PrefabDocument to conceptually manipulate the Prefab DOM, although behind the scenes it will manipulate the Instance for now. The Instance should only be directly used in case the PrefabDocument doesn't provide the functionality yet.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
This fixes issues with entities that are moved to another Prefab and have a parent that was also moved to the same Prefab. Entities that have their parent moved to another Prefab continue to work as is because a placeholder entity is always left behind. Entities that are moved to another Prefab but have a parent that's still in the original Prefab will currently not work correctly. This will be a addressed in a future commit.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
In some cases entities created for use as a Spawnable Entity Alias would share an entity id with their original. This is no longer working due to a reverse lookup from an entity id to its PrefabDOM. Upon further investigation this turned out to not matter as instances that are created by the PrefabCatchmentProcessor would create new entity ids any way. This cause unexpected behavior at runtime as entity relations may be broken. This will be addressed in a future fix.
Testing the above also highlighted a possible double delete in the builder when aliases were registered. This has also been fixed.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
While processing prefabs into spawnables new prefabs can be added for later processing. Because the new prefabs were immediately added to the list of prefabs it could happen that the new prefabs would be added to the active processor for processing, which could lead to infinite recursion. Adding prefabs while iterating prefabs now delays the addition until the iteration has completed.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* wip fixes for entity viewport icons displaying in the correct order and handling selection correctly
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add additional comment about z value
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* move manual sorting and some small tidy-up
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update comment
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates following initial round of PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* additional changes to support tests for entity icon intersection
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add support to enable/disable icons separately from helpers
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* final tests added and small tidy-up to display EntityId correctly
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update some manipulator test framework calls after utility functions were moved
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for implicit cast
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* move icon scale values to AZ_CVARS
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix failing tests caught in AR and update some naming conventions for tests
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update naming convention for members of ProjectedViewportRay
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update other references to ProjectedViewportRay
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update more references to ProjectedViewportRay change
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update menus for python tests
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* Average incoming skin influences when multiple vertices have been welded. This is one option which will average out the weights even if two welded vertices have differing boneIds, but we probably also need to add the influences earlier in the process and enforce a process where the vertices do not get welded if they have influences with differing boneIds
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Move skin influences from MeshBuilderSkinningInfo to the vertex attribute layers so they are considered when choosing which vertices can be welded and so they are not duplicated when compatible vertices have been welded
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Updating unit tests
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Remove unused functions
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Update based on feedback from burelc
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Prefab hotloading - load and maintain asset references
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Working hotloading
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Clean up code, add comments
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add missing includes
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add event for template removal.
Clear ProceduralPrefabSystemComponent lookup when templates are removed.
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add unit test.
Fix missing include, make sure source name is set
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update comments to make ebus event behavior more clear
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing includes
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix temp directory usage which doesn't work on linux
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix temp directory usage which doesn't work on linux
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Use AZ::IO::Path for comparison. Print paths on failure
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix unit test - register asset with catalog so it can be looked up later
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Disable feature flag - redirect proc prefab check to IsPrefabSystemEnabled.
Procedural Prefabs are now on by default when the prefab system is enabled.
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Bump scene builder version to cause all procedural prefabs to rebuild
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Switch to lambda for ebus call
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove unused const
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
It is only used when the slice editor is enabled, which causes build errors when it is not enabled.
Signed-off-by: Andre Mitchell <andre.mitchell@bytesofpi.com>
- Remove trait AZ_TRAIT_DISABLE_FAILED_ATOM_RPI_TESTS
- Add template specialization for ConstantsData::SetConstant<Color> and ConstantsData::GetConstant<Color>
- Remove trait AZ_TRAIT_DISABLE_FAILED_ATOM_RPI_TESTS from source code
- Fix ConstantsData::SetConstantArray<bool> to pass unit test SetConstant_GetConstant_FalsePackedInGarbage_Bool on Linux, cause by an unwanted optimization (comments describe the situation). This will make this behavior consistent across platforms
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
* Changes to fix DCO
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Moved the keyEvent to a helper function for ease of testing
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Split definition and declaration of WidgetHandleKeyPressEvent
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Set Procedural Prefab Transform ComponentId to the hash of the file path.
Procedural prefabs needs to have a deterministic transform component ID in order for saved patches still work when the prefab is regenerated.
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Switch to Cityhash instead of XXHash since prefab system is using that elsewhere
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Added unit test
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* 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>
Fixes#4366
- Added support for sending text events from the Qt event mapper
- Fixed several issues found while running the Profiler gem in debug
- Added ability to track AZ-consumed events in the Qt event mapper
- Minor clean up to input handling in ImGuiManager
- Select ImGui mouse events can now be properly consumed during AZ-input processing in the editor viewport
- Added tests for the Qt event mapper
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* Improved error messaging when user tries to duplicate before entities are created
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
- Change the test Archive Folder name, Extract Folder Name, and File List file to be all lowercase to prevent the 'ResolvePath' function in LocalFileIO when executed to cause issues on case sensitive file systems (#6277)
- Fix memory corruption in profile builds on Linux when using AZ::IO::PathView by using AZ::IO::FixedMaxPath instead
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
Small change in behavior context attribute for a few
classes so they become visible when extracting Lua symbols
from the ScriptContextDebug() API.
From:
Attribute(AZ::Script::Attributes::ExcludeFrom,
AZ::Script::Attributes::ExcludeFlags::All)
To:
Attribute(AZ::Script::Attributes::ExcludeFrom,
AZ::Script::Attributes::ExcludeFlags::ListOnly)
It seems the previous code was simply trying to hide those symbols from
the Script Canvas node palette. But it was also, seemingly unintentional,
hiding those symbol from Lua Documentation.
Signed-off-by: galibzon <66021303+galibzon@users.noreply.github.com>
* Fix failure reason for PerlinGradientComponent_GoldenTest: non-standard behavior of std::shuffle producing different results across platforms
* Fix failure reason for GradientImageAssetConversionU8SingleScale: Undefined behavior when float casts to a uint8 has overflow
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
* Enable process and ap connection tests on linux
* Updated 'OpenProjectManager' to use new the ProcessLauncher argument type
* Add logic to double-escape escaped double quotes in arguments on windows platforms
* Updated argument for LaunchProjectManager to reflect new ProcessLauncher argument type
* Fixed unit test arguments for 'arg=value' condition
* Fix compile errors for BuilderManager and RHI.Edit\Utils.cpp
* PAL'ify the GetCommandLineParametersAsString() to handle windows specific behavior
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
Co-authored-by: byrcolin <byrcolin@amazon.com>
* Pass relative path IsFileExcluded so that only paths relative to the root scan folder are matched against the exclude filters.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Revert previous change. Remove the exclude filter for the Install directory.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Pass in relative path to the exclude filter as before. Fix the AssetScanner tests.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Prepend a ./ to the relative path in order to match the exclude patterns
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove hack to prepend ./. Update the exclude patterns so that the hack is no longer required.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add missing ? and remove whitespace
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. IsFileExcluded() now converts the input path to a path that's relative to its corresponding scan folder.
2. Update regex patterns in gems and AutomatedTesting as well.
3. Remove unnecessary escaping for '/'.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Use ConvertToRelativePath() function to compute path relative to a scan folder.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* More fixes to regex patterns
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove test case which tests a hypothetical scenario that cannot occur. Fix another test case by adding scan folder.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove assert that's not needed since it's a valid scenario
Signed-off-by: amzn-sj <srikkant@amazon.com>
Co-authored-by: amzn-sj <srikkant@amazon.com>
* Test the Terrain World configuration changes when parameters are changed in the component
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>
* Before merge
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Before merge 2
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>
* Change from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Change before merge
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Change before merge 2
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Change before merge 3
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Change after merge to fix conflicts
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Fix merge conflict
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Fix merge conflict
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>
* add temporary debug logging
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* improvement for box select sometimes getting stuck on
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add temporary debug logging
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* improvement for box select sometimes getting stuck on
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* remove temporary logging
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fixes for camera pitch issues
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* missed file with camera pitch fixes
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* remove debug logs
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add some tests for new pitch constraint updates
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>