diff --git a/media/attribution.js b/media/attribution.js
index 04068685..7f3b8852 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -6235,6 +6235,20 @@ const attributionData = {
"chemicalcrux"
]
},
+ {
+ prefix: "./media/objects/game-pieces/",
+ files: [
+ { name: "chess_king.svg", source: "https://svgsilh.com/image/3413429.html" },
+ { name: "chess_queen.svg", source: "https://svgsilh.com/image/3413429.html" },
+ { name: "chess_bishop.svg", source: "https://svgsilh.com/image/3413429.html" },
+ { name: "chess_knight.svg", source: "https://svgsilh.com/image/3413429.html" },
+ { name: "chess_rook.svg", source: "https://svgsilh.com/image/3413429.html" },
+ { name: "chess_pawn.svg", source: "https://svgsilh.com/image/3413429.html" },
+ ],
+ authors: [
+ "anonymous"
+ ]
+ },
{
prefix: "./media/objects/shoes/",
files: [
diff --git a/media/objects/chess-pieces/chess_bishop.svg b/media/objects/chess-pieces/chess_bishop.svg
new file mode 100644
index 00000000..4ff7bd3f
--- /dev/null
+++ b/media/objects/chess-pieces/chess_bishop.svg
@@ -0,0 +1,17 @@
+
+
+
diff --git a/media/objects/chess-pieces/chess_king.svg b/media/objects/chess-pieces/chess_king.svg
new file mode 100644
index 00000000..4cf1ad2a
--- /dev/null
+++ b/media/objects/chess-pieces/chess_king.svg
@@ -0,0 +1,20 @@
+
+
+
diff --git a/media/objects/chess-pieces/chess_knight.svg b/media/objects/chess-pieces/chess_knight.svg
new file mode 100644
index 00000000..9dcce1c5
--- /dev/null
+++ b/media/objects/chess-pieces/chess_knight.svg
@@ -0,0 +1,17 @@
+
+
+
diff --git a/media/objects/chess-pieces/chess_pawn.svg b/media/objects/chess-pieces/chess_pawn.svg
new file mode 100644
index 00000000..b7efbbe6
--- /dev/null
+++ b/media/objects/chess-pieces/chess_pawn.svg
@@ -0,0 +1,13 @@
+
+
+
diff --git a/media/objects/chess-pieces/chess_queen.svg b/media/objects/chess-pieces/chess_queen.svg
new file mode 100644
index 00000000..db20cd02
--- /dev/null
+++ b/media/objects/chess-pieces/chess_queen.svg
@@ -0,0 +1,18 @@
+
+
+
diff --git a/media/objects/chess-pieces/chess_rook.svg b/media/objects/chess-pieces/chess_rook.svg
new file mode 100644
index 00000000..5ffbac90
--- /dev/null
+++ b/media/objects/chess-pieces/chess_rook.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/presets/objects.js b/presets/objects.js
index 59f5de92..ed2646eb 100644
--- a/presets/objects.js
+++ b/presets/objects.js
@@ -48,6 +48,27 @@ function addShoeView(object, name, points) {
}
}
+function makeHeight(info, category, prefix="") {
+ const views = {};
+
+ info.forEach(object => {
+ views[object[0]] = {
+ height: math.unit(object[1], object[2]),
+ image: { source: "./media/objects/" + category.replace(/ /g, "-").toLowerCase() + "/" + prefix + object[0] + ".svg" },
+ name: object[0].replace(/-/g, " ").replace(/\b\w/g, x => x.toUpperCase()),
+ rename: true
+ }
+ });
+
+ return {
+ name: category,
+ constructor: () => makeObject(
+ category,
+ views
+ )
+ }
+}
+
function makeHeightWeight(info, category, prefix="") {
const views = {};
@@ -438,6 +459,19 @@ function makeObjects() {
}
)
})
+
+ results.push(makeHeight(
+ [
+ ["king", 4, "inches"],
+ ["queen", 351/407*4, "inches"],
+ ["bishop", 340/407*4, "inches"],
+ ["knight", 309/407*4, "inches"],
+ ["rook", 271/407*4, "inches"],
+ ["pawn", 197/407*4, "inches"],
+ ],
+ "Chess Pieces",
+ "chess_"
+ ))
results.sort((b1, b2) => {