Omnibus's picture
Upload 131 files
4ee4376
export default (data, map) => {
let view = new DataView(data.buffer, data.byteOffset, data.byteLength);
map._segmentData.XTHG = [];
for (let i = 0; i < data.byteLength; i++) {
let offset = i * 12;
if (offset >= data.byteLength)
break;
let xthg = {};
xthg.id = view.getUint8(offset + 0);
xthg.type = types[xthg.id];
xthg.actor = actors[xthg.id];
xthg.direction = xthg.type == 'actor' ? direction[view.getUint8(offset + 1)] : view.getUint8(offset + 1);
xthg.x = view.getUint8(offset + 3);
xthg.y = view.getUint8(offset + 4);
xthg.z = view.getUint8(offset + 5);
xthg.data2 = view.getUint8(offset + 2); // identifier? sequence number? type?
xthg.data7 = view.getUint8(offset + 6);
xthg.data8 = view.getUint8(offset + 7);
xthg.data9 = view.getUint8(offset + 8);
xthg.dataA = view.getUint8(offset + 9);
xthg.dataB = view.getUint8(offset + 10);
xthg.dataC = view.getUint8(offset + 11);
map._segmentData.XTHG.push(xthg);
}
};
let direction = {
0x00: 'N',
0x01: 'NE',
0x02: 'E',
0x03: 'SE',
0x04: 'S',
0x05: 'SW',
0x06: 'W',
0x07: 'NW',
0x08: 'EIGHT!'
};
let types = {
0x00: null,
0x01: 'actor',
0x02: 'actor',
0x03: 'actor',
0x04: null,
0x05: 'actor',
0x06: null,
0x07: 'deploy',
0x08: 'deploy',
0x09: 'actor',
0x0A: 'actor',
0x0B: 'actor',
0x0C: null,
0x0D: null,
0x0E: 'deploy',
0x0F: 'actor',
0x10: 'actor',
};
let actors = {
0x00: null,
0x01: 'Airplane',
0x02: 'Helicopter',
0x03: 'Cargo Ship',
0x04: null,
0x05: 'Monster',
0x06: null,
0x07: 'Deploy Police',
0x08: 'Deploy Fire',
0x09: 'Sailboat',
0x0A: 'Train Engine',
0x0B: 'Train Car',
0x0C: null,
0x0D: null,
0x0E: 'Deploy Military',
0x0F: 'Tornado',
0x10: 'Maxis Man',
};