Index: src/uk/me/parabola/imgfmt/app/lbl/PlacesHeader.java =================================================================== --- src/uk/me/parabola/imgfmt/app/lbl/PlacesHeader.java (revision 4896) +++ src/uk/me/parabola/imgfmt/app/lbl/PlacesHeader.java (working copy) @@ -49,7 +49,7 @@ private final Section highway = new Section(zip, HIGHWAY_REC_LEN); private final Section exitFacility = new Section(highway, EXIT_REC_LEN); private final Section highwayData = new Section(exitFacility, HIGHWAYDATA_REC_LEN); - private int POIGlobalFlags ; + private int POIGlobalFlags; void setPOIGlobalFlags(int flags) { this.POIGlobalFlags = flags; @@ -84,16 +84,7 @@ writer.put4(poiProperties.getSize()); writer.put1u(0); // offset multiplier - // mb 5/9/2009 - discovered that Garmin maps can contain more - // than 8 bits of POI global flags - have seen the 9th bit set - // to indicate the presence of some extra POI info (purpose - // unknown but it starts with a byte that contains the number - // of further bytes to read << 1) - therefore, this group - // should probably be: 16 bits of POI global flags followed by - // 16 zero bits rather than 8 bits of flags and 24 zero bits - writer.put1u(POIGlobalFlags); // properties global mask - writer.put2u(0); - writer.put1u(0); + writer.put4(POIGlobalFlags); // properties global mask writer.put4(poiTypeIndex.getPosition()); writer.put4(poiTypeIndex.getSize()); @@ -135,9 +126,7 @@ poiProperties.readSectionInfo(reader, false); reader.get(); // offset multiplier - POIGlobalFlags = reader.get1u(); - reader.get2u(); - reader.get(); + POIGlobalFlags = reader.get4(); poiTypeIndex.readSectionInfo(reader, true, true);