diff options
| -rw-r--r-- | webAO/client.html | 21 | ||||
| -rw-r--r-- | webAO/client.js | 72 | ||||
| -rw-r--r-- | webAO/styles/client.css | 30 |
3 files changed, 86 insertions, 37 deletions
diff --git a/webAO/client.html b/webAO/client.html index 4102c72..2dfa986 100644 --- a/webAO/client.html +++ b/webAO/client.html @@ -73,8 +73,7 @@ <div id="client_icwrapper"> <div id="client_background"> <div id="client_gamewindow"> - <img id="client_court_static" alt="Courtroom backdrop" onerror="imgError(this);"> - <div id="client_charview"> + <div id="client_fullview"> <div id="client_stitch_court"> <img id="client_court_def" alt="Courtroom backdrop" onerror="imgError(this);"> <img id="client_court_deft" alt="Courtroom backdrop" onerror="imgError(this);"> @@ -122,7 +121,23 @@ <img id="client_def_bench" class="client_bench"> <img id="client_wit_bench" class="client_bench"> <img id="client_pro_bench" class="client_bench"> - </div> + </div> + <div id="client_classicview"> + <img id="client_court_classic" alt="Courtroom backdrop" onerror="imgError(this);"> + <div id="client_pair_char" class="client_char" alt="Paired character"> + <img id="client_pair_gif" onerror="charError(this);"> + <img id="client_pair_png" onerror="charError(this);"> + <img id="client_pair_apng" onerror="charError(this);"> + <img id="client_pair_webp" onerror="charError(this);"> + </div> + <div id="client_char" class="client_char" alt="Character"> + <img id="client_char_gif" onerror="charError(this);"> + <img id="client_char_png" onerror="charError(this);"> + <img id="client_char_apng" onerror="charError(this);"> + <img id="client_char_webp" onerror="charError(this);"> + </div> + <img id="client_bench_classic" class="client_bench"> + </div> <img id="client_fg" alt="Various overlay" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> <img id="client_evi" src="" alt="Character Evidence" onerror="imgError(this);"> <img id="client_testimony" alt="Testimony overlay" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" onerror="imgError(this);"> diff --git a/webAO/client.js b/webAO/client.js index a9c72e3..3453151 100644 --- a/webAO/client.js +++ b/webAO/client.js @@ -1229,6 +1229,8 @@ class Client extends EventEmitter { document.getElementById("client_wit_bench").src = bgfolder + "stand.png" document.getElementById("client_pro_bench").src = bgfolder + "prosecutiondesk.png" + document.getElementById("client_court").src = bgfolder + "full.png" + document.getElementById("client_court_def").src = bgfolder + "defenseempty.png" document.getElementById("client_court_deft").src = bgfolder + "transition_def.png" document.getElementById("client_court_wit").src = bgfolder + "witnessempty.png" @@ -1740,9 +1742,9 @@ class Viewport { async changeBackground(position) { const bgfolder = viewport.bgFolder; - const view = document.getElementById("client_charview"); - const bench = document.getElementById("client_"+position+"_bench"); - const court = document.getElementById("client_court"); + const view = document.getElementById("client_fullview"); + const bench = document.getElementById("client_bench_classic"); + const court = document.getElementById("client_court_classic"); const positions = { def: { @@ -1791,7 +1793,6 @@ async changeBackground(position) { let desk; let speedLines; - if ( "def,pro,hld,hlp,wit,jud,jur,sea".includes(position)) { bg = positions[position].bg; desk = positions[position].desk; @@ -1802,14 +1803,11 @@ async changeBackground(position) { speedLines = "defense_speedlines.gif"; } - court.className = position + "_court"; - if (viewport.chatmsg.type === 5) { court.src = `${AO_HOST}themes/default/${encodeURI(speedLines)}`; bench.style.opacity = 0; } else { - court.src = bgfolder + "full.png"; - view.src = bgfolder + "full.png"; + court.src = bgfolder + bg; if (desk) { const deskFilename = await fileExists(bgfolder + desk.ao2) ? desk.ao2 : desk.ao1; bench.src = bgfolder + deskFilename; @@ -1819,19 +1817,27 @@ async changeBackground(position) { } } - switch(position) { - case "def": - view.style.left = "0"; - break; - case "wit": - view.style.left = "-200%"; - break; - case "pro": - view.style.left = "-400%"; - break; - } - + if ( "def,pro,wit".includes(position)) { + bench.style.display = "none"; + view.style.display = ""; + document.getElementById("client_classicview").style.display = "none"; + switch(position) { + case "def": + view.style.left = "0"; + break; + case "wit": + view.style.left = "-200%"; + break; + case "pro": + view.style.left = "-400%"; + break; + } + } else { + bench.style.display = ""; + view.style.display = "none"; + document.getElementById("client_classicview").style.display = ""; } +} /** * Intialize testimony updater @@ -1973,11 +1979,12 @@ async changeBackground(position) { setEmote(charactername, emotename, prefix, pair, side) { const pairID = pair ? "pair" : "char"; const characterFolder = AO_HOST + "characters/"; + const position = "def,pro,wit".includes(side) ? side+"_" : "" - const gif_s = document.getElementById("client_" + side + "_" + pairID + "_gif"); - const png_s = document.getElementById("client_" + side + "_" + pairID + "_png"); - const apng_s = document.getElementById("client_" + side + "_" + pairID +"_apng"); - const webp_s = document.getElementById("client_" + side + "_" + pairID +"_webp"); + const gif_s = document.getElementById("client_" + position + pairID + "_gif"); + const png_s = document.getElementById("client_" + position + pairID + "_png"); + const apng_s = document.getElementById("client_" + position + pairID +"_apng"); + const webp_s = document.getElementById("client_" + position + pairID +"_webp"); if (this.lastChar !== this.chatmsg.name) { //hide the last sprite @@ -2006,6 +2013,8 @@ async changeBackground(position) { this.sfxplayed = 0; this.textTimer = 0; this._animating = true; + let charLayers = document.getElementById("client_char"); + let pairLayers = document.getElementById("client_pair_char"); // stop updater clearTimeout(this.updater); @@ -2026,8 +2035,10 @@ async changeBackground(position) { } this.lastEvi = this.chatmsg.evidence; - const charLayers = document.getElementById("client_"+this.chatmsg.side+"_char"); - const pairLayers = document.getElementById("client_"+this.chatmsg.side+"_pair_char"); + if ( "def,pro,wit".includes(this.chatmsg.side)) { + charLayers = document.getElementById("client_"+this.chatmsg.side+"_char"); + pairLayers = document.getElementById("client_"+this.chatmsg.side+"_pair_char"); + } const chatContainerBox = document.getElementById("client_chatcontainer"); const nameBoxInner = document.getElementById("client_inner_name"); @@ -2185,13 +2196,18 @@ async changeBackground(position) { const gamewindow = document.getElementById("client_gamewindow"); const waitingBox = document.getElementById("client_chatwaiting"); - const charLayers = document.getElementById("client_"+this.chatmsg.side+"_char"); - const pairLayers = document.getElementById("client_"+this.chatmsg.side+"_pair_char"); const eviBox = document.getElementById("client_evi"); const shoutSprite = document.getElementById("client_shout"); const chatBoxInner = document.getElementById("client_inner_chat"); const chatBox = document.getElementById("client_chat"); const effectlayer = document.getElementById("client_fg"); + let charLayers = document.getElementById("client_char"); + let pairLayers = document.getElementById("client_pair_char"); + + if ( "def,pro,wit".includes(this.chatmsg.side)) { + charLayers = document.getElementById("client_"+this.chatmsg.side+"_char"); + pairLayers = document.getElementById("client_"+this.chatmsg.side+"_pair_char"); + } const charName = this.chatmsg.name.toLowerCase(); const charEmote = this.chatmsg.sprite.toLowerCase(); diff --git a/webAO/styles/client.css b/webAO/styles/client.css index ba7a4a0..080a6bb 100644 --- a/webAO/styles/client.css +++ b/webAO/styles/client.css @@ -179,6 +179,14 @@ width: 100%; } +#client_court_static { + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; +} + #client_court { position: absolute; height: 100%; @@ -201,6 +209,13 @@ bottom: 0; } +#client_court_classic { + position: absolute; + height: 100%; + top: 0; + left: 0; +} + .def_court { object-position: left; } @@ -213,7 +228,7 @@ object-position: right; } -#client_charview { +#client_fullview { position: absolute; height: 100%; width: 100%; @@ -222,6 +237,13 @@ transition-property: left; } +#client_classicview { + position: absolute; + height: 100%; + width: 100%; + bottom: 0; +} + .client_char { position: absolute; height: 100%; @@ -239,14 +261,10 @@ object-position: 50% 0; } -.def_bench, .hld_bench, .jur_bench, .sea_bench { +#client_bench_classic { left: 0; } -.pro_bench, .hlp_bench, .wit_bench, .jud_bench { - right: 0; -} - #client_def_bench, #client_def_char, #client_def_pair_char, #client_court_def { left: 0; } |
