The zone point structs looks like a simple change should fix it:
Code:
// Size: 28 octets
struct ZonePoint_Entry {
/*0000*/ int32 iterator;
/*0004*/ float y;
/*0008*/ float x;
/*0012*/ float z;
/*0016*/ float heading;
/*0020*/ int16 zoneid;
/*0022*/ int16 zoneinstance; // LDoN instance
/*0024*/ int32 unknown0024; // New to Underfoot - Seen 0
/*0028*/
};
struct ZonePoints {
/*0000*/ int32 count;
/*0004*/ struct ZonePoint_Entry zpe[0]; // Always add one extra to the end after all zonepoints
//*0xxx*/ uint8 unknown0xxx[24]; //New from SEQ
};
May need to mess with the zonepoints encode, but not sure yet.