diff --git a/media/attribution.js b/media/attribution.js
index 7bec9dc9..7dac6c19 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -2681,6 +2681,18 @@ const attributionData = {
"chemicalcrux"
]
},
+ {
+ prefix: "./media/objects/shoes/",
+ files: [
+ { name: "shoe_flip-flops.svg", source: null },
+ { name: "shoe_knee-boots.svg", source: null },
+ { name: "shoe_trainers.svg", source: null },
+ { name: "shoe_stilettos.svg", source: null },
+ ],
+ authors: [
+ "chemicalcrux"
+ ]
+ },
{
prefix: "./media/objects/",
files: [
diff --git a/media/objects/shoes/shoe_flip-flops.svg b/media/objects/shoes/shoe_flip-flops.svg
new file mode 100644
index 00000000..daadd02e
--- /dev/null
+++ b/media/objects/shoes/shoe_flip-flops.svg
@@ -0,0 +1,24 @@
+
+
+
diff --git a/media/objects/shoes/shoe_knee-boots.svg b/media/objects/shoes/shoe_knee-boots.svg
new file mode 100644
index 00000000..0f65c79c
--- /dev/null
+++ b/media/objects/shoes/shoe_knee-boots.svg
@@ -0,0 +1,19 @@
+
+
+
diff --git a/media/objects/shoes/shoe_stilettos.svg b/media/objects/shoes/shoe_stilettos.svg
new file mode 100644
index 00000000..cb23d511
--- /dev/null
+++ b/media/objects/shoes/shoe_stilettos.svg
@@ -0,0 +1,26 @@
+
+
+
diff --git a/media/objects/shoes/shoe_trainers.svg b/media/objects/shoes/shoe_trainers.svg
new file mode 100644
index 00000000..b1419160
--- /dev/null
+++ b/media/objects/shoes/shoe_trainers.svg
@@ -0,0 +1,19 @@
+
+
+
diff --git a/presets/objects.js b/presets/objects.js
index 149231b3..4b903c79 100644
--- a/presets/objects.js
+++ b/presets/objects.js
@@ -38,6 +38,37 @@ function makeObject(name, viewInfo) {
return makeEntity({ name: name }, views);
}
+SHOE_REFERENCE = 60
+function addShoeView(object, name, points) {
+ object[name] = {
+ height: math.unit(points / SHOE_REFERENCE, "inches"),
+ image: { source: "./media/objects/shoes/shoe_" + name + ".svg" },
+ name: name.replace(/-/g, " ").replace(/\b\w/g, x => x.toUpperCase()),
+ rename: true
+ }
+}
+
+function makeShoes() {
+ const views = {};
+
+ [
+ ["flip-flops", 154.239],
+ ["knee-boots", 841.827],
+ ["trainers", 260.607],
+ ["stilettos", 418.839]
+ ].forEach(shoe => {
+ addShoeView(views, shoe[0], shoe[1])
+ });
+
+ return {
+ name: "Shoes",
+ constructor: () => makeObject(
+ "Shoes",
+ views
+ )
+ }
+}
+
function makeObjects() {
const results = [];
@@ -381,12 +412,15 @@ function makeObjects() {
}
)
});
+
+ results.push(makeShoes());
results.sort((b1, b2) => {
e1 = b1.constructor();
e2 = b2.constructor();
return -math.subtract(e1.views[e1.defaultView].height, e2.views[e2.defaultView].height).value;
});
+
return results;
}