Skip creating .setup.jsdos bundles for Windows games
Build & Deploy / build-and-deploy (push) Successful in 47s

- Move platform detection before setup bundle creation
- Only create setup bundle when platform != 'windows'
- Also hide the Setup button in GameDetail for Windows games
- Windows setup executables (INSTALL.EXE) can't run in DOSBox anyway
This commit is contained in:
Hermes Agent
2026-05-28 14:57:13 +02:00
parent 733bdaa44f
commit 5b55a53b73
2 changed files with 7 additions and 6 deletions
+1 -1
View File
@@ -232,7 +232,7 @@
▶ Unplayable
</button>
{/if}
{#if game.has_setup}
{#if game.has_setup && game.platform !== 'windows'}
<button class="btn btn-setup" onclick={handleSetup}>🛠 Setup</button>
{/if}
<button class="btn" onclick={startEdit}> Edit</button>
@@ -85,15 +85,16 @@ public class UploadResource {
Path bundlePath = svc.getGamesDir().resolve(bundleFile);
createBundle(extractDir, mainExe, bundlePath);
// Create setup bundle if a setup executable was found
if (setupExe != null) {
// Detect platform (DOS vs Windows) by reading the main EXE header
String platform = detectPlatform(Path.of(mainExe));
// Create setup bundle only if the game is a DOS executable
// (Windows setup bundles are useless — they need Windows to run)
if (setupExe != null && !"windows".equals(platform)) {
Path setupBundlePath = svc.getGamesDir().resolve(gameId + ".setup.jsdos");
createBundle(extractDir, setupExe, setupBundlePath);
}
// Detect platform (DOS vs Windows) by reading the main EXE header
String platform = detectPlatform(Path.of(mainExe));
// Save metadata
Game game = new Game(gameId, title);
game.setBundleFile(bundleFile);