Created
March 13, 2020 23:32
-
-
Save jvyden/d63c9758f2f88efdd5e891353263e0b6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// @author jvyden420 | |
// thing to make the hit pngs (50s, 100s) go by frame count and do it way easier | |
const blank = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGtmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0xMi0yOFQyMDo0NTowMS0wODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTktMDUtMDZUMjM6Mzg6NDQtMDQ6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDUtMDZUMjM6Mzg6NDQtMDQ6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ5YTczZjctZWEyOS0wMjRkLTk3MmMtMTdhNjg0NWFlNzNjIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTg2YzQ1NGUtOTI5My04NTRkLTg5Y2YtM2MzYmEyNGUzMDdkIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ODMzMTZiZDUtMTgxOC1jMzRlLWEwZWItYmE2NTYzZjVhMjExIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MzMxNmJkNS0xODE4LWMzNGUtYTBlYi1iYTY1NjNmNWEyMTEiIHN0RXZ0OndoZW49IjIwMTgtMTItMjhUMjA6NDU6MDEtMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjMzZDE4ODczLTBlMjQtNGM0MS1hNGM2LTQ1NDQ1YWU0YjY4MyIgc3RFdnQ6d2hlbj0iMjAxOS0wNS0wNlQyMzozODo0NC0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTQ5YTczZjctZWEyOS0wMjRkLTk3MmMtMTdhNjg0NWFlNzNjIiBzdEV2dDp3aGVuPSIyMDE5LTA1LTA2VDIzOjM4OjQ0LTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr+87mwAAAFNSURBVHic7dIxAQAgDMAwwL/nIWNHEwU9emfm0PW2A9hlgDgDxBkgzgBxBogzQJwB4gwQZ4A4A8QZIM4AcQaIM0CcAeIMEGeAOAPEGSDOAHEGiDNAnAHiDBBngDgDxBkgzgBxBogzQJwB4gwQZ4A4A8QZIM4AcQaIM0CcAeIMEGeAOAPEGSDOAHEGiDNAnAHiDBBngDgDxBkgzgBxBogzQJwB4gwQZ4A4A8QZIM4AcQaIM0CcAeIMEGeAOAPEGSDOAHEGiDNAnAHiDBBngDgDxBkgzgBxBogzQJwB4gwQZ4A4A8QZIM4AcQaIM0CcAeIMEGeAOAPEGSDOAHEGiDNAnAHiDBBngDgDxBkgzgBxBogzQJwB4gwQZ4A4A8QZIM4AcQaIM0CcAeIMEGeAOAPEGSDOAHEGiDNAnAHiDBBngDgDxBkgzgBxBogzQNwH7XcD/bVOVXkAAAAASUVORK5CYII=" | |
// blank 128x128 png | |
// hope you dont have word wrap on | |
const fs = require("fs"); // import fs as fs | |
if(!fs.existsSync("in")) { // if the in directory doesn't exist... | |
fs.mkdirSync("in"); // ... then make a directory called "in" | |
console.error(`Put everything you need duped in the \"in\" dir. The filename needs to be something like "hit100k.png". Not "hit100k-0.png". Of course, you can use other images like "hit50.png".`); | |
process.exit(1); // and then finally exit since theres nothing to do | |
} | |
if(!fs.existsSync("out")) { // if the out directory doesn't exist... | |
fs.mkdirSync("out"); // ... then make a directory called "out" | |
} | |
const files = fs.readdirSync("in"); // read the list of files in the input directory | |
let writtenFilesCounter = 0; // statistics are cool | |
const arguments = process.argv.slice(2); | |
if(typeof arguments[0] != "string") { | |
console.error("You didn't give a number. Give me a number of frames you want for each file.") | |
process.exit(1); | |
} | |
if(isNaN(arguments[0])) { | |
console.error("Invalid Number. Give me a number of frames you want for each file.") | |
process.exit(1); | |
} | |
const frames = parseInt(arguments[0]) | |
files.forEach(function(file, i) { // loop for every file in the in directory | |
// file = the file in the current loop | |
file = file.replace(".png", ""); // remove the png from the filename | |
console.log(`Writing files for ${file}`); | |
const input = fs.readFileSync(`in/${file}.png`); // read the file as input | |
for(i=0; i<frames+1; i++) { // loop 41 times | |
fs.writeFileSync(`out/${file}-${i}.png`, input); // write the file with the prefix, the loop number, and the extension in the out directory | |
writtenFilesCounter++; // increment the written files counter | |
} | |
console.log(`Writing blank file for ${file}`); | |
fs.writeFileSync(`out/${file}-${frames+1}.png`, blank, {encoding: 'base64'}); // write the blank file | |
writtenFilesCounter++; // increment the written files counter | |
}) | |
console.log(`Done. Wrote ${writtenFilesCounter} files.`); | |
console.log(`You can now import the files in "out" into your skin.`); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment