* add support to add a custom debug display request interface for manipulator test framework
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* wip changes to support tests for manipulator view drawing
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add test for planar manipulator draw when dealing with scaling
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* additional comments for added context
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* small updates/fixes after PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for missing NullDebugDisplayRequests
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
Also switched the log message sink from a vector to a list so the entire container does not have to be rebuilt every time and entry is added.
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
* Fix warnings on Mac builds.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Save one map query
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* first pass updates to improve manipulators
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add setting to enable/disable manipulator axis flipping
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update manipulator cvar to use ed_ naming convention
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* wip updates to add AzToolsFramework values to the SettingsRegistry
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* expose a number of manipulator settings for configuration
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add setting for manipulator base scale to change size of all manipulators together
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* minor updates before posting PR
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add manipulator section for settings registry paths
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for failing unit test after manipulator changes
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix total scale
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for polygon prism component shape tests
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* Added tests for deleting entity under level and other prefabs
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Added class comments and improved variable names
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Called the reflect function of PrefabFocusHandler from PrefabSystemComponent
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Added couple of unit tests around entity and prefab deletion
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Used engine root path from settings registry as fake path for prefab creation
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Added 2 unit tests around deleting prefabs
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Introduce read-only entity interface, handler and unit tests.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Switch from a push paradigm to a pull paradigm - handlers get to implement logic to determine if an entity should be read-only. This allows multiple systems to weigh into whether an entity is read-only.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fixed to missing call in test
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Renaming ReadOnlyEntityQueryNotificationBus to ReadOnlyEntityQueryRequestBus for consistency with engine patterns.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Adds crc validation checks
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes invalid CRCs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Changes test to smoke suite
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* excludes some test data from the validator
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* uses pathlib instead of os.path
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes wrong path to test scripts
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Escape not needed
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Added tests for deleting entity under level and other prefabs
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Added class comments and improved variable names
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Called the reflect function of PrefabFocusHandler from PrefabSystemComponent
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Added function comments and made an if statement to be one line
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* update intersect behavior for positioning entities in the viewport and restore SurfaceManipulator
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* tests for surface manipulator from EditorTransformComponentSelection
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update comments in tests and remove #pragma optimize('', off)@
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add new file for FindClosestPickIntersection tests
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add remaining tests for surface manipulator and snap fixes
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* some small updates and polish before PR
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* small updates following PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* IntWidgetHandler::CreateUI now registers and sends editingFinished event
* add tests for int spin control valueChanged and editingFinished signals
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
* Generic Cleanup
Removals:
* Unused cvars,member variables and defines
* Windows media center edition support routines
* CSystem - removed debug_GetCallStackRaw/GetRootWindowMessageHandler/
UnloadDLL/ShutdownModuleLibraries
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix CryMessageBox return values in Windows build
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove named selection group and a few smaller unused functionalities
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove ObjectManager export functionality + 2 deprecated functions
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove object legacy freeze/hide support from ObjectManager
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove ObjectManager duplicate name dection, as well as object renaming
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove ObjectManager serialization and selection callbacks
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* ObjectManager - remove MoveObjects/HitTestObject/EndEditParams and related members/functions
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove a bunch of unused clone related functionality + misc
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* ObjectManager - misc removals
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* ObjectManager - more removals
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove unused object selection/retrieval in ObjectManager and LoadObjects in ObjectLoader
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject - remove unused material layers mask support
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More CBaseObject cleanups.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject - remove SubObj functions and IMouseCreateCallback
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove unused procedural floor management, helper scale and tags.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject - remove more unused methods.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Removals in multiple places.
CBaseObject - unused `OBJTYPE_DUMMY` flag removed, member `IsSameClass`
CObjectArchive removed unused methods/members
CObjectManager removed unused `Update` method
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More removals
IDisplayViewport - HitTestLine/GetGridStep/setHitcontext/
GetConstructionPlane
Unused Cry_Matrix44 template specializations.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* O3DE.exe Project-Centric "Open Editor" fix (#5852)
* The O3DE.exe Open Editor button now attempts to open the Editor in the
build directory of the project being opened.
If their is no Editor within the build directory of the Project, it uses
the Editor.exe in the current O3DE.exe executable directory if it exists
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Engine .gitignore now ignores the build directory if placed in the
AutomatedTesting project
Previously it was just ignoring a `[Bb]uild` directory if it was
directly within the engine root.
This change matches the behavior of the project templates.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Renamed the ProjectUtils GetEditorDirectory function to
GetEditorExecutablePath
Added a platform specific implementation for retrieving the path to the
Editor executable in the GetEditorExectuablePath function.
It first attempts to locate the Editor via checking the project build
directory for an Editor executable before falling back to checking the
binary directory of the currently running O3DE executable.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correct the MacOS GetEditorExecutablePath to return the Editor path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Adding missing C++20 std::erase implementations (#5735)
There were already implementations for std::erase_if.
This adds the counterpart AZStd::erase versions
resolves#5734
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More removals and refactors
`ShowMessage` and `CryMessageBox` return void now
Simplify code in `CSystem::WarningV`
Remove unused `CryGetTicksPerSec`
Remove unused WinBase functionality
Replace `nanosleep` call in WinBase with `std::this_thread::sleep_for`
Remove unused Win32Wrapper routines
Remove unused IFunctorBase.h and IEntityObjectListener.h
Fix VectorAndArray.cpp compilation
Use QMessageBox instead of CryMessageBox in the editor.
Remove empty ArchiveVars platform specific files
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix test code.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove an unused function
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject and undo description removals.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* A bunch of removals
* Remove IRenderNode
* Remove editor's KDTree
* Remove StatObjBus, InstanceStatObjEventBus::ReleaseData is redundant (
same functionality in the only available handler is triggered by
`OnCryEditorCloseScene`)
* Remove CExportManager::AddStatObj/AddMeshes/AddMesh,
IExportManager::ExportSingleStatObj
* Remove CIconManager/IIconManager::GetObject
* Remove CBaseObject::IntersectRayMesh
* Remove IIndexedMesh and related structs.
* Unused IUndoObject::GetDescription and all derived implementations.
* Unused CUndoBaseLibrary/CUndoBaseLibraryManager
* Unused Matrix34_tpl typedefs
* Legacy Xml classes cleanup
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove unused `Vec3ToVector3D` helper
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* fix - remove unused static variable
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* rename QtEventToAzInputManager.h/cpp to QtEventToAzInputMapper.h/cpp to match type name
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update #includes to refer to QtEventToAzInputMapper.h
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update return type for viewport screen functions
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add tests for AZ::Matrix3x4::CreateFromMatrix4x4 and add TransformPoint to Matrix3x4
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update NDC -> Ndc
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates following review feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates and improvements following PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add forward declaration of Matrix3x4 type
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update where forward declarations are defined for Matrix3x4
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for how viewport icons highlight when sticky select is disabled
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* naming - update highlight to accent
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* Cherry-pick 49e8f35858
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Merging differences from development of other changes that need to be there for deb packaging
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Picks a needed change for the installer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes warning in mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Takes version from environment if defined
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Do not pick up version if it is empty string since that will also break version comparison
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* creating temp directories if they dont exist
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removing a dependency to itself (Multiplayer.Builders is an alias of Multiplayer.Editor)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Filters which runtime dependencies are passed from private build dependencies to only those that are actual targets.
This avoids something like a "d3d12" private build dependency from being passed to the runtime dependencies
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fix oversight from recent change to PrefabFocusHandler internals.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce check for null instance in case this is called before the Prefab Focus Handler is initialized.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix several Prefab outliner ordering issues
This change does a few things to address instability in entity order when prefabs are enabled:
- Changes ordering behavior on entity add to always be "insert after the last selected sibling of the new entity, or at the end if there is no selected sibling"
- Adds some logic to ensure selection stays frozen during prefab propagation to allow this behavior to be used
- Alters delta generation in `PrefabPublicHandler::CreateEntity` to use the template instead of reserializing the DOM - this avoids a whole bunch of patching issues caused by EditorEntitySortComponent doing post-hoc order fix-up and should generally be safer/faster as we're producing patches for the actual target for those patches
- Because the duplicate action is DOM-driven, and there's some thorniness around making changes that will affect the template during propagation, this adds `PrefabPublicHandler::AddNewEntityToSortOrder` to directly patch the DOM for the duplicate case
Two bits of this come from patches from the incredibly helpful @AMZN-daimini
- Alters `PrefabPublicHandler::GenerateUndoNodesForEntityChangeAndUpdateCache` behavior for determining what's an override: we now check to see if we're part of the current focused instance but *not* owned by the focus instance directly. This lets entity order for nested prefabs get saved to the owning prefab instead of as an override. I'm putting this up for discussion without a feature flag gating it, but we may wish to make this a toggle or disable it outright for stabilization (in which case entity order won't be saved to the owning prefab)
- Adds a custom serializer for EditorEntitySortComponent. This isn't strictly necessary now, but it was very useful for debugging and ended up receiving much more manual testing its migration path and save/load path more than I've tested without using the serializer.
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Add missing serializers
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Address some review feedback
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Generate patch in `PrefabPublicHandler::CreateEntity` using the instance's fully evaluated template in-memory
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix up comment
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix Linux build
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Try to make test less timing dependent (haven't been able to repro failure locally)
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix another build issue
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix unit test failures
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix a duplicate issue with sanitization that was causing sporadic test failure (thanks, test!)
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* One more Linux fix...
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Adds check to make sure that there are not too many samples created.
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes made from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes made from PR 2
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* configure/generation working
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Generates deb package forLinux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes to EngineFinder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* changes the owner of the installed folder so it is writable by the user
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* jenkins scripts
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes execution permission for scripts
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes wrong parameter to build for linux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removal of clang parameters in build_config.json
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Simplifies and fixes build configs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes to EngineFinder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Adds linux deb package upload and small fixes/organization cleanup
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes checksum generation
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Some more small fixes for reviewing
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Test if this space is necessary for cpack
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* More fixes for installer jobs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Adding eval to variables that need to double-expand
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Removing unused variables being passed
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Do not remove symlink
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Use cmake_path for concatenating paths
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removing quotes so the variable expands
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* cleaned up some variables that have way too many ways to be passed
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Multiple fixes for Jenkins
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Cleanup/re-organization
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes some temp variables so we can run cpack jenkins jobs locally
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Delays cmake download to install step
Cleanup on installer_windows.cmd, we already have the path to cpack (same as cmake, which is added to the path)
Some simplification in the windows installer generation, we now generate the same even if we dont upload
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes mac install
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* CPack can generate hashes for us
Defiine CPACK_OUTPUT_FILE_PREFIX to prevent the exe/msi from ending in the bin dir
Remove unnecessary generation of folder from 3rdPartyPacakges which fails when including from cpack
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* multiple fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes typo
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* more fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes for linux/mac/windows (fixing discrepancies with Jenkins)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* uploads to S3 from the upload directory and fixes the latest upload
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Adds ERROR_VARIABLE to S3 upload to find a Jenkins issue
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* printing command invocation to try to figure out the errors
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Changes the hashing algorithm to sha256 and fixes the cmd used to call to pythojn
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* wrong path being passed in mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removes compiler parameters from a config job (after rebase)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* more fixes fro deb packaging job
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* small fix for fingerprint patching for latest
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Changing extension of public key and leaving better TODO places for code signing
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Removes sdl as a dependency, leaving it commented since it is needed for wwise
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes runtime copy during install, makes it more consistent with regular runtime dependencies and optimizes copy when there is already an install
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* $ENV{DESTDIR} and CMAKE_INSTALL_PREFIX cannot be used in cmake_path because the CMAKE_INSTALL_PREFIX is absolute
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixing some runtime_dependencies optimizations, we cannot take size of a bundle
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes warning in mac for an unused variable
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes a variable that was being passed to fix qt frameworks
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* More fixes for Jenkins
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Updates email to use for maintainer to match certificate
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* make directory because in some cases the dependency is copied before the actual library and the directory has to be created
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fix for a new warning/error in linux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* The sha file is created after the upload happens, so creating it
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* remove the size comparison for install since it stomps over the copy from the target and doesnt trigger stripping
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Replace Instance References with EntityId of the Prefab Container (WIP)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Use the invalid entity id for the root instance and get the root instance every time to prevent weird Prefab EOS shenanigans.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Revert unnecessary changes, fix IsOwningPrefabBeingFocused to match previous behavior. Disable some tests that no longer apply correctly due to the testing environment not relying on the Prefab EOS.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix minor typo in test comment
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Renamed ArchiveLocationPriority enum to FileSearchPriority and made it a proper enum class
Added an ArchiveVars.cpp which checks the a new define: `LY_ARCHIVE_FILE_SEARCH_MODE_DEFAULT`
That define represents the default value to use for the Archive system search mode
Moved the FileSearchLocation enum to the ArchiveVars.h header
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AssetBundleComponent to use AZ::IO::Path for level dirs
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a LY_ARCHIVE_FILE_SEARCH_MODE cache variable
The Cache Variable default value is to Archive File Search Mode to PakOnly
in Release. This can be overridden using a value for all configurations
by specifying a number of 0, 1 or 2.
Alternatively a generator expression can be used to set the Archive File
Search Mode in specific configurations.
For example to set the FileSearchMode to 1 in profile and 2 in release
the following LY_ARCHIVE_FILE_SEARCH_MODE value can be used
`$<$<CONFIG:profile>:1>$<$<CONFIG:release>:2>`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated AssetBundler(Batch) VS Debugger arguments to populate the
project-path optoin if a single project is configured.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Add support for serializing older versions of the AssetBundleManifest
This is done by attaching the "ObjectStreamWriteElementOverride"
attribute to the AssetBundleManifest reflection.
That attribute contains a function which outputs an older serialized
version of the AssetBundleManifest based on the `m_bundleVersion` member
value.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* AZStd::variant Serialization fix
The AttributeData<T> type is no longer suitable for storing the
ObjectStreamWriterOverrideCB function
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* updates to use more modern viewport intersection logic
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates to editor viewport ray intersection for object placement
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* make ed_defaultEntityPlacementDistance visible to Viewport.cpp
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix link error for AZ_CVAR variable
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates following review feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* improvements to editor selection in the viewport
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix issue with being able to select icons that are not showing for entities inside entity containers
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update comment after review feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates to viewport picking code to simplify the api
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add test to replicate near clip intersection issue
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* small tidy-up changes
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates to how we perform world to screen and screen to world calculations, added test coverage and some tidy-up
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add some more tests for ViewportInteractionImpl
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* minor tweaks before PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix typo in fix
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for manipulator test framework tests
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates to RPI::View and RenderPipeline after review feedback from VickyAtAZ
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add constexpr to ScreenPoint, ScreenVector and ScreenSize initializing constructors
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add PrintTo functions for Screen* types
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* downgrade error to warning temporarily
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* check incoming view is null
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* remove pragma optimize off
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* Re-enabled linux tests physics
* Fix for python load errors on Linux (#5627)
* Explicitly load libpython on Linux
Downstream loads of python modules that weren't linked to libpython would
fail to load because libraries were loaded using the RTLD_LOCAL flag. This
adds a function that will explicitly load libpython on Linux using the
RTLD_GLOBAL flag.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Fix misspelled function name
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Addressing PR feedback
- Updates naming and location of things.
- Adds load code to a Gem template.
- Updates error checking.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Address further feedback
Removes the api function in favor of just having modules inherit off a
PythonLoader class, that way we get RAAI behavior and lifetime management
for free.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
Signed-off-by: aljanru <aljanru@amazon.co.uk>
Co-authored-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Add support for getting the level entity when prefabs are enabled.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Made a little prettier.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Addressed PR feedback plus fixed the crash when the level component failed to add.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Explicitly load libpython on Linux
Downstream loads of python modules that weren't linked to libpython would
fail to load because libraries were loaded using the RTLD_LOCAL flag. This
adds a function that will explicitly load libpython on Linux using the
RTLD_GLOBAL flag.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Fix misspelled function name
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Addressing PR feedback
- Updates naming and location of things.
- Adds load code to a Gem template.
- Updates error checking.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Address further feedback
Removes the api function in favor of just having modules inherit off a
PythonLoader class, that way we get RAAI behavior and lifetime management
for free.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
I actually tried this approach before and it didn't seem to work the way we needed, but I realized that's because PropertyAssetCtrl wasn't handling missing assets properly. I fixed a few issues there including showing the error button when the asset can't be found, and fixing a broken reference to the error icon file.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
* Adding undo support to SetComponentProperty to make it function with prefab system
Signed-off-by: Mikhail Naumov <mnaumov@amazon.com>
* Renaming a variable
Signed-off-by: Mikhail Naumov <mnaumov@amazon.com>
* PR feedback
Signed-off-by: Mikhail Naumov <mnaumov@amazon.com>
Replaced and removed the CryTimer (gEnv->pTimer). The new TimeSystem is a merger of the current time functionality found in the engine.
* Rename TimeSystemComponent.h/.cpp to TimeSystem.h/.cpp
* Adding New TimeSystem
* remove old timer cvars
* small improvements to the time system.
- updated parts to use the time conversion functions.
- in AdvanceTickDeltaTimes applying t_simulationTickScale is now uses doubles instead of floats.
* Replace gEnv->pTimer / ITimer usages with TimeSystem
* Updating usages of AZ::TimeMs{ 0 } and AZ::TimeUs{ 0 } to AZ::Time::ZeroTimeMs and AZ::Time::ZeroTimeUs
* red code the CryTimer
* using TimeUs instead of TimeMs is some cases + updating usages of old cvars to new
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
* Extend the level entity behavior to open prefab containers in focus mode. Disable manipulators for these entities too.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor adjustments
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix enum casing in Entity Inspector.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Split views between for Level and FocusedContainer entities.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Slightly different fix to support components on focused containers.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor fixesto RefreshSelectedEntityIds.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Enable relocation of the Project Game Release Layout
Relocating the Project Game Release Layout to another directory on the file system failed due to the querying of the engine root failing due to the ComponentApplication::m_engineRoot not using the project path stored in the SettingsRegisry if the engine root cannot be detected
Removed the ApplicationRequestBus GetEngineRoot function.
The ComponentApplicationRequestBus has a function of the same name that returns the same path.
Removed the deprecated GetAppRoot function.
The path it returns has no defined value. It was not the engine root or the project root.
Removed unused CFileUtil and CFileUtil_impl functions that were invoking the ApplicationREquestBus GetEngineRoot function.
On the way to update the functions it was discovered that they aren't called
Added a CalculateBranchToken overload that can populate a fixed_string to avoid heap allocations
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Protect against an empty list of artifacts to remove when generating the
engine.pak
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Add RefreshAllContainerEntities function to ContainerEntityInterface. It refreshes all registered containers so that listeners can refresh their state.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Move Prefab border painting to foreground, and invert foreground painting order. This ensures the Prefab capsules are drawn according to UX.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fixed the return value of the ConvertToAbsolutePath function
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added the generated cmake_dependencies.*.setreg files to engine.pak (#5073)
* Copied the generated cmake_dependencies.*.setreg file to the Cache
directory
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed the platform name from the bootstrap.game.*.setreg
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Update how the project related file paths are determined when not
supplied.
The project-path determination now goes back to only detecting a "project.json" file.
It no longer attempts to detect a "Cache" directory
The project-cache-path determination now in addition to checking the
project_cache_path key searches for a "Cache" directory.
The project-path defaults to executable folder if it cannot be detected.
The copying of generated executable folder Registry directory contents
to the product cache is now removed after the archive step.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the invocation of the AssetProcessor in Jenkins to supply an
absolute path to the project.
The project-path is no longer treated as relative to the engine root,
but instead relative to the current working directory at application
startup.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added constant for the storing the name of Cache directory
Fixed typos and grammatical errors in the SettingsRegistryMergeUtils.cpp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated UnitTest prepend the EngineRoot path to "AutomatedTesting" when
setting the project path.
This is needed now that the project-path isn't treated relative to the
EngineRoot if it is not absolute.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fix AssetSeedManagerTest and PlatformAddressedAssetCatalogManagerTest
Instead of trying to used the AutomatedTesting directory as the project root, the temp directory created during the test is used as the project root.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moved the setting of the project cache root folder and project
asset platform root folder into the `if (!projectCachePath.empty())`
block
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing the scan up logic for the "Cache" directory.
This is no longer needed to locate the project cache path in a Project Game Release Layout.
Because the project path defaults to the executable directory if, it is not found, the Cache directory will be set to the "Cache" directory within the executable directory.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* add optimize off code temporarily
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* ensure the imgui menu displays when the viewport border is active
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
The EditorEntitySortComponent was relying on serialization callbacks not exposed to the JSON serializer to marshal data between its serialized state and its runtime state, which led to the outliner sort order becoming disrupted every time a prefab propagation occurs (and the component is subsequently serialized and deserialized). This change:
- Forces `PrepareSave` and `PostLoad` for `EditorEntitySortComponent` to be called at update (direct descendant added or removed) and activation time respectively while prefabs are enabled. While this could be optimized, and this logic stands to be refactored once slices are fully removed, I was unable to gather any samples in which `PrepareSave` are called in a sampling profiler in a scene with 1000 top-level entities, so I don't anticipate this introducing a meaningful performance regression in the short term.
- Disables updates in `EditorEntitySortComponent` during prefab propagation, as any detected changes do not signal authored intent at this time
- Made `GetEntityChildOrder` in `EditorEntityHelpers` work with prefabs enabled, which restores the existing "Sort: A -> Z" and "Sort: Z -> A" behaviors (which have some preexisting issues this does not fix)
- Adds a Python regression test to the Editor suite to validate this behavior - the test is currently in TestSuite_Main and not TestSuite_Main_Optimized because it requires an Editor launch with prefabs enabled, this can be fixed once AutomatedTesting is further migrated away from slices
@AMZN-daimini has a larger change that improves the JSON serialization format (https://github.com/o3de/o3de/pull/1292) which we should absolutely bring in in the future to improve the legibility of the Prefab format, but this change fixes the functionality (including saving & reloading a level and keeping a consistent order) without altering the Prefab format - this lower impact radius fix is my preference for our stabilization period.
Signed-off-by: nvsickle <nvsickle@amazon.com>
- system allocator not configured in environment for AZQtComponents
- WA_DeleteOnClose will destroy the toast dialog causing a crashing when ToastNotificationsView tries to access the pointer
issue: https://github.com/o3de/o3de/issues/5129
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* Enable closing prefab by double-clicking it when it's in focus.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Enable double clicking on level prefab to close focus mode and return to editing the level.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce API function to go up one level in the Prefab Focus Mode hierarchy.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Enable keyboard shortcuts to more easily navigate the prefab hierarchy.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Tie the "Open/Edit Prefab" action to the = key on top of +. This allows users with compact US keyboards to use either key, preventing them from having to press Shift and =.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Replace the behavior of the "Up one level" button in the breadcrumbs with the new function that serves the same purpose. Also show the - shortcut in the tooltip.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix FocusOnParentOfFocusedPrefab to require the entity context id (to conform with the other functions in the API that don't pass entityIds). Expand its usage to other functions that did the same operation manually.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Include fix for non-unity builds
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Disable drag&drop of entities on closed containers.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Do not show the Create Entity context menu when right clicking a closed prefab container.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Disable entity creation on closed containers, both via the Create Entity flow and drag/drop of assets.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor changes to modernize old code.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Disable drag&drop of entities on closed containers.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Do not show the Create Entity context menu when right clicking a closed prefab container.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Disable entity creation on closed containers, both via the Create Entity flow and drag/drop of assets.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor changes to modernize old code.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add benchmarks for SpawnAllEntities call in SpawnableEntitiesManager
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Minor changes to SpawnAllEntities benchmarks setup
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Used aznumeric_cast and improved a function name
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Fixed an invalid converstion from uint64_t to unsigned int
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
- system allocator not configured in environment for AZQtComponents
- WA_DeleteOnClose will destroy the toast dialog causing a crashing when ToastNotificationsView tries to access the pointer
issue: https://github.com/o3de/o3de/issues/5129
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* remove HandleFocusChange from FocusIn/Out events in QtEventToAzInputManager
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* ensure we clear input channels when application state changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* wip changes for focus switching tests
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* updates to test to verify focus change not affecting input
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to ensure input is not cleared when focus changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* ensure key press goes to correct widget
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to verify input is cleared when application state changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* clear input for all types of application state change
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update input key for focus test
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* use the Settings Registry to tell the InputSystemComponent to disable various devices
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update how we simulate the application state change event
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* revert Settings Registry changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
This also fixes several issues discovered through the unit tests and renames a few functions to be clearer.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
• Changed thumbnail property control to track asset key even if image is overridden so that it will be restored if the image is cleared.
• Changed property asset control to disable the thumbnail image by default whenever the attribute is applied. It will only enable the thumbnail image if the pixmap is valid.
• Changed the material component controller to always use an empty material assignment map on deactivation so that no persistent materials are reapplied.
• Changed the material component controller to immediately send a notification that materials have updated if no materials were queued for load but the configuration contained pre created or persistent material instances. This mainly affects the material editor because it manages its own material instances.
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
The following has been changed:
- AssetDataStream can now return the stored streaming deadline and priority.
- RootSpawnable now has an event that's called just before root spawnable spawns entities. This is an immediate event unlike the other events that are queued.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* bugfix: improve viewport overlay
- disable animation for window
- fix problem where vieport is offset from main window
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* update geometry of m_uiOverlay
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* Added Hydra API to extract all the classes, globals and EBuses exposed
to lua:
azlmbr.script.LuaSymbolsReporterBus:
GetListOfClasses
GetListOfGlobalProperties
GetListOfGlobalFunctions
GetListOfEBuses
Also exposed to Hydra the classes that can be used to dump
the symbols
azlmbr.script.LuaPropertySymbol
azlmbr.script.LuaMethodSymbol
azlmbr.script.LuaClassSymbol
azlmbr.script.LuaEBusSender
azlmbr.script.LuaEBusSymbol
The python file Assets/Editor/Scripts/lua_symbols.py
can be used with "pyRunFile <script_name> [output.txt]"
to create Game/output.txt will all the symbols
OR
passing up to three additional arguments "c" or "g" or "e" to dump only
classes, globals or ebuses or a combination of those. Example:
To create an output file with only classes and Ebuses:
"pyRunFile <script_name> [output.txt] c e"
Signed-off-by: garrieta <garrieta@amazon.com>
* Change Prefab Focus breadcrumb widget to display template filename instead of instance container entity name. Also display dirty state for the template (*) and refresh it in real time.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Streamline path creation code; fix stem retrieval to ensure extension is cut correctly; delay refresh one frame when path is clicked to correctly refresh it.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Remove test code.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Simplify code to use Native directly.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor variable renaming and comment adjustments to make them clearer.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce Outliner button to simplify Prefab editing
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix Focus Mode and disabled entities colors
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix - propagate the event if the OnOutlinerItemClick function returns false.
This does not change current behavior but makes more sense in the context of future handlers.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Adjust disabled colors to match UX recommendations.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Display the edit button even if the prefab is disabled. Remove prefabWip check (it will be removed for focus mode by the time this goes in). Default to disabled capsule color for borders to save on checks.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Disable edit button on disabled prefabs as it caused conflicts in nested prefabs. May explore that possibility later.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Change disabled text color to be darker, as asked by UX.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
- Add a new automated test PrefabBasicWorkflow_CreateReparentAndDetachPrefab for verifying prefab detachment basic workflow.
- Add a new automated test PrefabBasicWorkflow_CreateAndDuplicatePrefab for verifying prefab detachment basic workflow.
- Fix a bug related to sets of entity ids in Reparent helper function .
- Prevent P4 thread to run if we cannot detect the P4 command to begin with
- Add a trait to disable calling the parent ComponentApplication::Destroy(), instead calling _exit() to skip the module unloading on exit
Signed-off-by: Steve Pham <spham@amazon.com>
* Initialize the PrefabFocusHandler on context reset, to also cover the case of a new level being created on the welcome screen.
Relax checks/restrictions on refreshes to cover cases where an instance is reused by the Prefab EOS.
Refresh the breadcrumbs when a container is renamed and when a change is propagated to the instances to ensure the correct names are displayed.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Rename m_isInitialized to m_initialized in PrefabFocusHandler
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Use find_if to detect when a container entity in the focus path has been renamed.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Renaming and commenting variables in PrefabFocusHandler.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Undo minor naming change
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Replace lazy initialization and have the UI side initialize the Editor calls in PrefabFocusHandler.
This should prevent issues with focus mode trying to access these interfaces in non-editor applications.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
Move the existing Qt Toast Notification QWidgets, EBuses and logic from the GraphCanvas gem into AzQtComponents and AzToolsFramework so they can be re-used.
Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
* {lyn7065} adding ProcPrefab Prefab::Tempate flag method
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* updated based on comments
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* moved validation logic to IsValid()
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* added more guards around the source string
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
The test was relying on immediate updates from the prefab system which are now scheduled for a later tick - this reworks the tests to wait for deferred updates before validating state
Signed-off-by: nvsickle <nvsickle@amazon.com>
* {lyn7251} Add material component example in Python
adds a AZ::Render::EditorMaterialComponent as an example of how to
override the default material from the scene building pipeline
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* Only set the cube to a gray material
Skip loading the asset, instead just set the outPrefabAssetPath for the Prefab system to load
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* stablizing the sub-id of procedural prefab groups
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
The EntityOutlinerListModel was violating the QAbstractItemModel contract in a few cases, as reported by `QAbstractItemModelTester`. The important ones causing issues were:
- Entry order was not guaranteed, leading to model indices pointing at invalid data
- Parent/child relationships could be temporarily invalid due to a change I made in EditorEntityModel::RemoveEntity to try to avoid an unnecessary reparent operation - as it turned out, the parent/child data was being cached even for recreated entities and not clearing child data could cause issues
- `EntityOutlinerListModel::ProcessEntityUpdates` was emitting data changed between two indices that didn't necessarily share a parent, which is [undefined behavior](https://doc.qt.io/qt-5/qabstractitemmodel.html#dataChanged)
The other reported issues (that weren't really causing issues with `QTreeView`) were:
- The root index had flags other than `Qt::ItemIsDropEnabled`
- `rowCount` showed all columns as having children
- `parent` showed indices as being parented to a non-0 column
This change introduces fixes for the above issues, namely:
- Reverts my change to `EditorEntityModel::RemoveEntity` to ensure we don't have invalid parent/child references sitting in the cache
- Ensures `EditorEntityModelEntry` child ordering is guaranteed sorted by EntityId, to prevent the `EntityOutlinerListModel` from having indices pointed at invalid data*.
- Fixes various model sanity issues, such as `rowCount` being 0 for indices with a non-0 column
Two unit tests were added to reproduce the invalid behavior and validate the fix: TestCreateFlatHierarchyUndoAndRedoWorks and TestCreateNestedHierarchyUndoAndRedoWorks
This change focuses on correctness over performance. My subjective in-Editor outliner experience is about the same, but it may be worthwhile to expand the test coverage with a benchmarking suite to look into areas for optimization.
*As a rough illustration of the previous child ordering behavior, consider the following entity hierarchy:
```
Root (EID 9999)
|_ Child1 (EID 2)
|_ Child2 (EID 3)
|_ Child3 (EID 4)
```
With an representations like the following pseudocode:
```
// EditorEntityModel representation
EditorEntityModelEntry root;
root.children[0] = 2;
root.children[1] = 3;
root.children[2] = 4;
// EditorOutlinerListModel representation
// row, column, user data (64 bit uint)
child1 = QModelIndex(0, 0, 2)
child2 = QModelIndex(1, 0, 3)
child3 = QModelIndex(2, 0, 4)
```
When removing a child, the `EditorEntityModel` used to do roughly the following:
```
// Swap and pop the last child
int indexToRemove = 0;
swap(root.children[indexToRemove], root.children[root.children.size() - 1]);
root.children.resize(root.children.size() - 1);
model.notifyRemoved(root, indexToRemove); // model removes the row indicated
// Leading to this EditorEntityModel state
root.children[0] = 4;
root.children[1] = 3;
// And this EntityOutlinerListModel state, note that the row indices are swapped from the indices in the backing storage
child2 = QModelIndex(0, 0, 3)
child3 = QModelIndex(1, 0, 4)
```
A QModelIndex having a row that doesn't match its underlying data is undefined behavior, and was the source of an intermittent crash in our `QSortFilterProxyModel` as subsequent updates to the wrong row led to an invalid proxy state.
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Delay propagation for all template updates in detach prefab workflow
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Some minor changes to the PrefabUndo constructor
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Parent top level entities to container entity when creating prefab
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add to_json method to PythonProxyObject to allow serializing any AZ serialializable type
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update scene_mesh_to_prefab.py to parent entities in a chain
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove redundant eval
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Improve error handling in ToJson
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add maybe_unused for commonRoot since it's not used
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* restore component mode border
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add viewport border for focus mode, remove dead code in ObjectManager
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* ensure the focus mode border is restored when leaving component mode
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update FocusModeNotification call order after merge from development
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Disable ability to delete container entity of focused prefab. Default entity creation to parent to container entity of focused prefab.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Disable detach and duplicate operations for the container of the focused prefab. Update the context menu accordingly.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix spacing
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Address minor issues from PR (error message, optimization in RetrieveAndSortPrefabEntitiesAndInstances).
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Change FocusModeNotificationBus's OnEditorFocusChanged arguments to also pass the previous focus root entity id.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add focus mode and container entity states to the visibility cache for the viewport. Use that data to correctly select entities when a rect is dragged on the viewport.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor code adjustments
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor fixes and optimizations
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Don't allow right clicking on a non selectable entity in the Outliner
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Also check that the index is valid to still allow the right click context menu to appear on empty areas of the widget.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Change if check to a more readable bool.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Light refactoring of selection logic. Only draw helpers for selectable entities according to Editor Focus Mode and Container Entity systems.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* When Escape is pressed, clear the Prefab Focus.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Alter Ctrl+A and Ctrl+Shift+I to take editor focus mode and container entity behaviors into account.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Remove redundant comments and reduce footprint of tests.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce loop protection, as GetParentId is known to loop in some situations possibly causing timeouts.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
• PropertyAssetCtrl was previously extended with ThumbnailPropertyCtrl to optionally display a thumbnail and floating zoomed in preview of the selected asset.
• This change allows overriding the image that comes from the thumbnail system with a custom image provided as an attribute. The custom image can be specified as either a file path or a buffer containing a serialized QPixmap.
• This will be used by the material system in the editor to provide a dynamically rendered image of the material with property overrides applied so that the image will update as the user customizes their material.
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
* Change SetContainerOpenState to SetContainerOpen.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce Clear function to avoid retaining all lingering open states when switching contexts/loading a new level.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor FocusMode fixture refactors to support ContainerEntity tests
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce tests for the ContainerEntity API
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add include to fix issue with EntityContextId not being defined.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor comment fixes. Moved environment clear functions to TearDown function of test fixture.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Use default editor context id in ContainerEntitySystemComponent
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Revert previous change as the EditorEntityContextId would not be initialized correctly on ContainerEntitySystemComponent Activate.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
- always show controls on top of main ui
- Tool window does not show visually in toolbar
issue: https://github.com/o3de/o3de/issues/4380
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* remove some unused code in RenderViewportWidget and make viewing devicePixelRatioF easier
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* updates to how cursor positions are calculate to handle the viewport widget moving
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* remove optional for previous position
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to capture error with moving the widget
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* minor comment updates before publishing PR
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Add helper function to apply a selected file filter from a file dialog to the result filename if needed
* Add platform traits to restrict the use of the helper function on platforms that need to apply it
* Fix building of file filters of multiple extensions for a file type
Signed-off-by: Steve Pham <spham@amazon.com>
* capture assets using SerializedAssetTracker in LoadInstanceFromPrefabDom()
assign assets using asset hints where the asset ID is not valid
switch up SerializedAssetTracker to store pointers instead of copies of Asset<>
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* PoC for the AssetFixUp strategy
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
* clean up of PoC
Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com>