Skip to content

Commit

Permalink
Branch agnostic piece loading
Browse files Browse the repository at this point in the history
  • Loading branch information
gdavid04 committed Mar 12, 2024
1 parent 0274563 commit b1ae805
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 37 deletions.
9 changes: 2 additions & 7 deletions src/lines.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
width: 100%; height: 100%;
background-position: var(--line-pos);
background-size: calc(2 * var(--line-scale));
background-image: var(--line-icon);
background-image: var(--icon);
--line-scale: 100%;
}

.line[data-color] {
background-color: var(--color-param);
background-blend-mode: multiply;
mask-position: var(--line-pos);
mask-image: var(--line-icon);
mask-image: var(--icon);
mask-mode: alpha;
mask-size: calc(2 * var(--line-scale));
}
Expand All @@ -23,8 +23,3 @@
.line[data-side=bottom] { --line-pos: var(--line-scale) 100%; }
.line[data-side=left] { --line-pos: var(--line-scale) 0; }
.line[data-side=right] { --line-pos: 0 0; }

.line[data-half='1'][data-side=left], .line[data-half='1'][data-side=right] { clip-path: inset(0 0 50% 0); }
.line[data-half='1'][data-side=top], .line[data-half='1'][data-side=bottom] { clip-path: inset(0 50% 0 0); }
.line[data-half='2'][data-side=left], .line[data-half='2'][data-side=right] { clip-path: inset(50% 0 0 0); }
.line[data-half='2'][data-side=top], .line[data-half='2'][data-side=bottom] { clip-path: inset(0 0 0 50%); }
2 changes: 1 addition & 1 deletion src/piece.css
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ body {
.param[data-side=off] { background-color: var(--color-param); border-radius: 50%; visibility: hidden; }

.piece.unknown {
--piece-icon: url('https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/base.png');
--piece-icon: url('https://raw.githubusercontent.com/gdavid04/phi/1.16/src/main/resources/assets/phi/textures/spell/base.png');
}

.piece.unknown [data-value] {
Expand Down
13 changes: 9 additions & 4 deletions src/piece.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -168,27 +168,32 @@ export function removeEditor(editor) {
}

export async function loadPieces(html) {
let pieces = {}, repo, namespace, lang;
let pieces = {}, repo, namespace, lang, branch;
html.querySelectorAll('meta').forEach(e => {
repo = repo || e.dataset.repo;
namespace = namespace || e.dataset.namespace;
branch = branch || e.dataset.branch;
});
if (!repo || !namespace) {
console.error('Missing metadata in piece list');
return pieces;
}
if (!branch) {
console.warn('Missing branch metadata in piece list, defaulting to master');
branch = 'master';
}
html.querySelectorAll('[data-icon]').forEach(e => {
e.style.setProperty('--icon', `url('https://raw.githubusercontent.com/${repo}/master/src/main/resources/assets/${namespace}/textures/spell/${e.dataset.icon}.png')`);
e.style.setProperty('--icon', `url('https://raw.githubusercontent.com/${repo}/${branch}/src/main/resources/assets/${namespace}/textures/spell/${e.dataset.icon}.png')`);
});
try {
lang = await loadJSON(`https://raw.githubusercontent.com/${repo}/master/src/main/resources/assets/${namespace}/lang/en_us.json`);
lang = await loadJSON(`https://raw.githubusercontent.com/${repo}/${branch}/src/main/resources/assets/${namespace}/lang/en_us.json`);
} catch {
console.error(`Failed to load language file for ${namespace}`);
}
lang = lang || {};
html.querySelectorAll('.piece').forEach(e => {
if (repo && namespace) {
e.style.setProperty('--piece-icon', `url('https://raw.githubusercontent.com/${repo}/master/src/main/resources/assets/${namespace}/textures/spell/${e.dataset.icon || e.dataset.type}.png')`);
e.style.setProperty('--piece-icon', `url('https://raw.githubusercontent.com/${repo}/${branch}/src/main/resources/assets/${namespace}/textures/spell/${e.dataset.icon || e.dataset.type}.png')`);
}
e.dataset.name = e.dataset.name || lang[`${namespace}.spellpiece.${e.dataset.type}`] || `${namespace}.spellpiece.${e.dataset.type}`;
e.dataset.desc = e.dataset.desc || lang[`${namespace}.spellpiece.${e.dataset.type}.desc`] || `${namespace}.spellpiece.${e.dataset.type}.desc`;
Expand Down
33 changes: 18 additions & 15 deletions src/pieces/phi.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<meta data-repo="gdavid04/phi" data-namespace="phi">
<meta data-repo="gdavid04/phi" data-namespace="phi" data-branch="1.16">
<div class="piece" data-type="trick_psion_wave">
<div class="param" data-name="Direction" data-key="_direction" data-color="green"></div>
<div class="param" data-name="Speed" data-key="_speed" data-color="red"></div>
Expand Down Expand Up @@ -40,10 +40,10 @@
<div class="param" data-name="X" data-key="_x" data-color="red" data-arrow="none" data-optional></div>
<div class="param" data-name="Y" data-key="_y" data-color="green" data-arrow="none" data-optional></div>
<div class="param" data-name="Z" data-key="_z" data-color="blue" data-arrow="none" data-optional></div>
<div class="line" data-trigger="_vector" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/operator_split_vector_lines.png);"></div>
<div class="line" data-trigger="_x" data-color="red" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/operator_split_vector_lines.png);"></div>
<div class="line" data-trigger="_y" data-color="green" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/operator_split_vector_lines.png);"></div>
<div class="line" data-trigger="_z" data-color="blue" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/operator_split_vector_lines.png);"></div>
<div class="line" data-trigger="_vector" data-icon="operator_split_vector_lines"></div>
<div class="line" data-trigger="_x" data-color="red" data-icon="operator_split_vector_lines"></div>
<div class="line" data-trigger="_y" data-color="green" data-icon="operator_split_vector_lines"></div>
<div class="line" data-trigger="_z" data-color="blue" data-icon="operator_split_vector_lines"></div>
</div>
<div class="piece" data-type="connector_clockwise" data-sorting-name="00000000000-">
<!-- TODO arrows -->
Expand All @@ -52,18 +52,21 @@
<!-- TODO arrows -->
</div>
<div class="piece" data-type="connector_bidirectional" data-sorting-name="00000000000-">
<div class="param" data-name="From / To" data-key="phi.spellparam.from_to" data-color="gray" data-arrow="bidir"></div>
<div class="param" data-name="To / From" data-key="phi.spellparam.to_from" data-color="gray" data-arrow="bidir"></div>
<div class="param" data-name="From / To" data-key="phi.spellparam.from_to" data-color="cross1" data-arrow="bidir"></div>
<div class="param" data-name="To / From" data-key="phi.spellparam.to_from" data-color="cross2" data-arrow="bidir"></div>
<!-- TODO arrows -->
<div class="line" data-trigger="phi.spellparam.from_to" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/connector_bidirectional_lines.png);"></div>
<div class="line" data-trigger="phi.spellparam.to_from" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/connector_bidirectional_lines.png);"></div>
<div class="line" data-trigger="phi.spellparam.from_to" data-half="1" data-color="cross1" data-icon="connector_bidirectional_lines"></div>
<div class="line" data-trigger="phi.spellparam.from_to" data-half="2" data-color="cross2" data-icon="connector_bidirectional_lines"></div>
<div class="line" data-trigger="phi.spellparam.to_from" data-half="2" data-color="cross1" data-icon="connector_bidirectional_lines"></div>
<div class="line" data-trigger="phi.spellparam.to_from" data-half="2" data-color="cross2" data-icon="connector_bidirectional_lines"></div>
</div>
<div class="piece" data-type="connector_in_out" data-sorting-name="00000000000-">
<div class="param" data-name="From" data-key="phi.spellparam.from" data-color="gray"></div>
<div class="param" data-name="To / From" data-key="phi.spellparam.to_from" data-color="gray" data-arrow="bidir"></div>
<div class="param" data-name="To" data-key="phi.spellparam.to" data-color="gray" data-arrow="none"></div>
<div class="param" data-name="From" data-key="phi.spellparam.from" data-color="cross1"></div>
<div class="param" data-name="To / From" data-key="phi.spellparam.to_from" data-color="cross2" data-arrow="bidir"></div>
<div class="param" data-name="To" data-key="phi.spellparam.to" data-color="cross2" data-arrow="none"></div>
<!-- TODO arrows -->
<div class="line" data-trigger="phi.spellparam.from" data-half="1" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/connector_bidirectional_lines.png);"></div>
<div class="line" data-trigger="phi.spellparam.to_from" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/connector_bidirectional_lines.png);"></div>
<div class="line" data-trigger="phi.spellparam.to" data-half="2" style="--line-icon: url(https://raw.githubusercontent.com/gdavid04/phi/master/src/main/resources/assets/phi/textures/spell/connector_bidirectional_lines.png);"></div>
<div class="line" data-trigger="phi.spellparam.from" data-half="1" data-color="cross1" data-icon="connector_bidirectional_lines"></div>
<div class="line" data-trigger="phi.spellparam.to_from" data-half="1" data-color="cross1" data-icon="connector_bidirectional_lines"></div>
<div class="line" data-trigger="phi.spellparam.to_from" data-half="2" data-color="cross2" data-icon="connector_bidirectional_lines"></div>
<div class="line" data-trigger="phi.spellparam.to" data-half="2" data-color="cross2" data-icon="connector_bidirectional_lines"></div>
</div>
20 changes: 10 additions & 10 deletions src/pieces/psi.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<meta data-repo="Vazkii/Psi" data-namespace="psi">
<meta data-repo="Vazkii/Psi" data-namespace="psi" data-branch="master">
<div class="piece" data-type="selector_caster"></div>
<div class="piece" data-type="selector_focal_point"></div>
<div class="piece" data-type="selector_nearby_items">
Expand Down Expand Up @@ -343,21 +343,21 @@
</div>
<div class="piece" data-type="connector" data-sorting-name="00000000000">
<div class="param" data-name="Target" data-key="_target" data-color="gray"></div>
<div class="line" data-trigger="in" data-side="top" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="in" data-side="bottom" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="in" data-side="left" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="in" data-side="right" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="_target" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="in" data-side="top" data-icon="connector_lines"></div>
<div class="line" data-trigger="in" data-side="bottom" data-icon="connector_lines"></div>
<div class="line" data-trigger="in" data-side="left" data-icon="connector_lines"></div>
<div class="line" data-trigger="in" data-side="right" data-icon="connector_lines"></div>
<div class="line" data-trigger="_target" data-icon="connector_lines"></div>
</div>
<div class="piece" data-type="cross_connector" data-sorting-name="00000000000">
<div class="param" data-name="From 1" data-key="_from1" data-color="cross1"></div>
<div class="param" data-name="To 1" data-key="_to1" data-color="cross1" data-arrow="none"></div>
<div class="param" data-name="From 2" data-key="_from2" data-color="cross2"></div>
<div class="param" data-name="To 2" data-key="_to2" data-color="cross2" data-arrow="none"></div>
<div class="line" data-trigger="_from1" data-color="cross1" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="_to1" data-color="cross1" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="_from2" data-color="cross2" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="_to2" data-color="cross2" style="--line-icon: url(https://raw.githubusercontent.com/Vazkii/Psi/master/src/main/resources/assets/psi/textures/spell/connector_lines.png);"></div>
<div class="line" data-trigger="_from1" data-color="cross1" data-icon="connector_lines"></div>
<div class="line" data-trigger="_to1" data-color="cross1" data-icon="connector_lines"></div>
<div class="line" data-trigger="_from2" data-color="cross2" data-icon="connector_lines"></div>
<div class="line" data-trigger="_to2" data-color="cross2" data-icon="connector_lines"></div>
</div>
<div class="piece" data-type="error_suppressor" data-sorting-name="00000000001"></div>
<div class="piece" data-type="error_catch">
Expand Down

0 comments on commit b1ae805

Please sign in to comment.