* Update the FileIOAlias naming to make the cache, project root and engine
root paths more clear
The alias of `@root@`, `@assets@`, and `@projectplatformcache@` has been
collapsed to `@projectproductassets@`
The alias of `@devroot@` and `@engroot@` has been collapsed to
`@engroot@`
The alias of `@devassets@` and `@projectroot@` has been collapsed to
`@projectroot@`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated use of devassets and devroot properties in python
Those properties now use projectroot and engroot
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updating the alias @engroot@ alias path comment in each platform specific LocalFileIO_*.cpp file
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed hardcoded size of 9 for the product asset alias.
The ResolvePath function now just appends the @projectproductassets@
alias with the input path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Remove duplicate @projectproductassets@ check in ProcessFileTreeRequest
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fix for typos in Hydra python test
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated LocalFileIO::Copy call on Windows to use the Unicode aware CopyFileW API
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AWSMetreicsGemAllocatorFixture to properly suppress asset
cache write errors for Test file creation.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed unneeded call to set the @projectproductasstes@ alias at the bottom of the AssetSeedManagerTest SetUp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a deprecated alias map to the FileIO System
When a deprecated alias is accessed, the FileIO System logs an AZ_Error and indicates the alias that should be used
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated python test scripts to use the projectroot binding
Retrieving the AutomatedTesting project path based on "<devroot>/AutomatedTesting" has been removed.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated references to devroot and devgame within the codebase
The GetAbsoluteDevGameFolderPath functions has been replaced with direct call to AZ::Utils::GetProjectPath
The GetAbsoluteDevRootFolderPath functions has been replaced with direct calls to AZ::Utils::GetEnginePath
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated <engroot>/AutomatedTesting references to projectroot
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced references that assumes the project path is <engroot>/AutomatedTesting with <projectroot> in the AutomatedTesting python test
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correct casing in emfxworkspace file
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed newly added AppendPathParts function
Removed the Path constructors which accepts a PathIterable instance
The PathIterable isn't safe to return to a user of the Path class as it might be referencing temporary paths supplied via PathView arguments
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed unused parameter warning
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Undid change to the LexicallyProximate function to set the path result to the base path.
It needs to return the *this path if the pathResult is empty
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moved the LocalFileIO ConvertToAbsolutePath implementations to AZ::Utils
Fixed the ConvertToAbsolutePath implementation for Unix platforms to use a buffer that is size PATH_MAX(4096 on all our supported Unix platforms).
Because the buffer before was AZ::IO::MaxPathLength which as a size of 1024, this was resulting in the Unix `realpath` function smashing the stack when it converts a path to an absolute path that is longer than 1024 characters
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the EditorCore.Tests to attach the AZ Environment to the EditorCore shared library that is statically loaded on launch.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed for DeprecatedAlaisesKeyVisitor Visit function causing the non string_view overloads being hidden causing a hidden base class function warning
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Changed the AWSMetricsGemMock to use a temporary for writing test assets
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the LocalFileIO::ResolvePath function to use HasRootPath to determine if a path starts with a root path such as "D:", "D:/" or "/"
IsAbsolute was not the corect check as the path of "D:" is a relative
path.
To be absolute according to the Windows the path must have a root
directory. i.e "D:/" or "D:\"
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed absolute path comment from LocalFile_UnixLike.cpp and LocalFile_Android.cpp FindFiles implementations
Updated the ConvertToAlias to supply an AZ::IO::FixedMaxPath
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced usage of the @projectproductassets@ alias with @engroot@ when referring to the LmbrCentral source folder in the CopyDependencyBuilderTest and the SeedBuilderTests
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the ScriptCanvas Upgrade Tool to output backed up files to the
Project User Path instead of the engine root
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed whitespacing issues in Application.cpp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Remove unnecessary creation of a FixedMaxPath in the UpgradeTool.cpp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Modified testSeedFolder variable in the SeedBuilderTests to use the
@engroot@ alias instead of @projectproductassets@/.. alias when
referring to the LmbrCentral Gem source path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated references to the Project Asset Cache in the PythonTests.
Those tests no longer use the logic `azlmbr.paths.projectroot / "Cache" / "pc"` to retrieve a path to the cache root but instead the `azlmbr.paths.projectproductassets` constant
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed the FileIO Deprecated Alias test on Windows
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing @projectsourceassets@ alias, as it is only used once.
Updated the PhysX EditorSystemComponent.cpp to query the ProjectPath
form the SettingsRegistry.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced @projectproductassets@ alias with @products@
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Rollback changes to the PhysX EditorSystemComponent.cpp
The changes to use the ProjectPath from the SettingsRegistry has been implemented in PR #4497
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Various fixes and empty boilerplate files required for restricted platforms.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Add comments to address review feedback.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix two compilation errors exposed when enabling tools support for any restricted platform.
- The simple one: remove menu commands that call OnChangeGameSpec (which has since been removed) from CryEdit.cpp
- The "I almost threw my computer out the window" one: pull PVRTC.cpp out of unity builds, because it indirectly #includes winnt.h, which typedefs wchar_t WCHAR, which causes a complilation error (Error C2632 'wchar_t' followed by 'wchar_t' is illegal ImageProcessingAtom.Editor.Static C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h 471) if something else in the unity file has also happened to define WCHAR as wchar_t. Enabling tools support for any restricted platform resulted in this happening due to different compile definitions being set for ImageConvert.cpp and BuilderSettingManager.cpp (see Gems/Atom/Asset/ImageProcessingAtom/Code/CMakeLists.txt), which resulted in those two files being pulled out of unity builds, which resulted in the entirely unrelated PVRTC.cpp file being moved from the first thing included by a unity file to the second last thing included by a different unity file, that just happened to include something else (prior to PVRTC.cpp) which was defining WCHAR as wchar_t.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* WIP - small legacy cleanup
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More cleanups + build fixes
Use AZstd instead of std types in a few places.
Remove m_nameTable.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Legacy code cleanups
Remove unused methods using legacy functionality
* EditorViewportWidget::AdjustObjectPosition
* DisplayContext - remove `renderer` pointer
* DisplayContext - log errors when functions using `renderer` are called
* CTrackGizmo::DrawAxis - log errors when function uses `renderer`.
* Legacy CCamera - remove Project, Unproject and CalcScreenBounds
* Remove all unused methods from Cry_GeoDistance.h/Cry_GeoIntersect.h
* Remove Lineseg_Triangle from Cry_GeoOverlap.h
* IEntityRenderState.h - remove unused types
* SMeshColor remove Lerp method and associated constructor.
* IMaterial.h - remove unused types and a few methods
* IRenderMesh.h - remove a few unused methods and use int8 instead of
byte
* IRender.h - remove almost all of the contents
* IShader.h - remove unused types and a few methods
* IStatObj.h - remove unused types and a few methods
* SSystemGlobalEnvironment - remove `renderer` pointer
* IRenderGraph - remove 2 unused methods
* physinterface.h - remove almost all of the contents
* CXmlUtils no longer inherits ISystemEventListener
* CXmlNode no longer has custom new/delete
* Remove IRenderer from some test mocks.
Removed files:
* CryName.h
* Cry_MatrixDiag.h
* Cry_XOptimise.h
* HeapAllocator.h
* IRendererMock.h
* PoolAllocator.h
Things to consider:
* Remove GetMemoryUsage & friends.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Apply review suggestions
IMovieSystem.h - remove unused includes.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Move unreachable code to `#if 0` block
This is hopefully temporary measure until the original functionality is
re-implemented
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix bad merge I messed up.
Fix bad merge I messed up, by re-removing FrameProfiler.h from crycommon_files.cmake (this was removed in an earlier commit this morning: https://github.com/o3de/o3de/pull/3394).
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Update Code/Framework/AzCore/AzCore/std/string/string_view.h
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* implement review suggestion
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* following review, using LYSHINE_ATOM_TODO to guard
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove commented out include
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* EditorViewportWidget.cpp: Convert commented out code to guarded one
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
Co-authored-by: bosnichd <bosnichd@amazon.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Changes in this commit :
- Added AreDirtyTemplatesPresent() method to PrefabSystemComponentInterface
- Added ConstructSaveLevelDialog() helper method to create the save level dialog
- Added ExecuteSavePrefabsDialog() helper method to create and execute the save prefabs dialog
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
Root Cause:
On Linux, there is no need to wrap paths with double quotes for an executable
when spawning a process with execve (or in this case QProcess::startDetached).
Having the double quotes will result in an underlying "path not found"
Signed-off-by: spham-amzn <spham@amazon.com>
Changes in this commit:
- Added comments to dialog code in CryEdit.cpp and CryEditDoc.cpp
- Moved Code/Framework/AzQtComponents/AzQtComponents/Components/img/UI20/Cards/warning.svg to Code/Framework/AzQtComponents/AzQtComponents/Images/Notifications/warning.svg
- Improved the hover message over prefab settings in EditorPreferencesPageGeneral.cpp
- Fixed a syntax error in Editor.qss
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
A few 'typedefs' replaced by 'using's
This shouldn't have any functional changes at all, just c++17 modernization
It's a part 5 of a split #2847
Signed-off-by: Nemerle <nemerle5+git@gmail.com>
Co-authored-by: Nemerle <nemerle5+git@gmail.com>
Removal highlights include:
- File indexer (used CryThread<>) linked to long gone asset browser
- Producer/consumer queues from CryMT
- set/vector/CLocklessPointerQueue containers also from CryMT
- Cry interlocked linked list and _InterlockedCompareExchange128
- CryThread type
- SAtomicVar types
- CryAutoSet type
- Various unused lock types
-- AutoLockModify
-- AutoLockRead
-- CryOptionalAutoLock
-- CryReadModifyLock
-- CryRWLock
-- ReadLock
-- ReadLockCond
-- WriteAfterReadLock
- Misc. unused functions
-- CryInterLockedAdd (not to be confused with CryInterlockedAdd, using a lower case "locked")
-- CryInterlockedExchange64 (which was only defined for unix platforms)
-- SpinLock
-- JobSpinLock
-- AtomicAdd
-- JobAtomicAdd
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
- Handle changing of active camera entirely inside CameraComponentController
- Remove a LOT of legacy Cry things related to cameras
- Add a CameraSystemComponent to handle ActiveCameraRequestBus and CameraSystemRequestBus
Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
* The enable_gems command now registers the gem with the project if only registered with o3de_manifest.json
Updated the `enable_gems` command to register the gem with the project if the gem is not registered with either the project or the engine being used.
This allows the gem to be added to the build system if it wasn't registered before.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding quoting around the invocation of the OpenProjectManager command
The --project-path parameter now is able to pass in a path with spaces
to the invocation of the Project Manager.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
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>
* Cherry Picking (lyn1751)
Problem with DCO so we need to cherry pick this branch.
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Cherry picking #2
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Cherry picking 3
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changed variables reverseurls
This was just changing some name variables.
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changes from past PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* changes from past PR and fixed small bug:
Also removed some legacy code from Resources.h
Signed-off-by: aaguilea <aaguilea@amazon.com>
* couple of changes from actual PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* fixed copyright issues for AR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com>
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com>