-// DecodeUserString decodes an obfuscated user string from a client
-// e.g. 98 8a 9a 8c 8b => "guest"
-func DecodeUserString(obfuText []byte) (clearText string) {
- for _, char := range obfuText {
- clearText += string(rune(255 - uint(char)))
- }
- return clearText
+func (u *User) Write(p []byte) (int, error) {
+ namelen := int(binary.BigEndian.Uint16(p[6:8]))
+ u.ID = p[0:2]
+ u.Icon = p[2:4]
+ u.Flags = p[4:6]
+ u.Name = string(p[8 : 8+namelen])
+
+ return 8 + namelen, nil