#include "NetworkPlayerWin64.h" NetworkPlayerWin64::NetworkPlayerWin64(IQNetPlayer* qnetPlayer) { m_qnetPlayer = qnetPlayer; m_pSocket = nullptr; } unsigned char NetworkPlayerWin64::GetSmallId() { return m_qnetPlayer->GetSmallId(); } void NetworkPlayerWin64::SendData(INetworkPlayer* player, const void* pvData, int dataSize, bool lowPriority, bool ack) { DWORD flags = QNET_SENDDATA_RELIABLE | QNET_SENDDATA_SEQUENTIAL; if (lowPriority) flags |= QNET_SENDDATA_LOW_PRIORITY | QNET_SENDDATA_SECONDARY; m_qnetPlayer->SendData(((NetworkPlayerWin64*)player)->m_qnetPlayer, pvData, dataSize, flags); } int NetworkPlayerWin64::GetOutstandingAckCount() { return 0; } bool NetworkPlayerWin64::IsSameSystem(INetworkPlayer* player) { return (m_qnetPlayer->IsSameSystem(((NetworkPlayerWin64*)player)->m_qnetPlayer) == true); } int NetworkPlayerWin64::GetSendQueueSizeBytes(INetworkPlayer* player, bool lowPriority) { DWORD flags = QNET_GETSENDQUEUESIZE_BYTES; if (lowPriority) flags |= QNET_GETSENDQUEUESIZE_SECONDARY_TYPE; return m_qnetPlayer->GetSendQueueSize(player ? ((NetworkPlayerWin64*)player)->m_qnetPlayer : nullptr, flags); } int NetworkPlayerWin64::GetSendQueueSizeMessages(INetworkPlayer* player, bool lowPriority) { DWORD flags = QNET_GETSENDQUEUESIZE_MESSAGES; if (lowPriority) flags |= QNET_GETSENDQUEUESIZE_SECONDARY_TYPE; return m_qnetPlayer->GetSendQueueSize(player ? ((NetworkPlayerWin64*)player)->m_qnetPlayer : nullptr, flags); } int NetworkPlayerWin64::GetCurrentRtt() { return m_qnetPlayer->GetCurrentRtt(); } bool NetworkPlayerWin64::IsHost() { return (m_qnetPlayer->IsHost() == true); } bool NetworkPlayerWin64::IsGuest() { return (m_qnetPlayer->IsGuest() == true); } bool NetworkPlayerWin64::IsLocal() { return (m_qnetPlayer->IsLocal() == true); } int NetworkPlayerWin64::GetSessionIndex() { return m_qnetPlayer->GetSessionIndex(); } bool NetworkPlayerWin64::IsTalking() { return (m_qnetPlayer->IsTalking() == true); } bool NetworkPlayerWin64::IsMutedByLocalUser(int userIndex) { return (m_qnetPlayer->IsMutedByLocalUser(userIndex) == true); } bool NetworkPlayerWin64::HasVoice() { return (m_qnetPlayer->HasVoice() == true); } bool NetworkPlayerWin64::HasCamera() { return (m_qnetPlayer->HasCamera() == true); } int NetworkPlayerWin64::GetUserIndex() { return m_qnetPlayer->GetUserIndex(); } void NetworkPlayerWin64::SetSocket(Socket* pSocket) { m_pSocket = pSocket; } Socket* NetworkPlayerWin64::GetSocket() { return m_pSocket; } PlayerUID NetworkPlayerWin64::GetUID() { return m_qnetPlayer->GetXuid(); } const wchar_t* NetworkPlayerWin64::GetOnlineName() { return m_qnetPlayer->GetGamertag(); } std::wstring NetworkPlayerWin64::GetDisplayName() { return m_qnetPlayer->GetGamertag(); } IQNetPlayer* NetworkPlayerWin64::GetQNetPlayer() { return m_qnetPlayer; } void NetworkPlayerWin64::SentChunkPacket() { m_lastChunkPacketTime = System::currentTimeMillis(); } int NetworkPlayerWin64::GetTimeSinceLastChunkPacket_ms() { // If we haven't ever sent a packet, return maximum if (m_lastChunkPacketTime == 0) { return INT_MAX; } int64_t currentTime = System::currentTimeMillis(); return (int)(currentTime - m_lastChunkPacketTime); }