diff --git a/src/main/java/com/dostalgia/UploadResource.java b/src/main/java/com/dostalgia/UploadResource.java index 72905f6..73523d4 100644 --- a/src/main/java/com/dostalgia/UploadResource.java +++ b/src/main/java/com/dostalgia/UploadResource.java @@ -279,6 +279,13 @@ public class UploadResource { // ─── Bundle Creation ───────────────────────────────────────── + /** File extensions that are never game data and should be excluded from .jsdos bundles. */ + private static final java.util.Set SKIP_EXT = java.util.Set.of( + ".img", ".iso", ".nrg", ".mdf", ".mds", // disk images + ".ccd", ".sub", ".cue", // CloneCD / CUE sheets + ".dmg" // Mac disk images + ); + private void createBundle(Path extractDir, String exePath, Path bundlePath) throws IOException { // Write .jsdos config directly into the extract directory Path jsdos = extractDir.resolve(".jsdos"); @@ -333,6 +340,11 @@ public class UploadResource { try (var walk = Files.walk(extractDir)) { walk.filter(Files::isRegularFile) .filter(f -> !f.startsWith(jsdos)) + .filter(f -> { + String n = f.getFileName().toString().toLowerCase(); + int dot = n.lastIndexOf('.'); + return dot < 0 || !SKIP_EXT.contains(n.substring(dot)); + }) .sorted() // deterministic order .forEach(writeFile); }