You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Add Engine.setWebAssemblyFilenameExtension()
Some web game hosts only allow certain filename extensions. If .wasm is not allowed, this function allows overriding the WebAssembly filename extension to work around that restriction.
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
var DOWNLOAD_ATTEMPTS_MAX = 4;
|
||||
|
||||
var basePath = null;
|
||||
var wasmFilenameExtensionOverride = null;
|
||||
var engineLoadPromise = null;
|
||||
|
||||
var loadingFiles = {};
|
||||
@@ -299,6 +300,14 @@
|
||||
return !!testContext;
|
||||
};
|
||||
|
||||
Engine.setWebAssemblyFilenameExtension = function(override) {
|
||||
|
||||
if (String(override).length === 0) {
|
||||
throw new Error('Invalid WebAssembly filename extension override');
|
||||
}
|
||||
wasmFilenameExtensionOverride = String(override);
|
||||
}
|
||||
|
||||
Engine.load = function(newBasePath) {
|
||||
|
||||
if (newBasePath !== undefined) basePath = getBasePath(newBasePath);
|
||||
@@ -306,7 +315,7 @@
|
||||
if (typeof WebAssembly !== 'object')
|
||||
return Promise.reject(new Error("Browser doesn't support WebAssembly"));
|
||||
// TODO cache/retrieve module to/from idb
|
||||
engineLoadPromise = loadPromise(basePath + '.wasm').then(function(xhr) {
|
||||
engineLoadPromise = loadPromise(basePath + '.' + (wasmFilenameExtensionOverride || 'wasm')).then(function(xhr) {
|
||||
return xhr.response;
|
||||
});
|
||||
engineLoadPromise = engineLoadPromise.catch(function(err) {
|
||||
|
||||
Reference in New Issue
Block a user