From a54c374c865e736d51888d22d3786b665dc356a1 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sat, 8 Feb 2020 10:39:34 -0500 Subject: [PATCH] Allow characters to extend below the 0 meter line. --- macrovision.css | 3 ++- macrovision.js | 17 +++++++++++++++-- media/characters/sofia/front.svg | 8 ++++---- presets/characters.js | 13 +++++++------ 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/macrovision.css b/macrovision.css index 8f08b849..951b4894 100644 --- a/macrovision.css +++ b/macrovision.css @@ -39,7 +39,8 @@ body { -khtml-user-drag: none; -moz-user-drag: none; -o-user-drag: none; - transform: translate(-50%, -100%); + --offset: -100%; + transform: translate(-50%, var(--offset)); } .entity-name { diff --git a/macrovision.js b/macrovision.js index 12fd2a92..174977b6 100644 --- a/macrovision.js +++ b/macrovision.js @@ -531,7 +531,14 @@ function displayEntity(entity, view, x, y) { box.appendChild(img); box.appendChild(nameTag); - img.src = entity.views[view].image.source; + const image = entity.views[view].image; + img.src = image.source; + + if (image.bottom) { + img.style.setProperty("--offset", ((-1 + image.bottom) * 100) + "%") + } + + box.dataset.x = x; box.dataset.y = y; @@ -616,7 +623,13 @@ document.addEventListener("DOMContentLoaded", () => { document.querySelector("#entity-view").addEventListener("input", e => { selected.dataset.view = e.target.value - selected.querySelector(".entity-image").src = entities[selected.dataset.key].views[e.target.value].image.source; + const image = entities[selected.dataset.key].views[e.target.value].image + selected.querySelector(".entity-image").src = image.source; + + + if (image.bottom) { + selected.querySelector(".entity-image").style.setProperty("--offset", ((-1 + image.bottom) * 100) + "%") + } updateSizes(); updateEntityOptions(entities[selected.dataset.key], e.target.value); updateViewOptions(entities[selected.dataset.key], e.target.value); diff --git a/media/characters/sofia/front.svg b/media/characters/sofia/front.svg index 6c4af52c..2565689d 100644 --- a/media/characters/sofia/front.svg +++ b/media/characters/sofia/front.svg @@ -1,9 +1,9 @@ + viewBox="0 0 1363.57 3568.21" style="enable-background:new 0 0 1363.57 3568.21;" xml:space="preserve"> - + c-9.76,12.68-22.61,20.21-38.02,23.78c-2.53,0.59-5.01,1.38-8.28,2.3C300.21,1161.13,301.09,1165.91,302.03,1170.99z"/> diff --git a/presets/characters.js b/presets/characters.js index 53b61ec1..be54e39e 100644 --- a/presets/characters.js +++ b/presets/characters.js @@ -19,8 +19,6 @@ function makeFen() { }, image: { source: "./media/characters/fen/back.svg", - bottom: 0.01, - top: 0.93 }, name: "Body" }, @@ -154,7 +152,8 @@ function makeNoir() { } }, image: { - source: "./media/characters/noir/front.svg" + source: "./media/characters/noir/front.svg", + bottom: 0.01 }, name: "Front" } @@ -301,7 +300,8 @@ function makeAdake() { } }, image: { - source: "./media/characters/adake/front-2.svg" + source: "./media/characters/adake/front-2.svg", + bottom: 0.005 }, name: "Front (Alt)" }, @@ -321,7 +321,7 @@ function makeAdake() { } }, image: { - source: "./media/characters/adake/back.svg" + source: "./media/characters/adake/back.svg", }, name: "Back" }, @@ -341,7 +341,8 @@ function makeAdake() { } }, image: { - source: "./media/characters/adake/kneel.svg" + source: "./media/characters/adake/kneel.svg", + bottom: 0.05 }, name: "Kneeling" },