Allow generic maps to be still generated

This commit is contained in:
2025-06-16 22:41:32 -07:00
parent e1ae5a095b
commit 3adf47f6a0
6 changed files with 49 additions and 14 deletions

View File

@@ -18,7 +18,6 @@ const mapPlaceholder = document.querySelector('.map-placeholder'),
distanceOutput = document.getElementById('status'),
proneToggle = document.getElementById('toggle-prone-counter'),
contentVisToggleEl = document.querySelector('#edge-inputs input[type="checkbox"].visible'),
// fileName = localStorage.getItem('map') || 'scenario-side_show',
fileName = localStorage.getItem('map') || 'scenario-side_show',
map = scenarios[fileName]?.hashed || `assets/images/${fileName}.svg`,
scenarioRequest = requestResource(map),

View File

@@ -7,20 +7,12 @@ const imageMaps = svg.querySelector('#image-maps');
const grid = gb.querySelector('.grid');
const dots = gb.querySelector('#dots');
if ('cols' in dataset && 'rows' in dataset) {
const cellTemplate = svg.querySelector('#hex');
createCells(grid, dataset, cellTemplate.id);
}
const sequence = getComputedStyle(gb).transform.match(/-?\d+\.?\d*/g);
const mtx = new DOMMatrix(sequence || '');
bg.style.transform = mtx;
const bbox = grid.getBBox();
bbox.height += 5;
setElAttrs(bg, bbox);
setElAttrs(dots, bbox)
svg.setAttribute('viewBox', formatForViewBox(calcComputedBboxFor(gb)));

View File

@@ -15,11 +15,7 @@ async function loadScript(scenario, svg, script) {
};
const dataset = scenario.querySelector('script')?.dataset || {};
if ('cols' in dataset && 'rows' in dataset) {
scriptEl.dataset.rows = dataset.rows;
scriptEl.dataset.cols = dataset.cols;
}
Object.entries(dataset).forEach(([k, v]) => scriptEl.dataset[k] = v);
scriptEl.setAttributeNS(null, 'href', `../../${script}.js`);
svg.append(scriptEl);

View File

@@ -1,6 +1,7 @@
import sideShow from './assets/images/scenario-side_show.svg';
import dragonHunting from './assets/images/scenario-dragon_hunting.svg';
import raceAgainstTime from './assets/images/scenario-race_against_time.svg';
import map4 from './assets/images/map4.svg';
export const scenarios = {
'scenario-side_show': {
@@ -15,4 +16,8 @@ export const scenarios = {
hashed: raceAgainstTime,
title: 'BattleTroops Scenario 3: Race Against Time',
},
'map4': {
hashed: map4,
title: 'Test map'
}
}

View File

@@ -646,3 +646,16 @@ function addGroup(container, className) {
container.appendChild(g);
return g;
}
const { left, right, top, bottom } = document.currentScript.dataset;
if (left && right && top && bottom) {
const map = generateRadialCoords(
new Map(),
{ q: 0, r: 0, s: 0 },
{ left: +left, top: +top, right: +right, bottom: +bottom },
'both'
);
drawHexes(addGroup(grid, 'elevation-0'), map);
}