static PARSE_STRUCTURES_BLOCK(block, canHaveWalls = false) {
        const areaData = {
            walls: [],
            areas: []
        };

        // There is some unknown 4-byte value at offset 4
        const restrictionCount = block.view.readUInt32LE(8);
        let offset = 12;


        for (let i = 0; i < restrictionCount; i++) {
            offset += 12; // some kind of header

            const x0 = block.view.readFloatLE(offset);
            const y0 = block.view.readFloatLE(offset + 4);
            const x1 = block.view.readFloatLE(offset + 8);
            const y1 = block.view.readFloatLE(offset + 12);
            const x2 = block.view.readFloatLE(offset + 16);
            const y2 = block.view.readFloatLE(offset + 20);
            const x3 = block.view.readFloatLE(offset + 24);
            const y3 = block.view.readFloatLE(offset + 28);

            if (canHaveWalls && x0 === x1 && y0 === y1 && x2 === x3 && y2 === y3) {
                areaData.walls.push([
                    x0, y0,
                    x2, y2
                ]);
            } else {
                areaData.areas.push([
                    x0, y0,
                    x1, y1,
                    x2, y2,
                    x3, y3,
                ]);
            }

            offset += 32;
            offset += 48; // unknown data
        }

        return areaData;
    }
@param {Block} block
@param {boolean} canHaveWalls