From e38113662e262287e9465d3870dcf28775155c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gergely=20M=C3=A9sz=C3=A1ros=2C=20Ph=2ED?= Date: Mon, 16 May 2022 21:21:27 +0200 Subject: [PATCH 1/3] New button instead of control+click (namesbases) (#802) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mészáros Gergely --- index.html | 3 ++- modules/ui/namesbase-editor.js | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 6514c754..26d88b1e 100644 --- a/index.html +++ b/index.html @@ -3455,7 +3455,8 @@ - + + diff --git a/modules/ui/namesbase-editor.js b/modules/ui/namesbase-editor.js index 4a0db66d..1e08ad2a 100644 --- a/modules/ui/namesbase-editor.js +++ b/modules/ui/namesbase-editor.js @@ -20,14 +20,21 @@ function editNamesbase() { document.getElementById("namesbaseAnalyze").addEventListener("click", analyzeNamesbase); document.getElementById("namesbaseDefault").addEventListener("click", namesbaseRestoreDefault); document.getElementById("namesbaseDownload").addEventListener("click", namesbaseDownload); + + const uploader = document.getElementById("namesbaseToLoad"); document.getElementById("namesbaseUpload").addEventListener("click", () => { - const uploader = document.getElementById("namesbaseToLoad"); - uploader.dataset.override = event.ctrlKey ? "no" : "yes"; + uploader.addEventListener("change", function (event) { + uploadFile(event.target, d => namesbaseUpload(d, true)); + }, { once: true }); uploader.click(); }); - document.getElementById("namesbaseToLoad").addEventListener("change", function (ev) { - uploadFile(this, d => namesbaseUpload(d, ev.target.dataset.override === "yes")); + document.getElementById("namesbaseUploadExtend").addEventListener("click", () => { + uploader.addEventListener("change", function (event) { + uploadFile(event.target, d => namesbaseUpload(d, false)); + }, { once: true }); + uploader.click(); }); + document.getElementById("namesbaseCA").addEventListener("click", () => { openURL("https://cartographyassets.com/asset-category/specific-assets/azgaars-generator/namebases/"); }); From 6566adaeb69a4f5734c836229bc494ba7bead12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Gergely?= Date: Tue, 17 May 2022 01:50:38 +0200 Subject: [PATCH 2/3] Scaling option for resample --- index.html | 6 ++++++ modules/ui/submap.js | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 26d88b1e..2b724c8a 100644 --- a/index.html +++ b/index.html @@ -4380,6 +4380,12 @@ 0° +
Scale
+
+ + 1x +
+
Mirror
diff --git a/modules/ui/submap.js b/modules/ui/submap.js index 3e8b8230..0a903443 100644 --- a/modules/ui/submap.js +++ b/modules/ui/submap.js @@ -10,6 +10,12 @@ window.UISubmap = (function () { output.style.color = getCellsDensityColor(cells); }); + document.getElementById("submapScaleInput").addEventListener("input", function (event) { + const exp = Math.pow(1.1, +event.target.value); + document.getElementById("submapScaleOutput").value = rn(exp,2); + event.stopPropagation(); + }); + function openSubmapMenu() { $("#submapOptionsDialog").dialog({ title: "Create a submap", @@ -32,7 +38,9 @@ window.UISubmap = (function () { resetZoom(0); document.getElementById("submapAngleInput").value = 0; - document.getElementById("submapAngleOutput").value = "0°"; + document.getElementById("submapAngleOutput").value = "0"; + document.getElementById("submapScaleInput").value = 1; + document.getElementById("submapScaleOutput").value = 1; document.getElementById("submapShiftX").value = 0; document.getElementById("submapShiftY").value = 0; document.getElementById("submapMirrorH").checked = false; @@ -64,11 +72,13 @@ window.UISubmap = (function () { const angle = (+document.getElementById("submapAngleInput").value / 180) * Math.PI; const shiftX = +document.getElementById("submapShiftX").value; const shiftY = +document.getElementById("submapShiftY").value; + const ratio = +document.getElementById("submapScaleInput").value; const mirrorH = document.getElementById("submapMirrorH").checked; const mirrorV = document.getElementById("submapMirrorV").checked; const [cx, cy] = [graphWidth / 2, graphHeight / 2]; const rot = alfa => (x, y) => [(x - cx) * Math.cos(alfa) - (y - cy) * Math.sin(alfa) + cx, (y - cy) * Math.cos(alfa) + (x - cx) * Math.sin(alfa) + cy]; + const scale = ratio => (x, y) => [(x-cx) * ratio + cx, (y-cy) * ratio + cy]; const shift = (dx, dy) => (x, y) => [x + dx, y + dy]; const flipH = (x, y) => [-x + 2 * cx, y]; const flipV = (x, y) => [x, -y + 2 * cy]; @@ -83,6 +93,7 @@ window.UISubmap = (function () { projection = app(shift(shiftX, shiftY), projection); inverse = app(inverse, shift(-shiftX, -shiftY)); } + if (ratio) [projection, inverse] = [app(scale(Math.pow(1.1,ratio)), projection), app(inverse, scale(Math.pow(1.1,-ratio)))]; if (mirrorH) [projection, inverse] = [app(flipH, projection), app(inverse, flipH)]; if (mirrorV) [projection, inverse] = [app(flipV, projection), app(inverse, flipV)]; From 58737b0244e18bff56cb34aaff348dde26c0c1d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gergely=20M=C3=A9sz=C3=A1ros=2C=20Ph=2ED?= Date: Tue, 17 May 2022 09:19:49 +0200 Subject: [PATCH 3/3] align with the spec: no implicit ids (#808) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mészáros Gergely --- modules/ui/general.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ui/general.js b/modules/ui/general.js index 357d9a57..f56a234d 100644 --- a/modules/ui/general.js +++ b/modules/ui/general.js @@ -202,10 +202,10 @@ function showMapTooltip(point, e, i, g) { const province = pack.cells.province[i]; const prov = province ? pack.provinces[province].fullName + ", " : ""; tip(prov + stateName); - if (statesEditor?.offsetParent) highlightEditorLine(statesEditor, state); - if (diplomacyEditor?.offsetParent) highlightEditorLine(diplomacyEditor, state); - if (militaryOverview?.offsetParent) highlightEditorLine(militaryOverview, state); - if (provincesEditor?.offsetParent) highlightEditorLine(provincesEditor, province); + if (document.getElementById('statesEditor')?.offsetParent) highlightEditorLine(statesEditor, state); + if (document.getElementById('diplomacyEditor')?.offsetParent) highlightEditorLine(diplomacyEditor, state); + if (document.getElementById('militaryOverview')?.offsetParent) highlightEditorLine(militaryOverview, state); + if (document.getElementById('provincesEditor')?.offsetParent) highlightEditorLine(provincesEditor, province); } else if (layerIsOn("toggleCultures") && pack.cells.culture[i]) { const culture = pack.cells.culture[i]; tip("Culture: " + pack.cultures[culture].name);