diff --git a/misc/dist/html/default.html b/misc/dist/html/default.html
index 4e3515a7b65..9aef77b1d20 100644
--- a/misc/dist/html/default.html
+++ b/misc/dist/html/default.html
@@ -229,7 +229,7 @@ $GODOT_HEAD_INCLUDE
(function() {
- const BASENAME = '$GODOT_BASENAME';
+ const MAIN_PACK = '$GODOT_BASENAME.pck';
const DEBUG_ENABLED = $GODOT_DEBUG_ENABLED;
const INDETERMINATE_STATUS_STEP_MS = 100;
@@ -380,7 +380,7 @@ $GODOT_HEAD_INCLUDE
} else {
setStatusMode('indeterminate');
engine.setCanvas(canvas);
- engine.startGame(BASENAME + '.pck').then(() => {
+ engine.startGame(MAIN_PACK).then(() => {
setStatusMode('hidden');
initializing = false;
}, displayFailureNotice);
diff --git a/platform/javascript/engine.js b/platform/javascript/engine.js
index 0c1337cc3ba..1d78f28bb68 100644
--- a/platform/javascript/engine.js
+++ b/platform/javascript/engine.js
@@ -130,13 +130,17 @@
this.startGame = function(mainPack) {
executableName = getBaseName(mainPack);
+ var mainArgs = [];
+ if (!getPathLeaf(mainPack).endsWith('.pck')) {
+ mainArgs = ['--main-pack', getPathLeaf(mainPack)];
+ }
return Promise.all([
// Load from directory,
this.init(getBasePath(mainPack)),
// ...but write to root where the engine expects it.
this.preloadFile(mainPack, getPathLeaf(mainPack))
]).then(
- Function.prototype.apply.bind(synchronousStart, this, [])
+ Function.prototype.apply.bind(synchronousStart, this, mainArgs)
);
};