diff options
Diffstat (limited to 'platform/javascript/engine/engine.js')
-rw-r--r-- | platform/javascript/engine/engine.js | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/platform/javascript/engine/engine.js b/platform/javascript/engine/engine.js deleted file mode 100644 index 6d7509377f..0000000000 --- a/platform/javascript/engine/engine.js +++ /dev/null @@ -1,184 +0,0 @@ -Function('return this')()['Engine'] = (function() { - - var unloadAfterInit = true; - var canvas = null; - var resizeCanvasOnStart = false; - var customLocale = 'en_US'; - var wasmExt = '.wasm'; - - var preloader = new Preloader(); - var loader = new Loader(); - var rtenv = null; - - var executableName = ''; - var loadPath = ''; - var loadPromise = null; - var initPromise = null; - var stderr = null; - var stdout = null; - var progressFunc = null; - - function load(basePath) { - if (loadPromise == null) { - loadPath = basePath; - loadPromise = preloader.loadPromise(basePath + wasmExt); - preloader.setProgressFunc(progressFunc); - requestAnimationFrame(preloader.animateProgress); - } - return loadPromise; - }; - - function unload() { - loadPromise = null; - }; - - /** @constructor */ - function Engine() {}; - - Engine.prototype.init = /** @param {string=} basePath */ function(basePath) { - if (initPromise) { - return initPromise; - } - if (!loadPromise) { - if (!basePath) { - initPromise = Promise.reject(new Error("A base path must be provided when calling `init` and the engine is not loaded.")); - return initPromise; - } - load(basePath); - } - var config = {} - if (typeof stdout === 'function') - config.print = stdout; - if (typeof stderr === 'function') - config.printErr = stderr; - initPromise = loader.init(loadPromise, loadPath, config).then(function() { - return new Promise(function(resolve, reject) { - rtenv = loader.env; - if (unloadAfterInit) { - loadPromise = null; - } - resolve(); - }); - }); - return initPromise; - }; - - /** @type {function(string, string):Object} */ - Engine.prototype.preloadFile = function(file, path) { - return preloader.preload(file, path); - }; - - /** @type {function(...string):Object} */ - Engine.prototype.start = function() { - // Start from arguments. - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - } - var me = this; - return new Promise(function(resolve, reject) { - return me.init().then(function() { - if (!(canvas instanceof HTMLCanvasElement)) { - canvas = Utils.findCanvas(); - } - rtenv['locale'] = customLocale; - rtenv['canvas'] = canvas; - rtenv['thisProgram'] = executableName; - rtenv['resizeCanvasOnStart'] = resizeCanvasOnStart; - loader.start(preloader.preloadedFiles, args).then(function() { - loader = null; - initPromise = null; - resolve(); - }); - }); - }); - }; - - Engine.prototype.startGame = function(execName, mainPack) { - // Start and init with execName as loadPath if not inited. - executableName = execName; - var me = this; - return Promise.all([ - this.init(execName), - this.preloadFile(mainPack, mainPack) - ]).then(function() { - return me.start('--main-pack', mainPack); - }); - }; - - Engine.prototype.setWebAssemblyFilenameExtension = function(override) { - if (String(override).length === 0) { - throw new Error('Invalid WebAssembly filename extension override'); - } - wasmExt = String(override); - }; - - Engine.prototype.setUnloadAfterInit = function(enabled) { - unloadAfterInit = enabled; - }; - - Engine.prototype.setCanvas = function(canvasElem) { - canvas = canvasElem; - }; - - Engine.prototype.setCanvasResizedOnStart = function(enabled) { - resizeCanvasOnStart = enabled; - }; - - Engine.prototype.setLocale = function(locale) { - customLocale = locale; - }; - - Engine.prototype.setExecutableName = function(newName) { - executableName = newName; - }; - - Engine.prototype.setProgressFunc = function(func) { - progressFunc = func; - } - - Engine.prototype.setStdoutFunc = function(func) { - - var print = function(text) { - if (arguments.length > 1) { - text = Array.prototype.slice.call(arguments).join(" "); - } - func(text); - }; - if (rtenv) - rtenv.print = print; - stdout = print; - }; - - Engine.prototype.setStderrFunc = function(func) { - - var printErr = function(text) { - if (arguments.length > 1) - text = Array.prototype.slice.call(arguments).join(" "); - func(text); - }; - if (rtenv) - rtenv.printErr = printErr; - stderr = printErr; - }; - - // Closure compiler exported engine methods. - /** @export */ - Engine['isWebGLAvailable'] = Utils.isWebGLAvailable; - Engine['load'] = load; - Engine['unload'] = unload; - Engine.prototype['init'] = Engine.prototype.init - Engine.prototype['preloadFile'] = Engine.prototype.preloadFile - Engine.prototype['start'] = Engine.prototype.start - Engine.prototype['startGame'] = Engine.prototype.startGame - Engine.prototype['setWebAssemblyFilenameExtension'] = Engine.prototype.setWebAssemblyFilenameExtension - Engine.prototype['setUnloadAfterInit'] = Engine.prototype.setUnloadAfterInit - Engine.prototype['setCanvas'] = Engine.prototype.setCanvas - Engine.prototype['setCanvasResizedOnStart'] = Engine.prototype.setCanvasResizedOnStart - Engine.prototype['setLocale'] = Engine.prototype.setLocale - Engine.prototype['setExecutableName'] = Engine.prototype.setExecutableName - Engine.prototype['setProgressFunc'] = Engine.prototype.setProgressFunc - Engine.prototype['setStdoutFunc'] = Engine.prototype.setStdoutFunc - Engine.prototype['setStderrFunc'] = Engine.prototype.setStderrFunc - return Engine; -})(); |