public int Parse(System.IO.BinaryReader reader, int at, int length) { reader.ReadByte(); //Ignore player id SkinVariant = (int)MathHelper.Clamp((float)(int)reader.ReadByte(), 0, 7); Hair = (int)reader.ReadByte(); if (Hair >= 134) { Hair = 0; } Name = reader.ReadString().Trim(); HairDye = reader.ReadByte(); BitsByte bb; HideVisual = new bool[10]; bb = reader.ReadByte(); for (int i = 0; i < 8; i++) { HideVisual[i] = bb[i]; } bb = reader.ReadByte(); for (int i = 0; i < 2; i++) { HideVisual[i + 8] = bb[i]; } HideMisc = reader.ReadByte(); HairColor = reader.ReadRGB(); SkinColor = reader.ReadRGB(); EyeColor = reader.ReadRGB(); ShirtColor = reader.ReadRGB(); UnderShirtColor = reader.ReadRGB(); PantsColor = reader.ReadRGB(); ShoeColor = reader.ReadRGB(); bb = reader.ReadByte(); Difficulty = 0; if (bb[0]) { Difficulty += 1; } if (bb[1]) { Difficulty += 2; } if (Difficulty > 2) { Difficulty = 2; } ExtraAccessory = bb[2]; return(0); }