Spaces:
Running
Running
File size: 1,007 Bytes
4ee4376 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import { bin2str } from './common';
export default (data, map) => {
let view = new Uint8Array(data);
view.forEach((bits, i) => {
let xbit = {};
// can this tile receive power?
xbit.wired = (bits & 0b10000000) !== 0;
// does this tile HAVE power?
xbit.powered = (bits & 0b01000000) !== 0;
// can this tile receive piped water?
xbit.piped = (bits & 0b00100000) !== 0;
// does this tile HAVE piped water?
xbit.watered = (bits & 0b00010000) !== 0;
// mask for XVAL
// not currently used
//xbit.xvalMask = (bits & 0b00001000) !== 0;
// is this tile covered by water?
xbit.waterCovered = (bits & 0b00000100) !== 0;
// rotate tile by 90 degrees?
xbit.rotate = (bits & 0b00000010) !== 0;
// is tile salt water or fresh water?
xbit.saltWater = (bits & 0b00000001) !== 0;
xbit.binaryText = {
bits: bin2str(bits, 8),
};
map.cells[i]._segmentData.XBIT = xbit;
});
}; |