Guekka / cathedral-assets-optimizer

Port Skyrim mods between LE and SE, easily create Bethesda archives, compress textures and more
https://www.nexusmods.com/skyrimspecialedition/mods/23316/
Mozilla Public License 2.0
3 stars 1 forks source link

FNV support #8

Closed mklokocka closed 1 month ago

mklokocka commented 1 month ago

Add things I believe to be required for full FNV support.

Namely:

1) A default profile for FNV including patterns for selecting what to pack, optimize, etc. 2) Disabled mesh optimizations for FNV. 3) Ability to specify what to pack using patterns. 4) Option to create .override files for each archive created.

mklokocka commented 1 month ago

Merged your TODO commit into others (and split out the dependency updates). Notably I changed the interface texture pattern back to regex to be able to catch subdirectories.

Also hidden the override toggle for non-FNV games.

Guekka commented 1 month ago

I changed the interface texture pattern back to regex to be able to catch subdirectories

Wildcards can match subdirectories. Maybe my explanation of them was not clear?

mklokocka commented 1 month ago

Re wildcards: How? There really ought to be some description for how wildcard patterns work. 😅 I thought they were like unix blobs where * only catches stuff between directory separators.

Re BSA module split: I tend to agree it's a bit weird having it split, on the other hand it makes semantic sense, since the "pack" setting is tied to patterns more than being a "general" thing.

Guekka commented 1 month ago

Re wildcards: How? There really ought to be some description for how wildcard patterns work. 😅 I thought they were like unix blobs where * only catches stuff between directory separators.

The algorithm is here It's more like a subset of wildcards, which is, I agree, confusing. So * matches anything

mklokocka commented 1 month ago

It's more like a subset of wildcards, which is, I agree, confusing. So * matches anything

Just tested it again, and I know what the "problem" is - wildcard patterns do not ignore case, unlike regex patterns. So using your proposed wildcard pattern textures/interface/*.dds - textures/interface/something/tex.dds is correctly skipped, while textures/Interface/something/tex.dds is processed.

Guekka commented 1 month ago

wildcard patterns do not ignore case Thanks for trying. Indeed, the case insensitive flag is missing here

In the meantime, we can keep your regex. Tell me when I can merge

mklokocka commented 1 month ago

As long as you are happy with the changes we can merge. 👍