The following code sample includes the packet IDs that are sent by the multiplayer system. You must use the packet IDs shown in this example to determine packet contents.
// The following defines are the IDs that are used as tags on the packets
// sent by the multiplayer system.
typedefenum
{
MULTIPLAYER_PACKET_ID_BASE = 0x1000,
MULTIPLAYER_PACKET_ID_PARAMS = MULTIPLAYER_PACKET_ID_BASE,
MULTIPLAYER_PACKET_ID_ADD_PLAYER_REQUEST,
MULTIPLAYER_PACKET_ID_ADD_OBSERVER_REQUEST,
MULTIPLAYER_PACKET_ID_CHANGE_TO_PLAYER,
MULTIPLAYER_PACKET_ID_CHANGE_TO_OBSERVER,
MULTIPLAYER_PACKET_ID_ADD_PLAYER_REFUSED,
MULTIPLAYER_PACKET_ID_ADD_OBSERVER_REFUSED,
MULTIPLAYER_PACKET_ID_QUERY_PLAYER_TYPE,
MULTIPLAYER_PACKET_ID_RETRANSMIT_JOIN_PLAYER,
MULTIPLAYER_PACKET_ID_RETRANSMIT_JOIN_OBSERVER,
MULTIPLAYER_PACKET_ID_REQUEST_OBSERVER,
MULTIPLAYER_PACKET_ID_RETRANSMIT_GO_OBSERVER,
MULTIPLAYER_PACKET_ID_OBSERVER_CHANGE_OK,
MULTIPLAYER_PACKET_ID_OBSERVER_CHANGE_REFUSED,
MULTIPLAYER_PACKET_ID_CHANGE_PLAYER_PLANE,
MULTIPLAYER_PACKET_ID_QUERY_PLAYER_PLANE,
MULTIPLAYER_PACKET_ID_REMOTE_PLANE_UNKNOWN,
MULTIPLAYER_PACKET_ID_PLAYER_CRASH,
MULTIPLAYER_PACKET_ID_HOST_QUIT,
MULTIPLAYER_PACKET_ID_REQUEST_SITUATION,
MULTIPLAYER_PACKET_ID_SITUATION_DATA,
MULTIPLAYER_PACKET_ID_TEXTURE_REQUEST_LIST,
MULTIPLAYER_PACKET_ID_LEAVE_SESSION,
MULTIPLAYER_PACKET_ID_SYNC_INFORMATION,
MULTIPLAYER_PACKET_ID_POSITION_LLAPBH,
MULTIPLAYER_PACKET_ID_POSITION_VELOCITY,
MULTIPLAYER_PACKET_ID_INITIALIZE_AIRCRAFT_SEND,
MULTIPLAYER_PACKET_ID_AIRCRAFT_SEGMENT,
MULTIPLAYER_PACKET_ID_AIRCRAFT_CANCEL,
MULTIPLAYER_PACKET_ID_INITIALIZE_TEXTURE_SEND,
MULTIPLAYER_PACKET_ID_TEXTURE_SEGMENT,
MULTIPLAYER_PACKET_ID_TEXTURE_CANCEL,
MULTIPLAYER_PACKET_CHAT_TEXT_SEND,
} MULTIPLAYER_PACKET_ID;