Comparing version 1.0.6 to 1.0.7
{ | ||
"name": "cemu-smm", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "This is a module to simplify all kinds of tasks with Loadiine Super Mario Maker save files and respectively Cemu", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
61
save.js
@@ -55,3 +55,3 @@ const Promise = require("bluebird"); | ||
let numbers = []; | ||
for (let i = SAVE_ORDER_SIZE - 1; i > 0; i--) { | ||
for (let i = SAVE_ORDER_SIZE - 1; i >= 0; i--) { | ||
let index = this.data.readUInt8(SAVE_ORDER_OFFSET + i); | ||
@@ -80,2 +80,3 @@ if (index !== 255) { | ||
}); | ||
resolve(); | ||
})); | ||
@@ -94,2 +95,3 @@ } | ||
}); | ||
resolve(); | ||
})); | ||
@@ -122,2 +124,59 @@ } | ||
reorderSync: function () { | ||
try { | ||
if (this.data.slice(SAVE_ORDER_OFFSET, SAVE_ORDER_OFFSET + SAVE_ORDER_SIZE).readUInt32BE(0) !== 0) { | ||
// find all unused slots | ||
let numbers = []; | ||
for (let i = SAVE_ORDER_SIZE - 1; i >= 0; i--) { | ||
let index = this.data.readUInt8(SAVE_ORDER_OFFSET + i); | ||
if (index !== 255) { | ||
numbers.push(index); | ||
} | ||
} | ||
let missingNo = []; | ||
for (let i = 0; i < SAVE_ORDER_SIZE; i++) { | ||
if (!numbers.includes(i)) { | ||
missingNo.push(i); | ||
} | ||
} | ||
// rename course folders | ||
for (let i = 0; i < SAVE_ORDER_SIZE; i++) { | ||
let index = this.data.readUInt8(SAVE_ORDER_OFFSET + i); | ||
if (index !== 255) { | ||
let srcPath = path.resolve(`${this.pathToSave}/course${i.pad(3)}`); | ||
let dstPath = path.resolve(`${this.pathToSave}/course${(index).pad(3)}_reorder`); | ||
fs.renameSync(srcPath, dstPath); | ||
} | ||
} | ||
for (let i = 0; i < SAVE_ORDER_SIZE; i++) { | ||
let srcPath = path.resolve(`${this.pathToSave}/course${i.pad(3)}_reorder`); | ||
let dstPath = path.resolve(`${this.pathToSave}/course${i.pad(3)}`); | ||
try { | ||
fs.renameSync(srcPath, dstPath); | ||
} catch (err) { // ignore | ||
} | ||
} | ||
// write bytes to 'save.dat' | ||
for (let i = 0; i < SAVE_ORDER_SIZE; i++) { | ||
if (missingNo.includes(i)) { | ||
this.data.writeUInt8(SAVE_ORDER_EMPTY, SAVE_ORDER_OFFSET + i); | ||
} else { | ||
this.data.writeUInt8(i, SAVE_ORDER_OFFSET + i); | ||
} | ||
} | ||
// recalculate checksum | ||
this.writeCrc(); | ||
} else { | ||
console.log("No course has been saved so far"); | ||
} | ||
} catch (err) { | ||
console.log(err); | ||
} | ||
}, | ||
exportJpeg: async function () { | ||
@@ -124,0 +183,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
128323
610
0