Path: blob/main/public/webretro/utils/romshift.js
1224 views
// node.js tool12const fs = require("fs");3const args = process.argv.slice(2);45if (!args[0] || !parseInt(args[0])) throw "Argument 0 needs to be the number to shift";67var romshift = parseInt(args[0]);8var romloc = args[1] || "../roms/";910function getChildFiles(dir) {11var children = fs.readdirSync(dir);12var files = [];13for (var i = 0; i < children.length; i++) {14if (!fs.statSync(dir + children[i]).isDirectory()) files.push(children[i]);15}16return files;17}1819function avShift(array, shift) {20for (var i = 0; i < array.length; i++) {21array[i] += shift;22}23return array;24}2526var roms = getChildFiles(romloc);2728for (var i = 0; i < roms.length; i++) {29fs.writeFileSync(romloc + roms[i], Buffer.from(avShift(new Uint8Array(fs.readFileSync(romloc + roms[i])), romshift)));30}3132console.log("Done");33console.log(roms);343536