Engine improvements/fixes
Fixed behavior that made the editor automated test to be sometimes stuck if lost the focus is lost.
Added support for specifying multiple tests to in batch to the editor, this is achieved by passing --runpythontest with the tests separated by ';'
Added new cmdline argument --project-user-path for overriding the user path. This allows to have multiple editors running writing logs and crash logs in different locations.
Moved responsability of exiting after a test finishes/passes out of ExecuteByFilenameAsTest, callers will use the bool return to know if the test passed.
Editor test batch and parallelization implementation:
Now the external python portion of the editor tests will be specified via test specs which will generate the test. Requiring no code. This is almost a data-driven approach.
Tests can be specified as single tests, parallel, batchable or batchable+parallel
Command line arguments for pytest to override the maximum number of editors, disable parallelization or batching.
Automated tests for testing this new editor testing utility
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
* fix reference to temporary
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Non-unity fixes for mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
The memory of the returned parameter was being released before it was finally read and set to the final behaviour parameter in BehaviorEBusHandler::CallResult.
Making the result parameter a member of the class so its memory in still present when read in CallResult.
Signed-off-by: moraaar moraaar@amazon.com
* Default setting when no tangents rule: MikkT tangents.
* Calculates tangents/bitangents for all available uv sets.
* Creates tangent/bitangent data in in case they are not existing yet (as in: the source scene contains tangents/bitangents)
* Overwrites the tangent/bitangent data from the source scene in case MikkT is wished.
* Added helper functions to create tangent/bitangent scene nodes, finding tangent/bitangent data for a given uv layer and calculating the number of uv layers provided by the mesh scene node.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
The memory of the returned parameter was being released before it was finally read and set to the final behaviour parameter in BehaviorEBusHandler::CallResult.
Signed-off-by: moraaar <moraaar@amazon.com>
* WIP. Autonomous->Authority network properties now functional. Still need some research in regards to entity ownership when it comes to the PropertyPublisher.
Signed-off-by: Gene Walters <genewalt@amazon.com>
* WIP. Exposing Auton->Auth Properties accessors and onchange events
Signed-off-by: Gene Walters <genewalt@amazon.com>
* Fix propertypublisher constructor to skip the creation state if we arent the owner. Removing ClientToServerReplicationWindow, return to just using NullReplicationWindow.
Signed-off-by: Gene Walters <genewalt@amazon.com>
* Reverting some wip debug prints
Signed-off-by: Gene Walters <genewalt@amazon.com>
* Minor whitespacing fix
Signed-off-by: Gene Walters <genewalt@amazon.com>
* minor undoing of whitespacing
Signed-off-by: Gene Walters <genewalt@amazon.com>
* NullReplicationWindow MaxReplication is 0, but now Autonomous entity updates will always be added to the send list (ignoring the max replication limit)
Signed-off-by: Gene Walters <genewalt@amazon.com>
* Updating PropertyPublisher comment to explicitly call out if we dont own the entity locally, the remote replicator must exist
Signed-off-by: Gene Walters <genewalt@amazon.com>
* Renaming RepiclationWindow GetMaxEntityReplicatorSendCount to GetMaxProxyEntityReplicatorSendCount; this number only affects the number of proxy sends and allows autonomous properties to always send
Signed-off-by: Gene Walters <genewalt@amazon.com>
This fixes a bug where a Python script file would be run on a scene file
that didn't have a script file set.
Added a general case version to SceneBuilderWorker.cpp, to make it easy
to mark all scene files as dirty.
Automated tests for this will come in a separate pull request.
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Update fbx test dbgsg files
Remove rc products from fbx test expected output
Update warning counts for 2 of the tests - these are due to missing material properties
Add SkipAtomOutput setting to disable atom material and mesh processing in scene as these pull in a lot of external dependencies to Process
Removed BlendShapeData and MeshData debug output of positions/normals/faces
Updated ManifestImportRequestHandler to remove warning about Joining 2 absolute paths
Updated AssImpMaterialImporter to use new GenerateRelativeSourcePath API to fix issue where relative path generation failed with tmp project directories
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add comment for setting
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add override dbgsg file to python test
The mesh optimizer specifically avoids creating optimized nodes for nodes that are not selected, resulting in a different scene graph that requires a different dbgsg file to compare with
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Replace hardcoded passing of specific registry setting to instead pass all registry settings to AssetBuilder
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
There was a change in bahaviour to how files/directories were collected in the AZ::IO::FindData::Scan* functions which allowed the addition of duplicate entries. This created a problem when attempting a recursively greedy search with zips included because of the level system pak files. Their mount points would be the root "levels" folder, so for N-levels there would be N identical entries to the "levels" folder being added perpetually each time ScanZips was called on the "levels" folder or above folders with "*" filtering.
Letting the editor sit idle no longer sees the reported memory in the bottom status bar climb. Also, running the tests which prompted the initial change shows a negligible change in perf.
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* [GHI 2178] Fixed missing vegetation info
The entity debug drawing culling system was removing it due to the level entity not having an AABB. Since this component can draw infinitely far, it just needed a max AABB.
With the culling fixed, it made another culling problem evident - a bug in the font code where it wasn't culling 3D text rendered behind the camera. Now it is.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Fix problem with debug rendering not immediately showing up.
When using FloatMax for the AABB, it causes math overflows with the initial camera frustrum. Changing to max/2.0f is sufficient to avoid the overflows.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Fixed normals on mesh raycasts.
The normals needed to be normalized after transformation, and didn't need the non-uniform scale applied to them, since they're normals.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Fixed the bug that prevented max-size AABBs from working with ShapeIntersection::Overlap.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
The DynamicDrawContext can output to different scopes: Scene, RenderPipeline or RasterPass.
Updated RasterPass so it can handle not only draw calls from Views but also from DynamicDrawContexts.