diff options
| author | stonedDiscord <Tukz@gmx.de> | 2025-09-03 17:37:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-03 17:37:36 +0200 |
| commit | 0d2a3994e203755702ebe4afbd0f3c721ee8ce38 (patch) | |
| tree | 9347303eaa9daad5e10420ab1d90e24593c70df1 /webAO/packets/handlers | |
| parent | 8e46e304f4defc7f9f4eb01922812b28a8585307 (diff) | |
| parent | 035951baf3819f56093f7156b345689aa5093f28 (diff) | |
Merge pull request #270 from AttorneyOnline/ext
Let the webhost specify the extensions use
Diffstat (limited to 'webAO/packets/handlers')
| -rw-r--r-- | webAO/packets/handlers/handleBN.ts | 76 | ||||
| -rw-r--r-- | webAO/packets/handlers/handlePV.ts | 3 |
2 files changed, 41 insertions, 38 deletions
diff --git a/webAO/packets/handlers/handleBN.ts b/webAO/packets/handlers/handleBN.ts index aeea03b..769a0dc 100644 --- a/webAO/packets/handlers/handleBN.ts +++ b/webAO/packets/handlers/handleBN.ts @@ -5,7 +5,29 @@ import { updateBackgroundPreview } from "../../dom/updateBackgroundPreview"; import { getIndexFromSelect } from "../../dom/getIndexFromSelect"; import { switchPanTilt } from "../../dom/switchPanTilt"; import transparentPng from "../../constants/transparentPng"; -import tryUrls from "../../utils/tryUrls"; +import fileExists from "../../utils/fileExists"; + +function setBackgroundImage(elementid: string, bgname: string, bgpart: string): boolean { + + let url; + let success = false; + for (const extension of client.background_extensions) { + url = `${AO_HOST}background/${encodeURI(bgname.toLowerCase())}/${bgpart}${extension}`; + + const exists = fileExists(url); + + if (exists) { + success = true; + break; + } + } + if (success) + (<HTMLImageElement>document.getElementById(elementid)).src = url; + else + (<HTMLImageElement>document.getElementById(elementid)).src = transparentPng; + return success; +} + /** * Handles a background change. @@ -28,43 +50,25 @@ export const handleBN = (args: string[]) => { client.viewport.getBackgroundName(); } - tryUrls( - `${AO_HOST}background/${encodeURI(args[1].toLowerCase())}/defenseempty`, - ).then((resp) => { - (<HTMLImageElement>document.getElementById("bg_preview")).src = resp; - }); - tryUrls(`${bgfolder}defensedesk`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_def_bench")).src = resp; - }); - tryUrls(`${bgfolder}stand`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_wit_bench")).src = resp; - }); - tryUrls(`${bgfolder}prosecutiondesk`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_pro_bench")).src = resp; - }); - tryUrls(`${bgfolder}court`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_court")).src = resp; - if (resp !== transparentPng) { - (<HTMLInputElement>document.getElementById("client_pantilt")).checked = + + setBackgroundImage("bg_preview",args[1],"defenseempty") + + setBackgroundImage("client_def_bench",args[1],"defensedesk") + setBackgroundImage("client_wit_bench",args[1],"stand") + setBackgroundImage("client_pro_bench",args[1],"prosecutiondesk") + + setBackgroundImage("client_court_def",args[1],"defenseempty") + setBackgroundImage("client_court_wit",args[1],"witnessempty") + setBackgroundImage("client_court_pro",args[1],"prosecutorempty") + + setBackgroundImage("client_court_deft",args[1],"transition_def") + setBackgroundImage("client_court_prot",args[1],"transition_pro") + + if(setBackgroundImage("client_court",args[1],"court")) { + (<HTMLInputElement>document.getElementById("client_pantilt")).checked = true; switchPanTilt(); - } - }); - tryUrls(`${bgfolder}defenseempty`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_court_def")).src = resp; - }); - tryUrls(`${bgfolder}transition_def`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_court_deft")).src = resp; - }); - tryUrls(`${bgfolder}witnessempty`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_court_wit")).src = resp; - }); - tryUrls(`${bgfolder}transition_pro`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_court_prot")).src = resp; - }); - tryUrls(`${bgfolder}prosecutorempty`).then((resp) => { - (<HTMLImageElement>document.getElementById("client_court_pro")).src = resp; - }); + } if (client.charID === -1) { client.viewport.set_side({ diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts index 900ea89..4ac747f 100644 --- a/webAO/packets/handlers/handlePV.ts +++ b/webAO/packets/handlers/handlePV.ts @@ -58,9 +58,8 @@ export const handlePV = async (args: string[]) => { } // Make sure the asset server is case insensitive, or that everything on it is lowercase - const extensionsMap = [".png", ".webp"]; let url; - for (const extension of extensionsMap) { + for (const extension of client.emotions_extensions) { url = `${AO_HOST}characters/${encodeURI( me.name.toLowerCase(), )}/emotions/button${i}_off${extension}`; |
