Fix engine.js startGame() when loading from directory
(cherry picked from commit 3014e48ec5
)
This commit is contained in:
parent
393e1ef4ee
commit
d3ffc8ad0c
1 changed files with 14 additions and 3 deletions
|
@ -14,6 +14,13 @@
|
||||||
|
|
||||||
var loadingFiles = {};
|
var loadingFiles = {};
|
||||||
|
|
||||||
|
function getPathLeaf(path) {
|
||||||
|
|
||||||
|
while (path.endsWith('/'))
|
||||||
|
path = path.slice(0, -1);
|
||||||
|
return path.slice(path.lastIndexOf('/') + 1);
|
||||||
|
}
|
||||||
|
|
||||||
function getBasePath(path) {
|
function getBasePath(path) {
|
||||||
|
|
||||||
if (path.endsWith('/'))
|
if (path.endsWith('/'))
|
||||||
|
@ -25,8 +32,7 @@
|
||||||
|
|
||||||
function getBaseName(path) {
|
function getBaseName(path) {
|
||||||
|
|
||||||
path = getBasePath(path);
|
return getPathLeaf(getBasePath(path));
|
||||||
return path.slice(path.lastIndexOf('/') + 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Engine = function Engine() {
|
Engine = function Engine() {
|
||||||
|
@ -123,7 +129,12 @@
|
||||||
this.startGame = function(mainPack) {
|
this.startGame = function(mainPack) {
|
||||||
|
|
||||||
executableName = getBaseName(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, [])
|
Function.prototype.apply.bind(synchronousStart, this, [])
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue