bridge_write writes new axle_load before max_height:
node.write_uint8 (outfp, pillar_asymmetric, 19);
node.write_uint16(outfp, axle_load, 20);
node.write_uint8 (outfp, max_height, 22);
but bridge_read reads ift after max_height:
besch->pillars_asymmetric = (decode_uint8(p)!=0);
besch->max_height = decode_uint8(p);
besch->axle_load = decode_uint16(p); // new
Changed read to:
besch->pillars_asymmetric = (decode_uint8(p)!=0);
besch->axle_load = decode_uint16(p); // new
besch->max_height = decode_uint8(p);
Many thanks for spotting this!