mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 17:43:52 +00:00
fix(extractor): lowercase all output paths to prevent duplicate folders
WoW archives contain mixed-case variants of the same path (e.g., ARMLOWERTEXTURE vs ArmLowerTexture) which created duplicate directories on case-sensitive Linux filesystems. Now mapPath() lowercases the entire output. Also keeps TextureComponents and ObjectComponents directory names instead of abbreviating them (item/texturecomponents/ instead of item/texture/) so filesystem paths match the WoW virtual paths used in manifest lookups.
This commit is contained in:
parent
23bda2d476
commit
7264ba1706
2 changed files with 12 additions and 11 deletions
|
|
@ -16,11 +16,12 @@ public:
|
|||
/**
|
||||
* Map a WoW virtual path to a reorganized filesystem path.
|
||||
* @param wowPath Original WoW virtual path (backslash-separated)
|
||||
* @return Reorganized relative path (forward-slash separated, original casing preserved)
|
||||
* @return Reorganized relative path (forward-slash separated, fully lowercased)
|
||||
*/
|
||||
static std::string mapPath(const std::string& wowPath);
|
||||
|
||||
private:
|
||||
static std::string mapPathImpl(const std::string& wowPath);
|
||||
// Helpers for prefix matching (case-insensitive)
|
||||
static bool startsWithCI(const std::string& str, const std::string& prefix);
|
||||
static std::string toLower(const std::string& str);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue