
This is the point which confuses me at the moment. This bit does influence routing in some way. But you say that there are nonroutable maps with this bit set/unset. So what could the meaning of this bit be?
Noone really knows. Mkgmap sets it even. Garmin maps are actually allways uneven. I speculated that the 0 (unset) here breaks intertile routing, but I have no clue what mkgmap is doing here and where to set it.
In the TREHeader.java (like in the patch from steve) add a one more byte in first position. If I understand it correctly, this will set the ominous fourth byte to 01. (Not tested). - writer.putInt(0x110301); + writer.putInt(0x01110301);
[...] mkgmap default: -1 - 3 - 17 - 0
This are exactly the values from the line above, in decimal coding. (The values in mkgmap are in hexadecimal coding.)