|Skywing||OK, I'm doing some research into the client capabilities bitmask ("Clieent ID field"). This information is based off of version 184.108.40.206 of the official client.|
The following function returns (stores in eax) the capabilities bitmask that is sent via CHG...:
.text:005B0F9E CalculateFlagsBitmask proc near ; CODE XREF: sub_5B2D98+37p
.text:005B0F9E ; sub_5B2E55+71p
0x20000024 is always present in the bitmask.
The following bits are optionally present, depending on the configuration of the program:
So.. 0x200000FE can be set, and 0xDFFFFF01 cannot be set (by 220.127.116.11 in a CHG message sent). I have not yet examined the handling of a received NLN/CHG.
I'm currently checking into the exact meaning of each of these bits.
Operations known not to modify the capabilities bitmask include:
- Changing 'show my display picture'. While this sends a CHG, presumably to update the msnobj part, it does not touch the capabilities bitmask.
- Changing 'show display picture from others in instant message conversations'. This must therefore be clientside-only.
- Changing whether automatic-BSY or automatic-IDL were enabled.
- Changing whether emoticons were enabled or not.
- Changing whether custom emoticons were enabled or not.
Operations known to trigger a CHG message, but did not change the bitmask (for my system) include:
- Changing 'share my webcam capabilities with others'. Since I don't have a webcam installed, nothing happened, except a CHG was forced to be sent. Note that this CHG updated absolutely nothing about my client's status. Thus, it is acceptable to send a no-op CHG.
|October 25, 2003, 12:28 AM|
|Adron||I have a webcam in case you want to do some logging.||October 25, 2003, 06:48 AM|