You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Legacy/CryCommon
lumberyard-employee-dm e638f27572
Fixed PathView `MakeRelativeTo` and `Append` functions path segment comparisons (#3628)
* Fixed PathView `MakeRelativeTo` and `Append` functions path segment
comparisons  when using the Windows path separator of '\'

The PathSegment comparisons were case-sensitive in both those functions
and now use `Internal::ComparePathSegments` function to perform the
appropriate case comparison based on the path separator value of the
Path class

Reverted the LocalFileIO::CheckInvalidWrite function back to not
lowercasing the assets alias and input path before invoking
`PathView::IsRelativeTo`

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Simplified the LocalFileIO::ConvertToAliasBuffer logic

Fix for the ArchiveTest
`IResourceList_Add_AbsolutePath_RemovesAndReplacesWithAlias` and
`TestArchiveViaFileIO` test

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added a PathIterable structure stores a non-heap container of normalized path segments of an input path.

Moved the PathParser logic to a PathParser.inl file

Removed dependency of the PathView::IsRelativeTo logic on FixedMaxPath
There is no longer a 1024 character limit when determining if a path is relative to a base
Added a GetNormalPathParts and AppendNormalPathParts to function and removed LexicallyNormalInplace to share the logic for creating a normalized path between IsRelativeTo and LexicallyNormal

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Clang PathIterable.inl build fix

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed Normalize and Relative Path functions initialize the result paths

With the correct path separator for the paths being transformed

Ported over the Custom Path Root Separator logic to the PathParser.inl

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated he Shader Preprocessor include path gather.

It now uses AZ::IO::Path for the path operations and checks if the path
exist before adding it to the list of include paths.

Finally the set logic has been removed for a simpler find_if check to
see if the include path already since in the project include paths

This fixes the Asset Processing issues with shader includes due to the
Path.inl changes

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed tail recursion call to AppendNormalPathParts to supply a PathView with the same path separator as the parent call

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding reference qualifier overloads to the Path class Native function

Removed the conversion operators from the Path class for converting to a
string_type&/const string_type&

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
..
LyShine Legacy code cleanup - part 3 (#3903) 4 years ago
Maestro Merge branch 'development' into cmake/SPEC-7179 5 years ago
Mocks Fixed PathView `MakeRelativeTo` and `Append` functions path segment comparisons (#3628) 4 years ago
Platform Various fixes and empty boilerplate files required for restricted platforms. (#3610) 4 years ago
AndroidSpecific.h remove unnecessary ALIGN macros 4 years ago
AnimKey.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
AppleSpecific.h XCode doesnt support files per configuration, using the old method (#3789) 4 years ago
BaseTypes.h Legacy code cleanup - part 3 (#3903) 4 years ago
CMakeLists.txt Various fixes and empty boilerplate files required for restricted platforms. (#3610) 4 years ago
CryAssert.h platform.h cleanup 5 years ago
CryAssert_Android.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
CryAssert_Linux.h [redcode/crythread-2nd-pass] replaced instances of AZStd::lock_guard<> with AZStd::scoped_lock as per feedback 5 years ago
CryAssert_Mac.h [redcode/crythread-2nd-pass] removed or replaced remaining CryMutex/CryLock usage with equivalent AZStd version 5 years ago
CryAssert_iOS.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
CryAssert_impl.h Merge branch 'development' into cmake/SPEC-7179 5 years ago
CryEndian.h Legacy code cleanup - part 3 (#3903) 4 years ago
CryFile.h Legacy code cleanup - part 3 (#3903) 4 years ago
CryHalf.inl Legacy code cleanup - part 3 (#3903) 4 years ago
CryLegacyAllocator.h CryLegacyAllocator cleanup 5 years ago
CryLibrary.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
CryLibrary.h fixes for Android 4 years ago
CryListenerSet.h Legacy code cleanup - part 3 (#3903) 4 years ago
CryPath.h linux fixes 5 years ago
CryRandomInternal.h removing more unused stuff 5 years ago
CrySystemBus.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
CryVersion.h some fixes 4 years ago
Cry_Camera.h Fix some debug compile errors introduced by https://github.com/o3de/o3de/pull/3903 4 years ago
Cry_Color.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_Geo.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_GeoDistance.h Legacy cleanup (#3383) 4 years ago
Cry_GeoIntersect.h Legacy cleanup (#3383) 4 years ago
Cry_Math.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_Matrix33.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_Matrix34.h Fix some debug compile errors introduced by https://github.com/o3de/o3de/pull/3903 4 years ago
Cry_Matrix44.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_Quat.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_ValidNumber.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Cry_Vector2.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_Vector3.h Legacy code cleanup - part 3 (#3903) 4 years ago
Cry_Vector4.h Fix some debug compile errors introduced by https://github.com/o3de/o3de/pull/3903 4 years ago
HMDBus.h Legacy cleanup, part 2 (#3659) 4 years ago
IAudioInterfacesCommonData.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IAudioSystem.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ICmdLine.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IConsole.h Legacy code cleanup - part 3 (#3903) 4 years ago
IEntityRenderState.h Legacy code cleanup - part 3 (#3903) 4 years ago
IFont.h Legacy code cleanup - part 3 (#3903) 4 years ago
IFunctorBase.h [redcode/crythread-2nd-pass] post merge include fixes 5 years ago
IGem.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IIndexedMesh.h Legacy code cleanup - part 3 (#3903) 4 years ago
ILevelSystem.h Legacy code cleanup - part 3 (#3903) 4 years ago
ILocalizationManager.h Legacy code cleanup - part 3 (#3903) 4 years ago
ILog.h Legacy code cleanup - part 3 (#3903) 4 years ago
IMNM.h Merge branch 'development' into cmake/SPEC-7179 5 years ago
IMaterial.h Legacy code cleanup - part 3 (#3903) 4 years ago
IMiniLog.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IMovieSystem.h Legacy code cleanup - part 3 (#3903) 4 years ago
INavigationSystem.h Legacy cleanup (#3383) 4 years ago
IPathfinder.h Legacy code cleanup - part 3 (#3903) 4 years ago
IProcess.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IRenderAuxGeom.h Legacy code cleanup - part 3 (#3903) 4 years ago
IRenderer.h Legacy code cleanup - part 3 (#3903) 4 years ago
ISerialize.h Legacy code cleanup - part 3 (#3903) 4 years ago
IShader.h Legacy code cleanup - part 3 (#3903) 4 years ago
ISplines.h Legacy code cleanup - part 3 (#3903) 4 years ago
IStatObj.h Legacy code cleanup - part 3 (#3903) 4 years ago
ISystem.h Legacy code cleanup - part 3 (#3903) 4 years ago
ITexture.h Legacy code cleanup - part 3 (#3903) 4 years ago
ITimer.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IValidator.h Legacy code cleanup - part 3 (#3903) 4 years ago
IViewSystem.h Legacy cleanup, part 2 (#3659) 4 years ago
IWindowMessageHandler.h Merge branch 'development' into cmake/SPEC-7179 5 years ago
IXml.h Legacy code cleanup - part 3 (#3903) 4 years ago
LCGRandom.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LegacyAllocator.cpp Merge branch 'development' into cmake/AddressSanitizer 4 years ago
LegacyAllocator.h Deprecate profiler categories based on global enum 4 years ago
Linux32Specific.h remove unnecessary ALIGN macros 4 years ago
Linux64Specific.h remove unnecessary ALIGN macros 4 years ago
LinuxSpecific.h remove unnecessary ALIGN macros 4 years ago
Linux_Win32Wrapper.h Legacy code cleanup - part 3 (#3903) 4 years ago
LoadScreenBus.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LocalizationManagerBus.h Legacy code cleanup - part 3 (#3903) 4 years ago
LocalizationManagerBus.inl Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
MacSpecific.h Several build fixes 5 years ago
MainThreadRenderRequestBus.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
MathConversion.h Legacy code cleanup - part 3 (#3903) 4 years ago
MicrophoneBus.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
MiniQueue.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
MultiThread_Containers.h Legacy code cleanup - part 3 (#3903) 4 years ago
NullAudioSystem.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
PNoise3.h fixes for Code/CryEngine 5 years ago
ProjectDefines.h Fixes typos from PERFORMANCE_BUILD removal 4 years ago
Random.h Legacy code cleanup - part 3 (#3903) 4 years ago
Range.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ScopedVariableSetter.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
SerializationTypes.h Legacy code cleanup - part 3 (#3903) 4 years ago
SerializeFwd.h Legacy code cleanup - part 3 (#3903) 4 years ago
SimpleSerialize.h Legacy code cleanup - part 3 (#3903) 4 years ago
StatObjBus.h Legacy code cleanup - part 3 (#3903) 4 years ago
StaticInstance.h Legacy cleanup (#3383) 4 years ago
StlUtils.h Legacy cleanup, part 2 (#3659) 4 years ago
Synchronization.h Legacy code cleanup - part 3 (#3903) 4 years ago
TimeValue.h Legacy code cleanup - part 3 (#3903) 4 years ago
Timer.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
VRCommon.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
VectorMap.h some fixes 4 years ago
Vertex.h Legacy cleanup, part 2 (#3659) 4 years ago
VertexFormats.h Legacy code cleanup - part 3 (#3903) 4 years ago
Win32specific.h remove unnecessary ALIGN macros 4 years ago
Win64specific.h remove unnecessary ALIGN macros 4 years ago
WinBase.cpp Miscellaneous fixes and PAL changes required for restricted platforms. (#4021) 4 years ago
XMLBinaryHeaders.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
crycommon_files.cmake Legacy code cleanup - part 3 (#3903) 4 years ago
crycommon_testing_files.cmake Legacy cleanup (#3383) 4 years ago
iOSSpecific.h removing more unused stuff 5 years ago
platform.h Legacy cleanup, part 2 (#3659) 4 years ago
platform_impl.cpp Legacy code cleanup - part 3 (#3903) 4 years ago
smartptr.h Legacy cleanup, part 2 (#3659) 4 years ago