aboutsummaryrefslogtreecommitdiff
path: root/webAO/viewport/utils/setSide.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/viewport/utils/setSide.ts')
-rw-r--r--webAO/viewport/utils/setSide.ts23
1 files changed, 18 insertions, 5 deletions
diff --git a/webAO/viewport/utils/setSide.ts b/webAO/viewport/utils/setSide.ts
index 564d477c..a9dbfdb3 100644
--- a/webAO/viewport/utils/setSide.ts
+++ b/webAO/viewport/utils/setSide.ts
@@ -1,7 +1,6 @@
import { positions } from "../constants/positions";
import { AO_HOST } from "../../client/aoHost";
import { client } from "../../client";
-import findImgSrc from "../../utils/findImgSrc";
import transparentPng from "../../constants/transparentPng";
import fileExists from "../../utils/fileExists";
@@ -70,7 +69,7 @@ export const set_side = async ({
speedLines = positions[position].speedLines;
} else {
bg = `${position}`;
- desk = { ao2: `${position}_overlay.png`, ao1: "_overlay.png" };
+ desk = { ao2: `${position}_overlay`, ao1: "_overlay" };
speedLines = "defense_speedlines.gif";
}
@@ -82,9 +81,23 @@ export const set_side = async ({
if (showDesk === true && desk) {
const bg_folder = client.viewport.getBackgroundFolder();
- const urls_to_try = [bg_folder + desk.ao2, bg_folder + desk.ao1];
- bench.src = await findImgSrc(urls_to_try);
- bench.style.opacity = "1";
+ const stems = [desk.ao2, desk.ao1].filter((s): s is string => typeof s === "string");
+ let found = false;
+ outer:
+ for (const stem of stems) {
+ for (const ext of client.background_extensions) {
+ const url = `${bg_folder}${stem}${ext}`;
+ if (await fileExists(url)) {
+ bench.src = url;
+ bench.style.opacity = "1";
+ found = true;
+ break outer;
+ }
+ }
+ }
+ if (!found) {
+ bench.src = transparentPng;
+ }
} else {
bench.style.opacity = "0";
}