Skip to content

Case-sensitive filesystems struggle with the map repack. #2

@naelstrof

Description

@naelstrof

Sven coop only partially supports case-sensitive filesystems, making BSPs and assets with arbitrary incorrect filecasings cause infinite loading for some clients on linux servers (stuck at precaching).

I wrote my own hacky solution for it here.

It essentially does a full BSP parse like resguy, using the casing within the BSP as the "true" casing of the assets involved.
Then, if the file is missing on the current filesystem, it'll scan for it assuming that the casing is wrong.

Running it on the mega map repack finds a large number of case sensitivity issues and fixes them:

image-1

There's limitations to my hack though.

  • Ironically my BSP parser is dependent on a case-sensitive filesystem in order to work correctly.
  • BSPParser isn't as good as resguy either. It ignores wads, and includes all replacement sounds/models by assumption.
  • I ignore level change entities. These theoretically would include the "correct casing" for bsp files. Just in case a user renamed them. Though I ignored this in my solution.

Not sure if you care to fix it, but it'd be another step in making the archives more "correct".

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions