Unicode speech request (variable # of bytes)
Clients send this packet when talking.
Offset Type Name Description
------ -------- ---------------- ------------------------------
0000 BYTE cmd
0001 USHORT size the packetsize
0003 BYTE mode speech mode (see below)
0004 USHORT hue
0006 USHORT font font number
0006 CHAR[4] language preferred language
BYTE[] KeywordInfo present if (mode & 0xC0)
UNI[] Text 0x00 terminated
Speech mode / Speech types
0x00 - Regular 0x01 - Broadcast 0x02 - Emote 0x06 - System 0x07 - Message 0x08 - Whisper 0x09 - Yell The flag 0xC0 is included if the message contains keyword information
Keyword Info
This is an array of 12-bit integers padded into a byte array. The first 12-bit integer contains the number of keywords in the array.
nrKeywords = (KeywordInfo[0] << 4) + (KeywordInfo[1] >> 4); keyword1 = ((KeywordInfo[1] % 0x10) << 8) + KeywordInfo[2]; keyword2 = (KeywordInfo[3] << 8) + (KeywordInfo[4] >> 4); keyword3 = ((KeywordInfo[4] % 0x10) << 8) + KeywordInfo[5];
and so on…