From 11bbece1877701129eb5ede476161c1095557905 Mon Sep 17 00:00:00 2001 From: stonedDiscord Date: Mon, 6 Oct 2025 20:33:47 +0200 Subject: move setbackground --- webAO/viewport/utils/setSide.ts | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'webAO/viewport/utils/setSide.ts') diff --git a/webAO/viewport/utils/setSide.ts b/webAO/viewport/utils/setSide.ts index 25bf50b..658d959 100644 --- a/webAO/viewport/utils/setSide.ts +++ b/webAO/viewport/utils/setSide.ts @@ -2,6 +2,29 @@ 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"; + +export async function setBackgroundImage(elementid: string, bgname: string, bgpart: string) { + + let url; + let success = false; + for (const extension of client.background_extensions) { + url = `${AO_HOST}background/${encodeURI(bgname.toLowerCase())}/${bgpart}${extension}`; + const exists = await fileExists(url); + + if (exists) { + success = true; + break; + } + } + if (success) + (document.getElementById(elementid)).src = url; + else + (document.getElementById(elementid)).src = transparentPng; + return success; +} + /** * Changes the viewport background based on a given position. @@ -53,8 +76,8 @@ export const set_side = async ({ if (showSpeedLines === true) { court.src = `${AO_HOST}themes/default/${encodeURI(speedLines)}`; - } else if (court.src == `${AO_HOST}themes/default/${encodeURI(speedLines)}`) { - court.src = await client.viewport.getBackgroundFolder() + bg + ".png"; //TODO broken + } else { + setBackgroundImage("client_court_classic",client.viewport.getBackgroundName(),bg); } if (showDesk === true && desk) { -- cgit