readLookupTable static method

Map<String, dynamic> readLookupTable(
  1. Uint8List data,
  2. int offset,
  3. dynamic subt
)

Implementation

static Map<String, dynamic> readLookupTable(Uint8List data, int offset, subt) {
  //console.warn("Parsing lookup table", offset);

  int offset0 = offset;
  Map<String, dynamic> obj = {"tabs": []};

  obj["ltype"] = TyprBin.readUshort(data, offset);
  offset += 2;
  obj["flag"] = TyprBin.readUshort(data, offset);
  offset += 2;
  final cnt = TyprBin.readUshort(data, offset);
  offset += 2;

  final ltype = obj["ltype"]; // extension substitution can change this value
  for (int i = 0; i < cnt; i++) {
    final noff = TyprBin.readUshort(data, offset);
    offset += 2;
    final tab = subt(data, ltype, offset0 + noff, obj);
    //console.warn(obj.type, tab);
    obj["tabs"].add(tab);
  }
  return obj;
}