diff --git a/src/main/java/com/dostalgia/UploadResource.java b/src/main/java/com/dostalgia/UploadResource.java index b489729..798f858 100644 --- a/src/main/java/com/dostalgia/UploadResource.java +++ b/src/main/java/com/dostalgia/UploadResource.java @@ -88,7 +88,7 @@ public class UploadResource { // Write dosbox.conf (full config, not just autoexec) Path jsdos = gameDir.resolve(".jsdos"); Files.createDirectories(jsdos); - String relExe = extractDir.relativize(Path.of(mainExe)).toString().replace('\\', '/'); + String relExe = extractDir.relativize(Path.of(mainExe)).toString().replace('/', '\\'); String conf = buildDosboxConf(relExe); Files.writeString(jsdos.resolve("dosbox.conf"), conf); Files.write(jsdos.resolve("jsdos.json"), buildJsdosJson(relExe)); @@ -216,7 +216,7 @@ public class UploadResource { // Create .jsdos config (full config, not just autoexec) Path jsdos = tmpBundle.resolve(".jsdos"); Files.createDirectories(jsdos); - String relExe = extractDir.relativize(Path.of(mainExe)).toString().replace('\\', '/'); + String relExe = extractDir.relativize(Path.of(mainExe)).toString().replace('/', '\\'); String conf = buildDosboxConf(relExe); Files.writeString(jsdos.resolve("dosbox.conf"), conf); Files.write(jsdos.resolve("jsdos.json"), buildJsdosJson(relExe)); @@ -274,7 +274,7 @@ public class UploadResource { // Split into directory and executable components for subdirectory support String dir = ""; String exe = relExe; - int idx = relExe.lastIndexOf('/'); + int idx = Math.max(relExe.lastIndexOf('/'), relExe.lastIndexOf('\\')); if (idx >= 0) { dir = relExe.substring(0, idx); exe = relExe.substring(idx + 1);