* Fix recursive attempts to open the log file in the GameLauncher
The AzFramework Application has been updated to default the @user@ and
@log@ aliases to the <engine-root>/user and <engine-root>/user/log
folder respectively if a project isn't set.
Fixed the SystemFile class to support negative offsets if Seek() as per
standard seek function such as fseek
Updated the CrySystem CLog class to use SystemFile instead of FileIOBase
to avoid any asserts that would cause CLog::OpenFile to be recursively
called infinitely
* Removing unused Force Closed variable
* AZ::IO::SystemFile build fixes for Unix platforms. Added a copy constructor for LUAEditorContextInterface.h to fix the LuaEditor build
* Adding missing includes to the WindowsAPI and Android SystemFile headers
This issue manifested in a crash in rare circumstances when the Editor lost and gained focus while a modal dialog was active. After investigation, it was discovered that native event processing can lead to IdleProcessing being called again from the main thread while idle processing is still happening. As this is unintentional and generally undesirable, we now guard against this within the IdleProcessing method.
* Updating manifest.py template query functions
The get_project_templates, get_gem_templates and get_generic_templates
methods have been renamed to indicate that the methods return the
templates that can be used in a create-project, create-gem and
create-from-template command of the engine_template.py
Updated the print_registration.py script to support outputing project
specific gems and templates.
Add a unit test script for the manifest.py script.
Added unit test to validate the new functions:
`get_templates_for_project_creation`
`get_templates_for_gem_creation`
`get_templates_for_generic_creation`
* Implementing the project print registration methods
Added implementations of the project print registration methods and tested them locally
Removed implementations of the download print registration methods, since they have not went through app-sec review.
* Renaming get_restricted_data to get_restricted_json_data
Fixed the get_registered method in manifest.py when looking up projects
* Updated the print_manifest_json_data calls to return the result
* Fixes locating the project dll when using SDK
SDK engine usage has project dll in the project build path, but
searching for module filepaths for loading would have a passing
SystemFile::Exists check but no full filepath was amended to the module.
This causes the module to fail to load.
* Fix locating project module for UnixLike platforms
Fixes the issue with project-centric workflows running GameLauncher, and
it opens AP which can't find the project dynamic module. From AP's
perspective, the project module is not in the executable directory,
which is in engine bin. The SystemFile::Exists check is true on the
file because it uses the 'cwd'. In that situation, an absolute path
must be obtained for the module to be loaded.
* Add missing header to fix UnixLike builds
* Applies a suggested change from PR
Use operator-> on the AZStd::optional
* Add semicolon to a class macro line
Prevent auto formatting indenting the following line.
* Add the last known parent to the prefab undo cache to detect changes in the owning instance.
Still WIP.
* Progress in handling reparenting. Still WIP, need a change in CreateLink that will be addressed in a separate branch and then merged back.
* A few fixes, reparenting now works with entities. Still working on instances.
* Fix assert crashing the Editor because of the arguments being in the wrong order.
* Handle moving the patches when removing and recreating links when reparenting nested instances.
* Rearrange some code to prevent including instance removal in instance update undo node, as it would be redundant and cause errors in some edge cases.
* Reorder instance reparenting to account for correct order of operation during undo/redo
* Fix order of operations to support multiple operations in one edit (reparenting to non-container entities while changing instance)
* Add function to refresh patches on links to allow aliases to be restored correctly on reparenting.
* Removed RefreshEntityPatchOnLink function. Introduced a simpler way of handling porting patches.
* Removing unnecessary code that was left after testing.
* Minor fixes to naming and comments.
* Restore previous error, no longer printing the failed patch.
* Remove unused includes.
* Restore include removed by mistake.
* Simplified patches retrieval by using internal function. Renamed some internal functions and variables to be more accurate.
This set of changes enables conversions for singly-nested slices. Multiple nesting hierarchies are only partially supported at this point. Conversion is also significantly more deterministic, which makes it easier to convert single slices without needing to reconvert every slice or level that relies on it as well.
Changes:
- Added version of Instance::AddInstance() that takes in an alias to allow for deterministic aliases
- Added a "SliceConverterEditorEntityContextComponent" that's used to specifically disable entity activation on creation. The disabling is done this way vs adding a new public API, because the disable shouldn't be required in any normal case outside of this tool.
- Disabled more AWS gems for the SliceConverter, as they're unneeded and cause issues if they're around in the tool.
- Added a small null check to the Camera Controller.
- Added the actual support for slice instance conversion. This instantiates the entities, applies the data patches, turns them into a prefab instance, and generates a JSON patch out of the changes.
* Generic Multi Function Call ability added to extensible nodes
* Code gen improvements, including allowing for more manually codewritten extension of codegen facilities
* CVAR to disable automatic update of deprecated node
* Fixed variable sorting error that can apply to parser/runtime added variables
* Made Edit/SerializeContext ClassBuilder public, as it was needlessly private
* Fixed dangerous Datum::GetValueAddress(), it now checks for an empty storage AZSTd::any, as does Datum::Empty()
* Show container transforms, reset container transform to zero before saving a prefab after create.
* Fix order of operations to prevent patching issues
* Reset the entity to the Identity Transform instead of the default constructor to correctly set the scale to 1.0
* Removed test data from gem catalog screen as we can now extract the real data.
* Reiniting the catalog to a project updates the filters, and clears and fills the gem model.
* Added functionality to enable/disable gems based on the user adjustments on the gem catalog.