aboutsummaryrefslogtreecommitdiff
path: root/platform/javascript/engine.js
diff options
context:
space:
mode:
authorLeon Krause2018-03-27 11:25:03 +0200
committerHein-Pieter van Braam2018-04-28 19:54:29 +0200
commitd3ffc8ad0c12e5c31d9443f566ec185d95773dd9 (patch)
treed7322d1ce6222c02f002d1389467eb4fda1060ab /platform/javascript/engine.js
parent393e1ef4ee4d5522ab28378eb88fef76a6eef8a0 (diff)
downloadgodot-d3ffc8ad0c12e5c31d9443f566ec185d95773dd9.tar.gz
godot-d3ffc8ad0c12e5c31d9443f566ec185d95773dd9.tar.zst
godot-d3ffc8ad0c12e5c31d9443f566ec185d95773dd9.zip
Diffstat (limited to 'platform/javascript/engine.js')
-rw-r--r--platform/javascript/engine.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/platform/javascript/engine.js b/platform/javascript/engine.js
index dab7104af..06ff96bc3 100644
--- a/platform/javascript/engine.js
+++ b/platform/javascript/engine.js
@@ -14,6 +14,13 @@
var loadingFiles = {};
+ function getPathLeaf(path) {
+
+ while (path.endsWith('/'))
+ path = path.slice(0, -1);
+ return path.slice(path.lastIndexOf('/') + 1);
+ }
+
function getBasePath(path) {
if (path.endsWith('/'))
@@ -25,8 +32,7 @@
function getBaseName(path) {
- path = getBasePath(path);
- return path.slice(path.lastIndexOf('/') + 1);
+ return getPathLeaf(getBasePath(path));
}
Engine = function Engine() {
@@ -123,7 +129,12 @@
this.startGame = function(mainPack) {
executableName = getBaseName(mainPack);
- return Promise.all([this.init(getBasePath(mainPack)), this.preloadFile(mainPack)]).then(
+ 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, [])
);
};