Update #45 - Fixed various issues with the client

This commit is contained in:
lax1dude
2024-12-14 20:54:34 -08:00
parent 12535d429f
commit 346047cf24
39 changed files with 571 additions and 208 deletions

View File

@ -41,6 +41,11 @@ addToLibrary({
return id;
},
resultFailed: function(msg) {
results = null;
epwFile = null;
setTimeout(unsetHeapViews, 20);
const parentElement = createCrashParentElement();
const messageContainer = document.createElement("div");
@ -85,40 +90,43 @@ addToLibrary({
for(var i = 0, j; i < numEPKs; ++i) {
j = idx + 11 + i * 3;
epkFiles[i] = {
data: results[HEAP32[j]],
name: results[HEAP32[j + 1]],
path: results[HEAP32[j + 2]]
"data": results[HEAP32[j]],
"name": results[HEAP32[j + 1]],
"path": results[HEAP32[j + 2]]
};
}
results.length = 0;
results = null;
epwFile = null;
window.__eaglercraftXLoaderContext = {
getEaglercraftXOpts: function() {
setTimeout(unsetHeapViews, 20);
window["__eaglercraftXLoaderContext"] = {
"getEaglercraftXOpts": function() {
return optsObj;
},
getEagRuntimeJSURL: function() {
"getEagRuntimeJSURL": function() {
return eagRuntimeJSURL;
},
getClassesWASMURL: function() {
"getClassesWASMURL": function() {
return classesWASMURL;
},
getClassesDeobfWASMURL: function() {
"getClassesDeobfWASMURL": function() {
return classesDeobfWASMURL;
},
getClassesTEADBGURL: function() {
"getClassesTEADBGURL": function() {
return classesDeobfTEADBGURL;
},
getEPKFiles: function() {
"getEPKFiles": function() {
return epkFiles;
},
getRootElement: function() {
"getRootElement": function() {
return rootElement;
},
getMainArgs: function() {
"getMainArgs": function() {
return [];
},
getImageURL: function(idx) {
"getImageURL": function(idx) {
switch(idx) {
case 0:
return splashURL;
@ -132,7 +140,7 @@ addToLibrary({
return null;
}
},
runMain: function(fn) {
"runMain": function(fn) {
setTimeout(fn, 10);
}
};
@ -152,6 +160,11 @@ addToLibrary({
const markupData = results[HEAP32[idx + 2]];
const markup = markupData ? UTF8Decoder.decode(markupData) : "<h1>Failed to load error screen</h1>";
results = null;
epwFile = null;
setTimeout(unsetHeapViews, 20);
const parentElement = createCrashParentElement();
const img = document.createElement("img");

View File

@ -14,20 +14,24 @@
*
*/
var loaderWASMPath = window["__eaglercraftXLoaderContextPre"]["loaderWASMURL"];
Module["locateFile"] = function(path) {
if(path === "loader.wasm") {
return window.__eaglercraftXLoaderContextPre.loaderWASMURL;
return loaderWASMPath;
}else {
return path;
}
};
const rootElement = window.__eaglercraftXLoaderContextPre.rootElement;
const optsObj = window.__eaglercraftXLoaderContextPre.eaglercraftXOpts;
const epwFile = window.__eaglercraftXLoaderContextPre.theEPWFileBuffer;
const splashURL = window.__eaglercraftXLoaderContextPre.splashURL;
var rootElement = window["__eaglercraftXLoaderContextPre"]["rootElement"];
var optsObj = window["__eaglercraftXLoaderContextPre"]["eaglercraftXOpts"];
var epwFile = window["__eaglercraftXLoaderContextPre"]["theEPWFileBuffer"];
var splashURL = window["__eaglercraftXLoaderContextPre"]["splashURL"];
const results = [ null ];
delete window["__eaglercraftXLoaderContextPre"];
var results = [ null ];
function createCrashParentElement() {
var oldSplash = null;
@ -59,3 +63,9 @@ function createCrashParentElement() {
return parentElement;
}
function unsetHeapViews() {
HEAP = HEAP8 = HEAPU8 = HEAP16 = HEAPU16 = HEAP32 = HEAPU32 = HEAPF32 = HEAPF64 = null;
wasmMemory = null;
Module = null;
}