Comments (6)
This isn't an issue with LOOT: if AyleidCitadel.esp
has Hearthfires.esm
instead of HearthFires.esm
, that's an issue with that plugin (except not really, I think it's unreasonable to expect case correctness when it's not normally required).
Have you tried installing Skyrim SE in a case-insensitive filesystem?
from libloot.
Yes, that's why I thought, LOOT should handle it. I don't have any case-insensitive file system to test it with and a virtual file system would be too large as I need it for 4 games.
Would an option to "enforce using case-insensitivity" make sense to let the user decide?
from libloot.
No, emulating filesystem case-insensitivity at an application level sounds like a recipe for all sorts of weird edge cases to me. It's bad enough that libloot already has to attempt to compare filenames case-insensitively without getting the filesystem involved, I don't want to open that can of worms any further.
from libloot.
Sorry for my late answer.
I understand your concerns, especially looking from a library's point of view. I just hoped for an easy way to do automated installation and load order management provided by libloot with a Linux-native application. So, I guess, using the Windows version of loot with wine will also do the trick and I just do the mod installation with Linux-native application.
Thank you for the clarification.
from libloot.
For future reference, loot/loot#1095 is also about case-sensitive paths on Linux and offers a couple of solutions.
from libloot.
Aside from data read from game files not matching the case of filenames in the filesystem, libloot also hardcodes the following file extensions and uses them to construct paths that may fall foul of case-sensitivity:
- Textures
is used to construct BSA filenames to look for when searching for BSAs associated with a plugin..ba2
and.bsa
are used to construct archive filenames to look for when searching for BSAs associated with a plugin..ghost
is used to construct plugin filenames to load when the unghosted filename is given but does not exist.- Condition evaluation looks for lowercase .esp, .esm, .esl extensions and .ghost extensions on those.
It's possible to reimplement these to avoid using the string literals as part of filenames, though it would be slower and more complicated.
from libloot.
Related Issues (20)
- Replace std::set usage in public API with std::vector HOT 1
- Consider introducing a new API type to represent case-insensitive filenames HOT 1
- Plugin::LoadsArchive() logic doesn't account for more recent games HOT 1
- File::GetDisplayName() falls back to file name HOT 2
- Error message for incorrect use of % HOT 1
- Cyclic interaction detected between ccbgssse002-exoticarrows.esl and ccbgssse002-exoticarrows.esl HOT 7
- Allow matching locale codes against just language code HOT 3
- Update location.rst
- Update localised_content.rst
- Add support for a "detail" property on File objects HOT 1
- Add API function to serialise a given plugin's metadata HOT 1
- Cache plugin name regex objects HOT 2
- Document support for not-expressions HOT 1
- libloot release archive naming HOT 2
- Migrate from using boost::format to std::format (via fmt) HOT 1
- Rework how group edges are added HOT 5
- Add GameInterface::GetType() and GameInterface::GetDatabase() const methods HOT 1
- Use plugins' masters to inform sorting HOT 2
- Allow creation of game handles with local paths that do not exist HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libloot.