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;
  });
};