fix: scan hidden engine dirs, anchor data ignore

This commit is contained in:
Abdessamad Derraz committed 2026-10-04 23:47:21 +02:00
1 parent ded1b49b98
commit aff1c8d48e
5 files changed
+68 -9

No files matched your search

+7
View File
@@ -50,6 +50,13 @@ NODEDUP_DIRS = {
# BBK dictionary ROMs are addressed by model directory, and the OS ROM
# the A4988 folder needs is the one the gam4980 core is given.
"BBK",
# Engine data trees read by path: one sound or one sprite sits under
# several characters, campaigns or episodes, and each copy is opened
# where it lies.
"C-Dogs SDL",
"Ikemen GO",
"Theme Hospital",
"TheXTech",
}
+9 -7
View File
@@ -43,13 +43,15 @@ CACHED_HASHES = ("sha1", "md5", "sha256", "crc32", "adler32")
def should_skip(path: Path) -> bool:
"""Check if a path should be skipped. Allows .variants/ directories."""
for part in path.parts:
if part in SKIP_PATTERNS:
return True
if part.startswith(".") and part != ".variants":
return True
return False
"""Whether a path stays out of the collection.
Tooling directories and hidden files do. A hidden directory inside the
collection does not: `.variants/` holds alternate dumps, and an engine
tree can carry one of its own (C-Dogs SDL reads `data/.wolf3d/`).
"""
if any(part in SKIP_PATTERNS for part in path.parts):
return True
return path.name.startswith(".")
def _canonical_name(filepath: Path) -> str: