ATTN: jhurliman
Here is it.. in a sort of pseudo-code..
The prepended chr(99) distinguished this xbox data as "Messenger mode" .. as opposed to other modes...
strip(raw as SIMPLEBYTEARRAYTHING)
{
output = Chr(99) + left(raw, 14) + Mid(raw, 17, 4) + Mid(raw, 25, 2) + Mid(raw, 31, 1) + Mid(raw, 39)
return output;
}
synth(RAW AS STRIPPEDBYTEARRAY)
{
output = left(raw, 14) + Chr(69) + Chr(0) + Mid(raw, 15, 4) + Chr(0) + Chr(0) + Chr(64) + Chr(17) + Mid(raw, 19, 2) + Chr(0) + Chr(0) + Chr(0) + Chr(1)
If Mid(raw, 21, 1) = Chr(255) Then
output = output + Chr(255) + Chr(255) + Chr(255) + Chr(255)
Else
output = output + Chr(0) + Chr(0) + Chr(0) + Chr(1)
End If
output = output + Chr(12) + Chr(2) + Chr(12) + Chr(2) + Mid(raw, 22)
return output;
}
This doesnt include any of the fancier stuff - caching etc.. but that comes later anyway..
Cheers
TD