img2brs
Version:
Converts images to Brickadia save files (.brs)
2 lines • 2.02 kB
JavaScript
(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var i in r)e.o(r,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:r[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{BRICKS:()=>r,MATERIALS:()=>i,default:()=>u});const r=Object.freeze(["PB_DefaultBrick","PB_DefaultTile","PB_DefaultSideWedge","PB_DefaultSideWedgeTile","PB_DefaultWedge","PB_DefaultMicroBrick","PB_DefaultMicroWedge"]),i=Object.freeze(["BMC_Plastic","BMC_Glow","BMC_Metallic","BMC_Hologram"]),o=Object.freeze({vertical:2,horizontal:4}),n="Generated with img2brs.js",a=("object"==typeof process&&process.env&&process.versions,require("brs-js"));var s=e.n(a);const c=621355968000000000n;function l(){const e=1000000n*BigInt((new Date).getTime()),t=c+e/100n,r=new ArrayBuffer(8);return new DataView(r).setBigInt64(0,t,!0),new Uint8Array(r)}function d(e){const t=e/255;return t>.04045?255*Math.pow(t/1.055+.0521327014,2.4):t/12.92*255}function u(e,t){const{brick:r,material:i,size:o,simpleDirection:a,description:c}=t,d=e,u=new OffscreenCanvas(d.width,d.height),g=u.getContext("2d");g.drawImage(d,0,0);const b=g.getImageData(0,0,u.width,u.height).data,_=[];for(let e=0;e<u.width;e++)for(let t=0;t<u.height;t++){const r=4*(t*u.width+e),i={r:b[r],g:b[r+1],b:b[r+2],a:b[r+3]};i.a>0&&_.push(f(e,t,i,o,a,u.height))}const p={description:c||n,save_time:l(),brick_assets:[r],materials:[i],bricks:_};return new Blob([s().write(p)])}function f(e,t,r,i,n,a){const{r:s,g:c,b:l,a:u}=r,f="vertical"===n,g=f?e*i[1]*2+i[1]:e*i[0]*2+i[0],b=f?t*i[0]*2+i[0]:t*i[1]*2+i[1],_=f?[g,i[2],-b+a*i[0]*2]:[g,b,i[2]];return{color:[d(s),d(c),d(l),u],size:i,direction:o[n],position:_,asset_name_index:0,material_index:0,rotation:0,collision:!0,visibility:!0}}module.exports=t})();
//# sourceMappingURL=index.node.js.map