diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 1d5af33..6f7f380 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "ETB Rocket", - "version": "0.9.65" + "version": "0.9.7" }, "tauri": { "allowlist": { @@ -18,7 +18,7 @@ }, "fs": { "all": true, - "scope": ["**", "**/*", "/**/*","$RESOURCE/*"] + "scope": ["**", "**/*", "/**/*","$RESOURCE/*", "$APP/*", "$APP/*/*", "$APP/*/*/*"] }, "shell": { "open": true diff --git a/src/lib/components/modcard.svelte b/src/lib/components/modcard.svelte index b326251..953849d 100644 --- a/src/lib/components/modcard.svelte +++ b/src/lib/components/modcard.svelte @@ -52,7 +52,7 @@ console.log("HTTP Client loaded!") const steam_game_loc = $steamPath+"/steamapps/common/EscapeTheBackrooms" - const basePath = steam_game_loc + "/EscapeTheBackrooms/Content/Paks/" + const basePathError = steam_game_loc + "/EscapeTheBackrooms/Content/Paks/" if (nexus) { loading = "Loading"; @@ -88,16 +88,17 @@ console.log("File downloaded!") loading = "Foldering"; - invoke("expand_scope", { folderPath: basePath }) - try {await createDir(basePath+folder)} catch {console.log("No directory was created!")} + try {await createDir("", { dir: BaseDirectory.App })} catch {console.log("No BASE directory was created!")} + try {await createDir("mods", { dir: BaseDirectory.App })} catch {console.log("No MODS directory was created!")} + try {await createDir("mods/"+folder, { dir: BaseDirectory.App })} catch {console.log("No MODLOADER directory was created!")} loading = "Writing"; console.log("Writing binary file") - await writeBinaryFile(basePath+folder+"/"+url.split('#')[0].split('?')[0].split('/').pop(), new Uint8Array(file.data)); + await writeBinaryFile("mods/"+folder+"/"+url.split('#')[0].split('?')[0].split('/').pop(), new Uint8Array(file.data), { dir: BaseDirectory.App }); loading = "Cleaning"; - console.log("Mod File Saved to "+basePath+folder+"/"+url.split('#')[0].split('?')[0].split('/').pop()) + console.log("Mod File Saved to "+folder+"/"+url.split('#')[0].split('?')[0].split('/').pop()) if (!reinstalling) { let dc = get(downloaded) diff --git a/src/lib/components/nxmcard.svelte b/src/lib/components/nxmcard.svelte index 1a23733..d3d5cab 100644 --- a/src/lib/components/nxmcard.svelte +++ b/src/lib/components/nxmcard.svelte @@ -66,7 +66,7 @@ } else { foundLoader = true is_interpose = false; - loader = "Cant "; + loader = "Unknown"; } loading = "Cleaning up"; @@ -76,6 +76,8 @@ try { await installMod() } catch (err) { + console.log("Error installing mod:") + console.error(err) alert(err) } } @@ -180,25 +182,21 @@ console.log(entries[zipdataname]) - // Comment to whoever will look at the code: - // Its a mess i know. But, it somehow work. It seems that it dosent if you look at the files but at the same time - // for some wierd magic, it works. I dont know why. I dont know how. But it works. So, i will leave it as is. - // If you think you have a better solution go to the Pull Request and make a PR. I will be happy to merge it. - //@ts-ignore let modfile = await entries[zipdataname].arrayBuffer() loading = "Foldering"; - invoke("expand_scope", { folderPath: basePath }) - try {await createDir(basePath+folder)} catch {console.log("No directory was created!")} + try {await createDir("", { dir: BaseDirectory.App })} catch {console.log("No BASE directory was created!")} + try {await createDir("mods", { dir: BaseDirectory.App })} catch {console.log("No MODS directory was created!")} + try {await createDir("mods/"+folder, { dir: BaseDirectory.App })} catch {console.log("No MODLOADER directory was created!")} loading = "Writing"; - await writeBinaryFile(basePath+folder+"/"+zipdataname.split("/").at(-1), modfile); + await writeBinaryFile("mods/"+folder+"/"+zipdataname.split("/").at(-1), modfile, { dir: BaseDirectory.App }); loading = "Cleaning"; - console.log("Mod File Saved to "+basePath+folder+"/"+zipdataname) + console.log("Mod File Saved to mods/"+folder+"/"+zipdataname) let dc: any[string] = get(downloaded) diff --git a/src/routes/mods/+page.svelte b/src/routes/mods/+page.svelte index 2342af0..065ec01 100644 --- a/src/routes/mods/+page.svelte +++ b/src/routes/mods/+page.svelte @@ -9,14 +9,18 @@ let loadingModsPhase = 0; function limitStringTo240WordsAndRemoveBr(inputString) { - let stringWithoutBr = inputString.replace(//gi, ' '); - let wordsArray = stringWithoutBr.split(/\s+/); + try { + let stringWithoutBr = inputString.replace(//gi, ' '); + let wordsArray = stringWithoutBr.split(/\s+/); - if (wordsArray.length > 240) { - wordsArray = wordsArray.slice(0, 240); + if (wordsArray.length > 240) { + wordsArray = wordsArray.slice(0, 240); + } + return wordsArray.join(' '); + } catch { + // Limit to 400 chars + return false; } - - return wordsArray.join(' '); } async function NexusGetOthers() { @@ -83,11 +87,14 @@ if (isModAlreadyScanned(element)) {return;} + let description = limitStringTo240WordsAndRemoveBr(element.summary); + if (description === false) {return;} + modz.push({ cover: element.picture_url, modVersion: element.version, nexus: true, - description: limitStringTo240WordsAndRemoveBr(element.summary), + description: description, author: element.author, name: element.name, mod_id: element.mod_id @@ -98,12 +105,14 @@ if (element.name === "Interpose Map Loader" || element.name === "Interpose Mod Loader" || element.contains_adult_content === true) {return;} if (isModAlreadyScanned(element)) {return;} + let description = limitStringTo240WordsAndRemoveBr(element.summary); + if (description === false) {return;} modz.push({ cover: element.picture_url, modVersion: element.version, nexus: true, - description: limitStringTo240WordsAndRemoveBr(element.summary), + description: description, author: element.author, name: element.name, mod_id: element.mod_id @@ -113,12 +122,14 @@ if (element.name === "Interpose Map Loader" || element.name === "Interpose Mod Loader" || element.contains_adult_content === true) {return;} if (isModAlreadyScanned(element)) {return;} + let description = limitStringTo240WordsAndRemoveBr(element.summary); + if (description === false) {return;} modz.push({ cover: element.picture_url, modVersion: element.version, nexus: true, - description: limitStringTo240WordsAndRemoveBr(element.summary), + description: description, author: element.author, name: element.name, mod_id: element.mod_id