Skip to content
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

filesystem: massively rework how scanning game directories work #1947

Merged
merged 6 commits into from
Jan 7, 2025

Conversation

a1batross
Copy link
Member

@a1batross a1batross commented Jan 7, 2025

  • No more conversion from liblist.gam to gameinfo.txt. We are using liblist.gam directly now. gameinfo.txt being native format to Xash3D takes priority over liblist.gam.
  • Quake game directories now don't receive autogenerated gameinfo.txt.
  • Empty directories don't get gameinfo.txt either, finally making it easier to support HD addon folders.
  • If the user still wishes to generate gameinfo.txt, there is now a command fs_make_gameinfo that creates gameinfo.txt for the currently running game.
  • No more creating empty folders for RoDir. They are now created on demand.

…e PAK file and looks for specific files in it's root

Used to properly detect Quake game dirs.
* No more conversion from liblist.gam to gameinfo.txt. We are using liblist.gam directly now.
  gameinfo.txt being native format to Xash3D not only remains, it takes priority over liblist.gam.
* Quake game directories now don't receive autogenerated gameinfo.txt.
* Empty directories don't get gameinfo.txt either, finally making it easier to support HD addon folders.
* If user still wishes to generate gameinfo.txt, there is now command fs_make_gameinfo that creates
  gameinfo.txt for currently running game.
* No more creating empty folders for RoDir. They are now created on demand.
…y with dirs_only set to true

According to glibc manual, not all filesystems support it and some might return DT_UNKNOWN.
…an extension and some supported ports (like psvita) don't have it
Copy link
Member

@SNMetamorph SNMetamorph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@TheKingFireS
Copy link

is commandargs "-example 1234 -example example" supported? It can be seen in Cry of Fear's liblist.gam.

@a1batross
Copy link
Member Author

No, this is an unofficial extension. I think it's used by its custom launcher, not by the engine.

@a1batross a1batross merged commit b45581c into master Jan 7, 2025
31 of 32 checks passed
@a1batross a1batross deleted the liblist-gameinfo branch January 7, 2025 22:22
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.

3 participants