I am working on a Xar File parser at the moment in C# and I am having problems with the PATHRELATIVE_OBJECT record. I am to parse the data section of this record but I am having difficulty extracting that data. How exactly is this data stored? Is it stored differently in Xara X1 than Xara LX?
From the documentation it says that the first Unsigned 32 bit integer is the number of points but after that how are the coordinates stored? Is it a sequence of (X,Y) points?

Here is a code snippet of what I have tried so far. It fails on the next verb I try to grab(The verb value of 255 is invalid). Also I suspect that I am getting the wrong value in num points as I have create multiple bezier paths with different lengths and I still get the value of 6. Any help or insight would be appriciated.

using (BinaryReader tmpReader = new BinaryReader(new MemoryStream(record.Data)))
{
//Determine the number of points
_numPoints = tmpReader.ReadUInt32();

for (int i = 0; i < _numPoints; i++)
{
List<byte> xList = new List<byte>();
List<byte> yList = new List<byte>();
byte verb;
UInt32 x;
UInt32 y;
verb = tmpReader.ReadByte();
x = tmpReader.ReadUInt32();
y = tmpReader.ReadUInt32();

_verbs.Add(verb);
}
}
Edit/Delete Message