Skip to content

Always lowercase filenames in CUtlFilenameSymbolTable to fix loading packed files on Linux (fixes #865) #1350

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rtldg
Copy link

@rtldg rtldg commented Jun 12, 2025

Description

Tracked down in #865, loading packed files (e.g. from bsps & vpks) is often broken on community maps for Linux users (& servers!!!) leading to missing textures and broken model collisions.

Also reported at ValveSoftware/Source-1-Games#6868

I'm making this PR to bring more visibility to the cause and to hopefully be merged.
(The cause being that CUtlFilenameSymbolTable only lowercases filenames on Windows, which is called from CZipPackFile::GetFileInfo() to use a cached file-handle.)

Bitl added a commit to FIREFIGHT-RELOADED/FIREFIGHT-RELOADED-src-sdk-2013 that referenced this pull request Jun 17, 2025
@Tolfx
Copy link

Tolfx commented Jun 17, 2025

Have you compiled and tested it works on all platforms like normal? As well fixing the issue ValveSoftware/Source-1-Games#6868?

@rtldg
Copy link
Author

rtldg commented Jun 17, 2025

Have you compiled and tested it works on all platforms like normal? As well fixing the issue ValveSoftware/Source-1-Games#6868?

It's used in engine code (CZipPackFile) which we can't rebuild, so it can't be tested by compiling, but it has been confirmed to fix ValveSoftware/Source-1-Games#6868 after hooking the relevant functions:

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.

2 participants