Originally Posted by
TheChosenOne
byte = byte (1 byte)
word = short (2 bytes)
dWord = double word = integer (2 * 2 bytes = 4 bytes)
qWord = quadriple word = double dword = long (2 * 4 bytes = 8 bytes)
BigEndian is the normal way of writing a sequence of bytes, where the bytes with the higher (possible) values come first (big end first).
LittleEndian is another way of writing a sequence of bytes, where the bytes with the lower (possible) values come first (little end first).
Example: an integer represented by 4 bytes ABCD.
BigEndian: ABCD (A is relatively worth more than B, ...).
LittleEndian: DCBA (D is relatively worth less than C, ...).
CreateFrame marks the start of creating a packet with a known size.
EndFrameVarSize marks the end of a packet with 'unknown' size where the number of bytes is smaller than or equal to 0xFF (255).
EndFrameVarSizeWord marks the end of a packet with 'unknown' size where the number of bytes is smaller than or equal to 0xFFFF (65535).
Write String writes a string ending with either 0 (closing zero) or 10 (line feed) (I'm not sure which one).
Knowing this you can combine the words to get a meaningfull explenation:
Example
WriteLittleEndianWord:
A short represented by the bytes AB: BA.
There's one special case you're requested to know:
WriteWordA and WriteBigEndianWordA: I'm afraid your methods are named incorrectly because if they were, your 2 methods should be the same (if Big or Little Endian isn't specified, it's Big endian). I'm show you what the BE (Big endian) one and the LE (Little endian) one looks like so you can see for yourself.
A short, represented by the bytes: AB.
WriteLEWordA: (B + 128) A
WriteWordA (WriteBEWordA): A (B + 128)
As you can see the order (LE/BE) still stands. The 'A' means that during the writing, 128 should be added to the lowest byte (here being B).
If you have any more questions, don't hesitate to contact me.