Skip to content

bugfix(filesystem): Use native separators in archive listings - #3141

Draft
bobtista wants to merge 6 commits into
TheSuperHackers:mainfrom
bobtista:bobtista/bugfix/archive-listing-separator
Draft

bobtista wants to merge 6 commits into
TheSuperHackers:mainfrom
bobtista:bobtista/bugfix/archive-listing-separator

Conversation

@bobtista

@bobtista bobtista commented Aug 14, 2026 •

Copy link
Copy Markdown

Archive listings always append \, even when the directory already ends in /.

Now directory and filename paths use FileSystem::appendPathSeparator. The map scanner accepts either separator too, so it can read the resulting paths before #3107 merges.

@bobtista
bobtista force-pushed the bobtista/bugfix/archive-listing-separator branch from 1430be2 to a7bff1f Compare August 27, 2026 16:30
@bobtista
bobtista force-pushed the bobtista/bugfix/archive-listing-separator branch from a7bff1f to 6db36e4 Compare September 11, 2026 17:32
@bobtista
bobtista force-pushed the bobtista/bugfix/archive-listing-separator branch from 6db36e4 to c11e455 Compare September 14, 2026 21:07
@bobtista
bobtista force-pushed the bobtista/bugfix/archive-listing-separator branch from c11e455 to fe7fa80 Compare September 14, 2026 21:30
@bobtista
bobtista force-pushed the bobtista/bugfix/archive-listing-separator branch from fe7fa80 to 6a35398 Compare September 14, 2026 22:31
@bobtista bobtista changed the title bugfix(filesystem): Preserve native separators in archive listings bugfix(filesystem): Use native separators in archive listings Sep 14, 2026
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 5001356c-06fd-409a-824c-f28067dc9e18

📥 Commits

Reviewing files that changed from the base of the PR and between bfa3bbf and 296c832.

📒 Files selected for processing (5)
  • Core/GameEngine/Include/Common/FileSystem.h
  • Core/GameEngine/Source/Common/System/ArchiveFile.cpp
  • Core/GameEngine/Source/Common/System/FileSystem.cpp
  • Core/GameEngine/Source/GameClient/MapUtil.cpp
  • Core/Libraries/Include/Lib/PathUtil.h

Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review.


Walkthrough

The change adds shared path-separator and filename utilities. Filesystem path construction, directory checks, map discovery, and map display-name extraction use these utilities.

Changes

Path separator handling

Layer / File(s) Summary
Path separator utilities
Core/Libraries/Include/Lib/PathUtil.h
The utilities distinguish native separators from accepted separators. New helpers return the native separator, locate the last separator, and extract a filename. Both getExtension overloads use the last-separator helper.
Filesystem path construction
Core/GameEngine/Include/Common/FileSystem.h, Core/GameEngine/Source/Common/System/FileSystem.cpp, Core/GameEngine/Source/Common/System/ArchiveFile.cpp
FileSystem adds native separator appending and uses the native separator in directory checks. Archive path construction uses the new append helper.
Map path handling
Core/GameEngine/Source/GameClient/MapUtil.cpp
Map discovery and display-name extraction use the shared separator and filename helpers. Discovery retains its debug-crash-and-skip behavior when a path has no separator.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~15 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 296c8

The inspected path-handling changes preserve the relevant lookup and discovery behavior, with no actionable merge-blocking regression identified.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: using native path separators in archive listings.
Description check ✅ Passed The description directly explains the archive-listing separator bug and the related map-scanner updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

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