Skip to content

Full Linux support#42

Open
AnakinRaW wants to merge 37 commits intodevelopfrom
feat/support-linux
Open

Full Linux support#42
AnakinRaW wants to merge 37 commits intodevelopfrom
feat/support-linux

Conversation

@AnakinRaW
Copy link
Copy Markdown
Member

No description provided.

@AnakinRaW AnakinRaW changed the base branch from main to develop April 12, 2026 17:34
AnakinRaW and others added 12 commits April 14, 2026 14:13
Replaces custom path normalization logic in PetroglyphFileSystem with PathNormalizer from AnakinRaW.CommonUtilities. Moves LinuxDirectorySeparatorNormalizeOptions to a static readonly field. Cleans up unused usings and retains legacy code as comments for reference.
Renamed StringExtensions to Extensions. Added a generic Enum.Parse<T> extension method for NETFRAMEWORK builds to simplify enum parsing from strings.
Moved FriendlyName override to class body and removed the
Verify method implementation from AudioFileVerifier.
@AnakinRaW AnakinRaW changed the title [WIP] Full Linux support Full Linux support Apr 14, 2026
Check filePath length before allocating ValueStringBuilder to improve efficiency. Update warning log to use filePath.ToString() for overlong paths. Reorganize normalization logic for clarity and ensure proper resource disposal.
Replaced LinuxDirectorySeparatorNormalizeOptions with PGFileSystemDirectorySeparatorNormalizeOptions to ensure consistent Windows-like path handling on Linux. Updated class documentation to clarify behavior. Refactored IsDirectorySeparator to use defined separator constants for improved clarity.
ModPaths and AdditionalFallbackPath are now single string properties using the platform-specific path separator, instead of IList<string>. SettingsBuilder splits and normalizes these paths accordingly. Help texts are updated, and unit tests are added to verify correct path parsing and normalization using a mock file system.
Refactored texture existence checks by introducing IsNone and GuiSpecialTextureExists helpers. Special cases for "none" textures now avoid false warnings and are consistently cached. Centralized repository lookup logic for Scanlines, ButtonMiddle, and FrameBackground types. Improved error messages by clarifying origin labeling and adjusting error context.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant