diff --git a/process/src/GameData.js b/process/src/GameData.js index e908a4370..cdab1b767 100644 --- a/process/src/GameData.js +++ b/process/src/GameData.js @@ -14,6 +14,7 @@ const SpriteProcessor = require('./SpriteProcessor'); const ObjectFilters = require('./ObjectFilters'); const ObjectBadges = require('./ObjectBadges'); const SitemapGenerator = require('./SitemapGenerator'); +const readFileNormalized = require('./readFileNormalized'); class GameData { constructor(processDir, dataDir, staticDir) { @@ -90,7 +91,7 @@ class GameData { }); this.eachFileInDir("objects", ".txt", (path, filename) => { if (filename.startsWith("groundHeat")) { - const content = fs.readFileSync(path, "utf8"); + const content = readFileNormalized(path); Biome.applyGroundHeat(this.biomes, filename, content); } }); @@ -233,7 +234,7 @@ class GameData { eachFileContent(dirName, extension, callback) { this.eachFileInDir(dirName, extension, (path, filename) => { - callback(fs.readFileSync(path, "utf8"), filename); + callback(readFileNormalized(path, "utf8"), filename); }); } diff --git a/process/src/readFileNormalized.js b/process/src/readFileNormalized.js new file mode 100644 index 000000000..27d2ccb68 --- /dev/null +++ b/process/src/readFileNormalized.js @@ -0,0 +1,9 @@ +"use strict"; +const fs = require("fs"); + +/** read file and normalize line endings of CR to LF */ +function readFileNormalized(path) { + return fs.readFileSync(path, "utf8").replaceAll('\r\n', '\n'); +} + +module.exports = readFileNormalized; diff --git a/src/components/Select.vue b/src/components/Select.vue index 1db4dc098..0805e0c83 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -86,7 +86,7 @@ } /* Search Button */ - .v-select .dropdown-toggle .search-icon { + .v-select .dropdown-toggle .search-icon, .v-select .dropdown-toggle .spin { position: absolute; top: 9px; left: 10px; @@ -323,13 +323,35 @@ .v-select .selected-tag { position: absolute; } + .spin { + transform: rotate(0); + animation: spin 1.1s infinite linear; + } + @keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + }