1
0
Fork 0
forked from Simnation/Main
Main/resources/[creator]/blips_creator/utils/miscellaneous/misc.js

45 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2025-06-07 08:51:21 +02:00
const path = GetResourcePath(GetCurrentResourceName());
const Jimp = require('jimp');
let originalTexture = null;
async function beginSpritesReplacement() {
try {
originalTexture = await Jimp.read(`${path}/utils/miscellaneous/imgs/blips_texturesheet_ng.png`);
return true;
} catch (error) {
return false;
}
}
exports('beginSpritesReplacement', beginSpritesReplacement);
async function replaceSprite(imageName, x, y) {
try {
let newSprite = await Jimp.read(`${path}/_sprites/REPLACEABLE/${imageName}`);
newSprite = newSprite.resize(64, 64, Jimp.RESIZE_NEAREST_NEIGHBOR);
const spriteWidth = newSprite.getWidth();
const spriteHeight = newSprite.getHeight();
const mask = new Jimp(spriteWidth, spriteHeight, 0x00000000);
originalTexture.mask(mask, x, y);
originalTexture.blit(newSprite, x, y, 0, 0, spriteWidth, spriteHeight);
return true;
} catch (error) {
return false;
}
}
exports('replaceSprite', replaceSprite);
async function endSpritesReplacement() {
try {
await originalTexture.writeAsync(`${path}/utils/miscellaneous/imgs/blips_texturesheet_ng_custom.png`);
return true;
} catch (error) {
return false;
}
}
exports('endSpritesReplacement', endSpritesReplacement);