What version of Winsock and which functions does SC use to send and receive ingame packets?
None.
SC uses UDP, so it would be reasonable to expect that at winsock level it uses sendto/recvfrom.
For what version it uses, I think it calls WSAStartup(0x101) if that is what you mean.. You could just verify it by looking at it in debugger though. It also uses mostly the Berkeley sockets functions.
And most of (all?) the winsock functions are hidden behind the storm SNet api, which may be documented somewhere.
Some info about the storm packet format is here:
https://bnetdocs.org/?op=doc&did=34Also at end of this page:
https://code.google.com/p/vgce/wiki/starcraftCommands#Packet_Header
None.
What about the functions like WSASendTo/WSARecvFrom? Does SC use a combination of wsock32.dll and ws2_32.dll?
None.
These are the only winsock functions use by standard.snp
wsock32:
#2 bind
#3 closesocket
#9 htons
#17 recvfrom
#20 sendto
#21 setsockopt
#23 socket
#111 WSAGetLastError
#115 WSAStartup
#116 WSACleanup
wsa2_32:
WSAIoctl
At least on my pc though, wsock32 functions just redirect to ws32_32.
Battle.snp uses other functions as well, as it needs to communicate with the chat server, and it is not required to share any of its code with standard.snp, but ingame communication should be the same.
None.