Init
This commit is contained in:
11
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam.cpp
Normal file
11
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*/
|
||||
|
||||
// Code is in Lobby2Client_Steam_Impl.cpp
|
||||
50
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam.h
Normal file
50
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Original work: Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*
|
||||
* Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
|
||||
*
|
||||
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
|
||||
* license found in the license.txt file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#ifndef __LOBBY_2_CLIENT_STEAM_H
|
||||
#define __LOBBY_2_CLIENT_STEAM_H
|
||||
|
||||
#include "Lobby2Plugin.h"
|
||||
#include "slikenet/DS_OrderedList.h"
|
||||
#include "slikenet/types.h"
|
||||
|
||||
namespace SLNet
|
||||
{
|
||||
// This is a pure interface for Lobby2Client_SteamImpl
|
||||
class RAK_DLL_EXPORT Lobby2Client_Steam : public SLNet::Lobby2Plugin
|
||||
{
|
||||
public:
|
||||
// GetInstance() and DestroyInstance(instance*)
|
||||
STATIC_FACTORY_DECLARATIONS(Lobby2Client_Steam)
|
||||
|
||||
virtual ~Lobby2Client_Steam() {}
|
||||
|
||||
virtual void SendMsg(Lobby2Message *msg)=0;
|
||||
virtual void GetRoomMembers(DataStructures::OrderedList<uint64_t, uint64_t> &_roomMembers)=0;
|
||||
virtual const char * GetRoomMemberName(uint64_t memberId)=0;
|
||||
virtual bool IsRoomOwner(const uint64_t cSteamID)=0;
|
||||
virtual bool IsInRoom(void) const=0;
|
||||
virtual uint64_t GetNumRoomMembers(const uint64_t roomid)=0;
|
||||
virtual uint64_t GetMyUserID(void)=0;
|
||||
virtual const char* GetMyUserPersonalName(void)=0;
|
||||
virtual uint64_t GetRoomID(void) const=0;
|
||||
|
||||
protected:
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
621
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam_Impl.cpp
Normal file
621
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam_Impl.cpp
Normal file
@ -0,0 +1,621 @@
|
||||
/*
|
||||
* Original work: Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*
|
||||
* Modified work: Copyright (c) 2017-2020, SLikeSoft UG (haftungsbeschränkt)
|
||||
*
|
||||
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
|
||||
* license found in the license.txt file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include "Lobby2Client_Steam_Impl.h"
|
||||
#include "Lobby2Message_Steam.h"
|
||||
#include <stdlib.h>
|
||||
#include "slikenet/NativeTypes.h"
|
||||
#include "slikenet/MTUSize.h"
|
||||
#include <windows.h>
|
||||
|
||||
using namespace SLNet;
|
||||
|
||||
STATIC_FACTORY_DEFINITIONS(Lobby2Client_Steam,Lobby2Client_Steam_Impl)
|
||||
|
||||
DEFINE_MULTILIST_PTR_TO_MEMBER_COMPARISONS(Lobby2Message,uint64_t,requestId);
|
||||
|
||||
int Lobby2Client_Steam_Impl::SystemAddressAndRoomMemberComp( const SystemAddress &key, const Lobby2Client_Steam_Impl::RoomMember &data )
|
||||
{
|
||||
if (key<data.systemAddress)
|
||||
return -1;
|
||||
if (key==data.systemAddress)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Lobby2Client_Steam_Impl::SteamIDAndRoomMemberComp( const uint64_t &key, const Lobby2Client_Steam_Impl::RoomMember &data )
|
||||
{
|
||||
if (key<data.steamIDRemote)
|
||||
return -1;
|
||||
if (key==data.steamIDRemote)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
Lobby2Client_Steam_Impl::Lobby2Client_Steam_Impl() :
|
||||
m_CallbackLobbyDataUpdated(nullptr, nullptr),
|
||||
m_CallbackPersonaStateChange(nullptr, nullptr),
|
||||
m_CallbackLobbyDataUpdate(nullptr, nullptr),
|
||||
m_CallbackChatDataUpdate(nullptr, nullptr),
|
||||
m_CallbackChatMessageUpdate(nullptr, nullptr),
|
||||
m_CallbackP2PSessionRequest(nullptr, nullptr),
|
||||
m_CallbackP2PSessionConnectFail(nullptr, nullptr)
|
||||
{
|
||||
// Must recompile RakNet with MAXIMUM_MTU_SIZE set to 1200 in the preprocessor settings
|
||||
RakAssert(MAXIMUM_MTU_SIZE<=1200);
|
||||
roomId=0;
|
||||
|
||||
m_CallbackLobbyDataUpdated.Register(this, &Lobby2Client_Steam_Impl::OnLobbyDataUpdatedCallback);
|
||||
m_CallbackPersonaStateChange.Register(this, &Lobby2Client_Steam_Impl::OnPersonaStateChange);
|
||||
m_CallbackLobbyDataUpdate.Register(this, &Lobby2Client_Steam_Impl::OnLobbyDataUpdate);
|
||||
m_CallbackChatDataUpdate.Register(this, &Lobby2Client_Steam_Impl::OnLobbyChatUpdate);
|
||||
m_CallbackChatMessageUpdate.Register(this, &Lobby2Client_Steam_Impl::OnLobbyChatMessage);
|
||||
m_CallbackP2PSessionRequest.Register(this, &Lobby2Client_Steam_Impl::OnP2PSessionRequest);
|
||||
m_CallbackP2PSessionConnectFail.Register(this, &Lobby2Client_Steam_Impl::OnP2PSessionConnectFail);
|
||||
}
|
||||
Lobby2Client_Steam_Impl::~Lobby2Client_Steam_Impl()
|
||||
{
|
||||
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::SendMsg(Lobby2Message *msg)
|
||||
{
|
||||
if (msg->ClientImpl(this))
|
||||
{
|
||||
for (unsigned long i=0; i < callbacks.Size(); i++)
|
||||
{
|
||||
if (msg->callbackId==(uint32_t)-1 || msg->callbackId==callbacks[i]->callbackId)
|
||||
msg->CallCallback(callbacks[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Won't be deleted by the user's call to Deref.
|
||||
msg->resultCode=L2RC_PROCESSING;
|
||||
msg->AddRef();
|
||||
PushDeferredCallback(msg);
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::Update(void)
|
||||
{
|
||||
SteamAPI_RunCallbacks();
|
||||
|
||||
/*
|
||||
// sending data
|
||||
// must be a handle to a connected socket
|
||||
// data is all sent via UDP, and thus send sizes are limited to 1200 bytes; after this, many routers will start dropping packets
|
||||
// use the reliable flag with caution; although the resend rate is pretty aggressive,
|
||||
// it can still cause stalls in receiving data (like TCP)
|
||||
virtual bool SendDataOnSocket( SNetSocket_t hSocket, void *pubData, uint32 cubData, bool bReliable ) = 0;
|
||||
|
||||
// receiving data
|
||||
// returns false if there is no data remaining
|
||||
// fills out *pcubMsgSize with the size of the next message, in bytes
|
||||
virtual bool IsDataAvailableOnSocket( SNetSocket_t hSocket, uint32 *pcubMsgSize ) = 0;
|
||||
|
||||
// fills in pubDest with the contents of the message
|
||||
// messages are always complete, of the same size as was sent (i.e. packetized, not streaming)
|
||||
// if *pcubMsgSize < cubDest, only partial data is written
|
||||
// returns false if no data is available
|
||||
virtual bool RetrieveDataFromSocket( SNetSocket_t hSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0;
|
||||
*/
|
||||
}
|
||||
|
||||
void Lobby2Client_Steam_Impl::PushDeferredCallback(Lobby2Message *msg)
|
||||
{
|
||||
deferredCallbacks.Push(msg, msg->requestId, _FILE_AND_LINE_ );
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::CallCBWithResultCode(Lobby2Message *msg, Lobby2ResultCode rc)
|
||||
{
|
||||
if (msg)
|
||||
{
|
||||
msg->resultCode=rc;
|
||||
for (unsigned long i=0; i < callbacks.Size(); i++)
|
||||
{
|
||||
if (msg->callbackId==(uint32_t)-1 || msg->callbackId==callbacks[i]->callbackId)
|
||||
msg->CallCallback(callbacks[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyMatchListCallback( LobbyMatchList_t *pCallback, bool bIOFailure )
|
||||
{
|
||||
(void) bIOFailure;
|
||||
|
||||
uint32_t i;
|
||||
for (i=0; i < deferredCallbacks.GetSize(); i++)
|
||||
{
|
||||
// Get any instance of Console_SearchRooms
|
||||
if (deferredCallbacks[i]->GetID()==L2MID_Console_SearchRooms)
|
||||
{
|
||||
Console_SearchRooms_Steam *callbackResult = (Console_SearchRooms_Steam *) deferredCallbacks[i];
|
||||
// iterate the returned lobbies with GetLobbyByIndex(), from values 0 to m_nLobbiesMatching-1
|
||||
// lobbies are returned in order of closeness to the user, so add them to the list in that order
|
||||
for ( uint32 iLobby = 0; iLobby < pCallback->m_nLobbiesMatching; iLobby++ )
|
||||
{
|
||||
CSteamID steamId = SteamMatchmaking()->GetLobbyByIndex( iLobby );
|
||||
callbackResult->roomIds.Push(steamId.ConvertToUint64(), _FILE_AND_LINE_ );
|
||||
SLNet::RakString s = SteamMatchmaking()->GetLobbyData( steamId, "name" );
|
||||
callbackResult->roomNames.Push(s, _FILE_AND_LINE_ );
|
||||
}
|
||||
|
||||
CallCBWithResultCode(callbackResult, L2RC_SUCCESS);
|
||||
msgFactory->Dealloc(callbackResult);
|
||||
deferredCallbacks.RemoveAtIndex(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyDataUpdatedCallback( LobbyDataUpdate_t *pCallback )
|
||||
{
|
||||
uint32_t i;
|
||||
for (i=0; i < deferredCallbacks.GetSize(); i++)
|
||||
{
|
||||
if (deferredCallbacks[i]->GetID()==L2MID_Console_GetRoomDetails)
|
||||
{
|
||||
Console_GetRoomDetails_Steam *callbackResult = (Console_GetRoomDetails_Steam *) deferredCallbacks[i];
|
||||
if (callbackResult->roomId==pCallback->m_ulSteamIDLobby)
|
||||
{
|
||||
const char *pchLobbyName = SteamMatchmaking()->GetLobbyData( pCallback->m_ulSteamIDLobby, "name" );
|
||||
if ( pchLobbyName[0] )
|
||||
{
|
||||
callbackResult->roomName=pchLobbyName;
|
||||
}
|
||||
if (pCallback->m_bSuccess)
|
||||
CallCBWithResultCode(callbackResult, L2RC_SUCCESS);
|
||||
else
|
||||
CallCBWithResultCode(callbackResult, L2RC_Console_GetRoomDetails_NO_ROOMS_FOUND);
|
||||
msgFactory->Dealloc(callbackResult);
|
||||
deferredCallbacks.RemoveAtIndex(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Console_GetRoomDetails_Steam notification;
|
||||
const char *pchLobbyName = SteamMatchmaking()->GetLobbyData( pCallback->m_ulSteamIDLobby, "name" );
|
||||
if ( pchLobbyName[0] )
|
||||
{
|
||||
notification.roomName=pchLobbyName;
|
||||
}
|
||||
notification.roomId=pCallback->m_ulSteamIDLobby;
|
||||
CallCBWithResultCode(¬ification, L2RC_SUCCESS);
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyCreated( LobbyCreated_t *pCallback, bool bIOFailure )
|
||||
{
|
||||
(void) bIOFailure;
|
||||
|
||||
uint32_t i;
|
||||
for (i=0; i < deferredCallbacks.GetSize(); i++)
|
||||
{
|
||||
if (deferredCallbacks[i]->GetID()==L2MID_Console_CreateRoom)
|
||||
{
|
||||
Console_CreateRoom_Steam *callbackResult = (Console_CreateRoom_Steam *) deferredCallbacks[i];
|
||||
callbackResult->roomId=pCallback->m_ulSteamIDLobby;
|
||||
SteamMatchmaking()->SetLobbyData( callbackResult->roomId, "name", callbackResult->roomName.C_String() );
|
||||
roomId=pCallback->m_ulSteamIDLobby;
|
||||
|
||||
printf("\nNumber of Steam Lobby Members:%i in Lobby Name:%s\n", SteamMatchmaking()->GetNumLobbyMembers(roomId), callbackResult->roomName.C_String());
|
||||
RoomMember roomMember;
|
||||
roomMember.steamIDRemote=SteamMatchmaking()->GetLobbyOwner(roomId).ConvertToUint64();
|
||||
roomMember.systemAddress.address.addr4.sin_addr.s_addr=nextFreeSystemAddress++;
|
||||
roomMember.systemAddress.SetPortHostOrder(STEAM_UNUSED_PORT);
|
||||
roomMembersByAddr.Insert(roomMember.systemAddress,roomMember,true,_FILE_AND_LINE_);
|
||||
roomMembersById.Insert(roomMember.steamIDRemote,roomMember,true,_FILE_AND_LINE_);
|
||||
|
||||
callbackResult->extendedResultCode=pCallback->m_eResult;
|
||||
if (pCallback->m_eResult==k_EResultOK)
|
||||
{
|
||||
CallCBWithResultCode(callbackResult, L2RC_SUCCESS);
|
||||
}
|
||||
else
|
||||
{
|
||||
CallCBWithResultCode(callbackResult, L2RC_GENERAL_ERROR);
|
||||
}
|
||||
msgFactory->Dealloc(callbackResult);
|
||||
deferredCallbacks.RemoveAtIndex(i);
|
||||
|
||||
// Commented out: Do not send the notification for yourself
|
||||
// CallRoomCallbacks();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyJoined( LobbyEnter_t *pCallback, bool bIOFailure )
|
||||
{
|
||||
(void) bIOFailure;
|
||||
|
||||
uint32_t i;
|
||||
for (i=0; i < deferredCallbacks.GetSize(); i++)
|
||||
{
|
||||
if (deferredCallbacks[i]->GetID()==L2MID_Console_JoinRoom)
|
||||
{
|
||||
Console_JoinRoom_Steam *callbackResult = (Console_JoinRoom_Steam *) deferredCallbacks[i];
|
||||
|
||||
if (pCallback->m_EChatRoomEnterResponse==k_EChatRoomEnterResponseSuccess)
|
||||
{
|
||||
roomId=pCallback->m_ulSteamIDLobby;
|
||||
|
||||
CallCBWithResultCode(callbackResult, L2RC_SUCCESS);
|
||||
|
||||
// First push to prevent being notified of ourselves
|
||||
RoomMember roomMember;
|
||||
roomMember.steamIDRemote=SteamUser()->GetSteamID().ConvertToUint64();
|
||||
roomMember.systemAddress.address.addr4.sin_addr.s_addr=nextFreeSystemAddress++;
|
||||
roomMember.systemAddress.SetPortHostOrder(STEAM_UNUSED_PORT);
|
||||
roomMembersByAddr.Insert(roomMember.systemAddress,roomMember,true,_FILE_AND_LINE_);
|
||||
roomMembersById.Insert(roomMember.steamIDRemote,roomMember,true,_FILE_AND_LINE_);
|
||||
|
||||
CallRoomCallbacks();
|
||||
|
||||
// In case the asynch lobby update didn't get it fast enough
|
||||
uint64_t myId64=SteamUser()->GetSteamID().ConvertToUint64();
|
||||
if (roomMembersById.HasData(myId64)==false)
|
||||
{
|
||||
roomMember.steamIDRemote=SteamMatchmaking()->GetLobbyOwner(roomId).ConvertToUint64();
|
||||
roomMember.systemAddress.address.addr4.sin_addr.s_addr=nextFreeSystemAddress++;
|
||||
roomMember.systemAddress.SetPortHostOrder(STEAM_UNUSED_PORT);
|
||||
roomMembersByAddr.Insert(roomMember.systemAddress,roomMember,true,_FILE_AND_LINE_);
|
||||
roomMembersById.Insert(roomMember.steamIDRemote,roomMember,true,_FILE_AND_LINE_);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CallCBWithResultCode(callbackResult, L2RC_Console_JoinRoom_NO_SUCH_ROOM);
|
||||
}
|
||||
|
||||
msgFactory->Dealloc(callbackResult);
|
||||
deferredCallbacks.RemoveAtIndex(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
bool Lobby2Client_Steam_Impl::IsCommandRunning( Lobby2MessageID msgId )
|
||||
{
|
||||
uint32_t i;
|
||||
for (i=0; i < deferredCallbacks.GetSize(); i++)
|
||||
{
|
||||
if (deferredCallbacks[i]->GetID()==msgId)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Lobby2Client_Steam_Impl::OnPersonaStateChange( PersonaStateChange_t *pCallback )
|
||||
{
|
||||
// callbacks are broadcast to all listeners, so we'll get this for every friend who changes state
|
||||
// so make sure the user is in the lobby before acting
|
||||
if ( !SteamFriends()->IsUserInSource( pCallback->m_ulSteamID, roomId ) )
|
||||
return;
|
||||
|
||||
if ((pCallback->m_nChangeFlags & k_EPersonaChangeNameFirstSet) ||
|
||||
(pCallback->m_nChangeFlags & k_EPersonaChangeName))
|
||||
{
|
||||
Notification_Friends_StatusChange_Steam notification;
|
||||
notification.friendId=pCallback->m_ulSteamID;
|
||||
const char *pchName = SteamFriends()->GetFriendPersonaName( notification.friendId );
|
||||
notification.friendNewName=pchName;
|
||||
CallCBWithResultCode(¬ification, L2RC_SUCCESS);
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyDataUpdate( LobbyDataUpdate_t *pCallback )
|
||||
{
|
||||
// callbacks are broadcast to all listeners, so we'll get this for every lobby we're requesting
|
||||
if ( roomId != pCallback->m_ulSteamIDLobby )
|
||||
return;
|
||||
|
||||
Notification_Console_UpdateRoomParameters_Steam notification;
|
||||
notification.roomId=roomId;
|
||||
notification.roomNewName=SteamMatchmaking()->GetLobbyData( roomId, "name" );
|
||||
if (pCallback->m_bSuccess)
|
||||
CallCBWithResultCode(¬ification, L2RC_SUCCESS);
|
||||
else
|
||||
CallCBWithResultCode(¬ification, L2RC_Console_GetRoomDetails_NO_ROOMS_FOUND);
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyChatUpdate( LobbyChatUpdate_t *pCallback )
|
||||
{
|
||||
// callbacks are broadcast to all listeners, so we'll get this for every lobby we're requesting
|
||||
if ( roomId != pCallback->m_ulSteamIDLobby )
|
||||
return;
|
||||
|
||||
// Purpose: Handles users in the lobby joining or leaving ??????
|
||||
CallRoomCallbacks();
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnLobbyChatMessage( LobbyChatMsg_t *pCallback )
|
||||
{
|
||||
CSteamID speaker;
|
||||
EChatEntryType entryType;
|
||||
char data[2048];
|
||||
int cubData=sizeof(data);
|
||||
SteamMatchmaking()->GetLobbyChatEntry( roomId, pCallback->m_iChatID, &speaker, data, cubData, &entryType);
|
||||
if (entryType==k_EChatEntryTypeChatMsg)
|
||||
{
|
||||
Notification_Console_RoomChatMessage_Steam notification;
|
||||
notification.message=data;
|
||||
CallCBWithResultCode(¬ification, L2RC_SUCCESS);
|
||||
}
|
||||
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::GetRoomMembers(DataStructures::OrderedList<uint64_t, uint64_t> &_roomMembers)
|
||||
{
|
||||
_roomMembers.Clear(true,_FILE_AND_LINE_);
|
||||
int cLobbyMembers = SteamMatchmaking()->GetNumLobbyMembers( roomId );
|
||||
for ( int i = 0; i < cLobbyMembers; i++ )
|
||||
{
|
||||
CSteamID steamIDLobbyMember = SteamMatchmaking()->GetLobbyMemberByIndex( roomId, i ) ;
|
||||
uint64_t memberid=steamIDLobbyMember.ConvertToUint64();
|
||||
_roomMembers.Insert(memberid,memberid,true,_FILE_AND_LINE_);
|
||||
}
|
||||
}
|
||||
|
||||
const char * Lobby2Client_Steam_Impl::GetRoomMemberName(uint64_t memberId)
|
||||
{
|
||||
return SteamFriends()->GetFriendPersonaName( memberId );
|
||||
}
|
||||
|
||||
bool Lobby2Client_Steam_Impl::IsRoomOwner(const uint64_t cSteamID)
|
||||
{
|
||||
if(SteamUser()->GetSteamID() == SteamMatchmaking()->GetLobbyOwner(cSteamID))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Lobby2Client_Steam_Impl::IsInRoom(void) const
|
||||
{
|
||||
return roomMembersById.Size() > 0;
|
||||
}
|
||||
|
||||
void Lobby2Client_Steam_Impl::CallRoomCallbacks()
|
||||
{
|
||||
DataStructures::OrderedList<uint64_t,uint64_t> currentMembers;
|
||||
GetRoomMembers(currentMembers);
|
||||
DataStructures::OrderedList<uint64_t, RoomMember, SteamIDAndRoomMemberComp> updatedRoomMembers;
|
||||
bool anyChanges=false;
|
||||
|
||||
unsigned int currentMemberIndex=0, oldMemberIndex=0;
|
||||
while (currentMemberIndex < currentMembers.Size() && oldMemberIndex < roomMembersById.Size())
|
||||
{
|
||||
if (currentMembers[currentMemberIndex]<roomMembersById[oldMemberIndex].steamIDRemote)
|
||||
{
|
||||
RoomMember roomMember;
|
||||
roomMember.steamIDRemote=currentMembers[currentMemberIndex];
|
||||
roomMember.systemAddress.address.addr4.sin_addr.s_addr=nextFreeSystemAddress++;
|
||||
roomMember.systemAddress.SetPortHostOrder(STEAM_UNUSED_PORT);
|
||||
updatedRoomMembers.Insert(roomMember.steamIDRemote,roomMember,true,_FILE_AND_LINE_);
|
||||
|
||||
anyChanges=true;
|
||||
|
||||
// new member
|
||||
NotifyNewMember(currentMembers[currentMemberIndex], roomMember.systemAddress);
|
||||
currentMemberIndex++;
|
||||
}
|
||||
else if (currentMembers[currentMemberIndex]>roomMembersById[oldMemberIndex].steamIDRemote)
|
||||
{
|
||||
anyChanges=true;
|
||||
|
||||
// dropped member
|
||||
NotifyDroppedMember(roomMembersById[oldMemberIndex].steamIDRemote, roomMembersById[oldMemberIndex].systemAddress);
|
||||
oldMemberIndex++;
|
||||
}
|
||||
else
|
||||
{
|
||||
updatedRoomMembers.Insert(roomMembersById[oldMemberIndex].steamIDRemote,roomMembersById[oldMemberIndex],true,_FILE_AND_LINE_);
|
||||
|
||||
currentMemberIndex++;
|
||||
oldMemberIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
while (oldMemberIndex < roomMembersById.Size())
|
||||
{
|
||||
anyChanges=true;
|
||||
|
||||
// dropped member
|
||||
NotifyDroppedMember(roomMembersById[oldMemberIndex].steamIDRemote, roomMembersById[oldMemberIndex].systemAddress);
|
||||
|
||||
oldMemberIndex++;
|
||||
}
|
||||
while (currentMemberIndex < currentMembers.Size())
|
||||
{
|
||||
RoomMember roomMember;
|
||||
roomMember.steamIDRemote=currentMembers[currentMemberIndex];
|
||||
roomMember.systemAddress.address.addr4.sin_addr.s_addr=nextFreeSystemAddress++;
|
||||
roomMember.systemAddress.SetPortHostOrder(STEAM_UNUSED_PORT);
|
||||
updatedRoomMembers.Insert(roomMember.steamIDRemote,roomMember,true,_FILE_AND_LINE_);
|
||||
|
||||
anyChanges=true;
|
||||
|
||||
// new member
|
||||
NotifyNewMember(currentMembers[currentMemberIndex], roomMember.systemAddress);
|
||||
|
||||
currentMemberIndex++;
|
||||
}
|
||||
|
||||
if (anyChanges)
|
||||
{
|
||||
roomMembersById=updatedRoomMembers;
|
||||
roomMembersByAddr.Clear(true, _FILE_AND_LINE_);
|
||||
for (currentMemberIndex=0; currentMemberIndex < roomMembersById.Size(); currentMemberIndex++)
|
||||
{
|
||||
roomMembersByAddr.Insert(roomMembersById[currentMemberIndex].systemAddress, roomMembersById[currentMemberIndex], true, _FILE_AND_LINE_);
|
||||
}
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::NotifyNewMember(uint64_t memberId, SystemAddress remoteSystem)
|
||||
{
|
||||
// const char *pchName = SteamFriends()->GetFriendPersonaName( memberId );
|
||||
|
||||
Notification_Console_MemberJoinedRoom_Steam notification;
|
||||
notification.roomId=roomId;
|
||||
notification.srcMemberId=memberId;
|
||||
notification.memberName=SteamFriends()->GetFriendPersonaName( memberId );
|
||||
notification.remoteSystem=remoteSystem;
|
||||
|
||||
|
||||
CallCBWithResultCode(¬ification, L2RC_SUCCESS);
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::NotifyDroppedMember(uint64_t memberId, SystemAddress remoteSystem)
|
||||
{
|
||||
/// const char *pchName = SteamFriends()->GetFriendPersonaName( memberId );
|
||||
|
||||
Notification_Console_MemberLeftRoom_Steam notification;
|
||||
notification.roomId=roomId;
|
||||
notification.srcMemberId=memberId;
|
||||
notification.memberName=SteamFriends()->GetFriendPersonaName( memberId );
|
||||
notification.remoteSystem=remoteSystem;
|
||||
CallCBWithResultCode(¬ification, L2RC_SUCCESS);
|
||||
|
||||
unsigned int i;
|
||||
bool objectExists;
|
||||
i = roomMembersById.GetIndexFromKey(memberId, &objectExists);
|
||||
if (objectExists)
|
||||
{
|
||||
rakPeerInterface->CloseConnection(roomMembersById[i].systemAddress,false);
|
||||
// Is this necessary?
|
||||
SteamNetworking()->CloseP2PSessionWithUser( memberId );
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::ClearRoom(void)
|
||||
{
|
||||
roomId=0;
|
||||
if (SteamNetworking())
|
||||
{
|
||||
for (unsigned int i=0; i < roomMembersById.Size(); i++)
|
||||
{
|
||||
SteamNetworking()->CloseP2PSessionWithUser( roomMembersById[i].steamIDRemote );
|
||||
}
|
||||
}
|
||||
roomMembersById.Clear(true,_FILE_AND_LINE_);
|
||||
roomMembersByAddr.Clear(true,_FILE_AND_LINE_);
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnP2PSessionRequest( P2PSessionRequest_t *pCallback )
|
||||
{
|
||||
// we'll accept a connection from anyone
|
||||
SteamNetworking()->AcceptP2PSessionWithUser( pCallback->m_steamIDRemote );
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnP2PSessionConnectFail( P2PSessionConnectFail_t *pCallback )
|
||||
{
|
||||
(void) pCallback;
|
||||
|
||||
// we've sent a packet to the user, but it never got through
|
||||
// we can just use the normal timeout
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::NotifyLeaveRoom(void)
|
||||
{
|
||||
ClearRoom();
|
||||
}
|
||||
|
||||
int Lobby2Client_Steam_Impl::RakNetSendTo( const char *data, int length, const SystemAddress &systemAddress )
|
||||
{
|
||||
bool objectExists;
|
||||
unsigned int i = roomMembersByAddr.GetIndexFromKey(systemAddress, &objectExists);
|
||||
if (objectExists)
|
||||
{
|
||||
if (SteamNetworking()->SendP2PPacket(roomMembersByAddr[i].steamIDRemote, data, length, k_EP2PSendUnreliable))
|
||||
return length;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
else if (systemAddress.GetPort()!=STEAM_UNUSED_PORT)
|
||||
{
|
||||
// return SocketLayer::SendTo_PC(s,data,length,systemAddress,_FILE_AND_LINE_);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Lobby2Client_Steam_Impl::RakNetRecvFrom( char dataOut[ MAXIMUM_MTU_SIZE ], SystemAddress *senderOut, bool calledFromMainThread)
|
||||
{
|
||||
(void) calledFromMainThread;
|
||||
|
||||
uint32 pcubMsgSize;
|
||||
if (SteamNetworking() && SteamNetworking()->IsP2PPacketAvailable(&pcubMsgSize))
|
||||
{
|
||||
CSteamID psteamIDRemote;
|
||||
if (SteamNetworking()->ReadP2PPacket(dataOut, MAXIMUM_MTU_SIZE, &pcubMsgSize, &psteamIDRemote))
|
||||
{
|
||||
uint64_t steamIDRemote64=psteamIDRemote.ConvertToUint64();
|
||||
unsigned int i;
|
||||
bool objectExists;
|
||||
i = roomMembersById.GetIndexFromKey(steamIDRemote64, &objectExists);
|
||||
if (objectExists)
|
||||
{
|
||||
*senderOut=roomMembersById[i].systemAddress;
|
||||
}
|
||||
return pcubMsgSize;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Lobby2Client_Steam_Impl::OnRakPeerShutdown(void)
|
||||
{
|
||||
ClearRoom();
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnClosedConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason )
|
||||
{
|
||||
(void) lostConnectionReason;
|
||||
(void) rakNetGUID;
|
||||
|
||||
bool objectExists;
|
||||
unsigned int i = roomMembersByAddr.GetIndexFromKey(systemAddress, &objectExists);
|
||||
if (objectExists)
|
||||
{
|
||||
uint64_t steamIDRemote = roomMembersByAddr[i].steamIDRemote;
|
||||
|
||||
SteamNetworking()->CloseP2PSessionWithUser( steamIDRemote );
|
||||
roomMembersByAddr.RemoveAtIndex(i);
|
||||
|
||||
i = roomMembersById.GetIndexFromKey(steamIDRemote, &objectExists);
|
||||
RakAssert(objectExists);
|
||||
roomMembersById.RemoveAtIndex(i);
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnFailedConnectionAttempt(Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason)
|
||||
{
|
||||
(void) failedConnectionAttemptReason;
|
||||
|
||||
bool objectExists;
|
||||
unsigned int i = roomMembersByAddr.GetIndexFromKey(packet->systemAddress, &objectExists);
|
||||
if (objectExists)
|
||||
{
|
||||
uint64_t steamIDRemote = roomMembersByAddr[i].steamIDRemote;
|
||||
|
||||
SteamNetworking()->CloseP2PSessionWithUser( steamIDRemote );
|
||||
roomMembersByAddr.RemoveAtIndex(i);
|
||||
|
||||
i = roomMembersById.GetIndexFromKey(steamIDRemote, &objectExists);
|
||||
RakAssert(objectExists);
|
||||
roomMembersById.RemoveAtIndex(i);
|
||||
}
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnAttach(void)
|
||||
{
|
||||
nextFreeSystemAddress=(uint32_t) rakPeerInterface->GetMyGUID().g;
|
||||
|
||||
// If this asserts, call RakPeer::Startup() before attaching Lobby2Client_Steam
|
||||
DataStructures::List<RakNetSocket2* > sockets;
|
||||
rakPeerInterface->GetSockets(sockets);
|
||||
RakAssert(sockets.Size());
|
||||
((RNS2_Windows*)sockets[0])->SetSocketLayerOverride(this);
|
||||
}
|
||||
void Lobby2Client_Steam_Impl::OnDetach(void)
|
||||
{
|
||||
DataStructures::List<RakNetSocket2* > sockets;
|
||||
rakPeerInterface->GetSockets(sockets);
|
||||
RakAssert(sockets.Size());
|
||||
((RNS2_Windows*)sockets[0])->SetSocketLayerOverride(nullptr);
|
||||
}
|
||||
115
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam_Impl.h
Normal file
115
DependentExtensions/Lobby2/Steam/Lobby2Client_Steam_Impl.h
Normal file
@ -0,0 +1,115 @@
|
||||
/*
|
||||
* Original work: Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*
|
||||
* Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
|
||||
*
|
||||
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
|
||||
* license found in the license.txt file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#ifndef __LOBBY_2_CLIENT_STEAM_IMPL_H
|
||||
#define __LOBBY_2_CLIENT_STEAM_IMPL_H
|
||||
|
||||
#pragma warning( push )
|
||||
#pragma warning(disable:4127) // conditional expression is constant (with Steamworks 1.23a)
|
||||
#include "steam_api.h"
|
||||
#pragma warning( pop )
|
||||
#include "Lobby2Client_Steam.h"
|
||||
#include "slikenet/DS_Multilist.h"
|
||||
#include "slikenet/SocketLayer.h"
|
||||
#include "slikenet/DS_OrderedList.h"
|
||||
|
||||
namespace SLNet
|
||||
{
|
||||
struct Lobby2Message;
|
||||
|
||||
#define STEAM_UNUSED_PORT 1
|
||||
|
||||
class RAK_DLL_EXPORT Lobby2Client_Steam_Impl : public Lobby2Client_Steam, public SocketLayerOverride
|
||||
{
|
||||
public:
|
||||
Lobby2Client_Steam_Impl();
|
||||
virtual ~Lobby2Client_Steam_Impl();
|
||||
|
||||
/// Send a command to the server
|
||||
/// \param[in] msg The message that represents the command
|
||||
virtual void SendMsg(Lobby2Message *msg);
|
||||
|
||||
// Base class implementation
|
||||
virtual void Update(void);
|
||||
|
||||
virtual void OnLobbyMatchListCallback( LobbyMatchList_t *pCallback, bool bIOFailure );
|
||||
virtual void OnLobbyCreated( LobbyCreated_t *pCallback, bool bIOFailure );
|
||||
virtual void OnLobbyJoined( LobbyEnter_t *pCallback, bool bIOFailure );
|
||||
virtual bool IsCommandRunning( Lobby2MessageID msgId );
|
||||
virtual void GetRoomMembers(DataStructures::OrderedList<uint64_t, uint64_t> &_roomMembers);
|
||||
virtual const char * GetRoomMemberName(uint64_t memberId);
|
||||
virtual bool IsRoomOwner(const uint64_t cSteamID);
|
||||
virtual bool IsInRoom(void) const;
|
||||
virtual uint64_t GetNumRoomMembers(const uint64_t roomid){return SteamMatchmaking()->GetNumLobbyMembers(roomid);}
|
||||
virtual uint64_t GetMyUserID(void){return SteamUser()->GetSteamID().ConvertToUint64();}
|
||||
virtual const char* GetMyUserPersonalName(void) {return SteamFriends()->GetPersonaName();}
|
||||
|
||||
virtual void NotifyLeaveRoom(void);
|
||||
|
||||
// Returns 0 if none
|
||||
virtual uint64_t GetRoomID(void) const {return roomId;}
|
||||
|
||||
/// Called when SendTo would otherwise occur.
|
||||
virtual int RakNetSendTo( const char *data, int length, const SystemAddress &systemAddress );
|
||||
|
||||
/// Called when RecvFrom would otherwise occur. Return number of bytes read. Write data into dataOut
|
||||
virtual int RakNetRecvFrom( char dataOut[ MAXIMUM_MTU_SIZE ], SystemAddress *senderOut, bool calledFromMainThread);
|
||||
|
||||
virtual void OnRakPeerShutdown(void);
|
||||
virtual void OnClosedConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason );
|
||||
virtual void OnFailedConnectionAttempt(Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason);
|
||||
virtual void OnAttach(void);
|
||||
virtual void OnDetach(void);
|
||||
|
||||
struct RoomMember
|
||||
{
|
||||
SystemAddress systemAddress;
|
||||
uint64_t steamIDRemote;
|
||||
};
|
||||
static int SystemAddressAndRoomMemberComp( const SystemAddress &key, const RoomMember &data );
|
||||
static int SteamIDAndRoomMemberComp( const uint64_t &key, const RoomMember &data );
|
||||
protected:
|
||||
void CallCBWithResultCode(Lobby2Message *msg, Lobby2ResultCode rc);
|
||||
void PushDeferredCallback(Lobby2Message *msg);
|
||||
void CallRoomCallbacks(void);
|
||||
void NotifyNewMember(uint64_t memberId, SystemAddress remoteSystem);
|
||||
void NotifyDroppedMember(uint64_t memberId, SystemAddress remoteSystem);
|
||||
void CallCompletedCallbacks(void);
|
||||
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnLobbyDataUpdatedCallback, LobbyDataUpdate_t, m_CallbackLobbyDataUpdated );
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnPersonaStateChange, PersonaStateChange_t, m_CallbackPersonaStateChange );
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnLobbyDataUpdate, LobbyDataUpdate_t, m_CallbackLobbyDataUpdate );
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnLobbyChatUpdate, LobbyChatUpdate_t, m_CallbackChatDataUpdate );
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnLobbyChatMessage, LobbyChatMsg_t, m_CallbackChatMessageUpdate );
|
||||
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnP2PSessionRequest, P2PSessionRequest_t, m_CallbackP2PSessionRequest );
|
||||
STEAM_CALLBACK( Lobby2Client_Steam_Impl, OnP2PSessionConnectFail, P2PSessionConnectFail_t, m_CallbackP2PSessionConnectFail );
|
||||
|
||||
DataStructures::Multilist<ML_UNORDERED_LIST, Lobby2Message *, uint64_t > deferredCallbacks;
|
||||
|
||||
uint64_t roomId;
|
||||
DataStructures::OrderedList<SystemAddress, RoomMember, SystemAddressAndRoomMemberComp> roomMembersByAddr;
|
||||
DataStructures::OrderedList<uint64_t, RoomMember, SteamIDAndRoomMemberComp> roomMembersById;
|
||||
DataStructures::Multilist<ML_ORDERED_LIST, uint64_t> rooms;
|
||||
|
||||
void ClearRoom(void);
|
||||
|
||||
uint32_t nextFreeSystemAddress;
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
150
DependentExtensions/Lobby2/Steam/Lobby2Message_Steam.cpp
Normal file
150
DependentExtensions/Lobby2/Steam/Lobby2Message_Steam.cpp
Normal file
@ -0,0 +1,150 @@
|
||||
/*
|
||||
* Original work: Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*
|
||||
* Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
|
||||
*
|
||||
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
|
||||
* license found in the license.txt file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include "Lobby2Message_Steam.h"
|
||||
#pragma warning( push )
|
||||
#pragma warning(disable:4127) // conditional expression is constant (with Steamworks 1.23a)
|
||||
#include "steam_api.h"
|
||||
#pragma warning( pop )
|
||||
#include "Lobby2Client_Steam_Impl.h"
|
||||
|
||||
using namespace SLNet;
|
||||
|
||||
bool Client_Login_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
(void) client;
|
||||
|
||||
if ( !SteamAPI_Init() )
|
||||
resultCode=L2RC_GENERAL_ERROR;
|
||||
else
|
||||
resultCode=L2RC_SUCCESS;
|
||||
return true; // Done immediately
|
||||
}
|
||||
bool Client_Logoff_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
Lobby2Client_Steam_Impl *steam = (Lobby2Client_Steam_Impl *)client;
|
||||
steam->NotifyLeaveRoom();
|
||||
|
||||
resultCode=L2RC_SUCCESS;
|
||||
SteamAPI_Shutdown();
|
||||
|
||||
return true; // Done immediately
|
||||
}
|
||||
Console_SearchRooms_Steam::Console_SearchRooms_Steam()
|
||||
{
|
||||
m_SteamCallResultLobbyMatchList = SLNet::OP_NEW<CCallResult<Lobby2Client_Steam_Impl, LobbyMatchList_t> > (_FILE_AND_LINE_);
|
||||
}
|
||||
Console_SearchRooms_Steam::~Console_SearchRooms_Steam()
|
||||
{
|
||||
// Cast to make sure destructor gets called
|
||||
SLNet::OP_DELETE((CCallResult<Lobby2Client_Steam_Impl, LobbyMatchList_t>*)m_SteamCallResultLobbyMatchList, _FILE_AND_LINE_);
|
||||
}
|
||||
bool Console_SearchRooms_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
(void) client;
|
||||
|
||||
requestId = SteamMatchmaking()->RequestLobbyList();
|
||||
((CCallResult<Lobby2Client_Steam_Impl, LobbyMatchList_t>*)m_SteamCallResultLobbyMatchList)->Set( requestId, (SLNet::Lobby2Client_Steam_Impl*) client, &Lobby2Client_Steam_Impl::OnLobbyMatchListCallback );
|
||||
return false; // Asynch
|
||||
}
|
||||
void Console_SearchRooms_Steam::DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Console_SearchRooms::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("%i rooms found", roomNames.GetSize());
|
||||
for (DataStructures::DefaultIndexType i=0; i < roomNames.GetSize(); i++)
|
||||
{
|
||||
out += SLNet::RakString("\n%i. %s. ID=%" PRINTF_64_BIT_MODIFIER "u", i+1, roomNames[i].C_String(), roomIds[i]);
|
||||
}
|
||||
}
|
||||
bool Console_GetRoomDetails_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
(void) client;
|
||||
|
||||
SteamMatchmaking()->RequestLobbyData( roomId );
|
||||
|
||||
return false; // Asynch
|
||||
}
|
||||
Console_CreateRoom_Steam::Console_CreateRoom_Steam()
|
||||
{
|
||||
m_SteamCallResultLobbyCreated = SLNet::OP_NEW<CCallResult<Lobby2Client_Steam_Impl, LobbyCreated_t> >(_FILE_AND_LINE_);
|
||||
}
|
||||
Console_CreateRoom_Steam::~Console_CreateRoom_Steam()
|
||||
{
|
||||
// Cast to make sure destructor gets called
|
||||
SLNet::OP_DELETE((CCallResult<Lobby2Client_Steam_Impl, LobbyCreated_t>*)m_SteamCallResultLobbyCreated, _FILE_AND_LINE_);
|
||||
}
|
||||
bool Console_CreateRoom_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
if (roomIsPublic)
|
||||
requestId = SteamMatchmaking()->CreateLobby( k_ELobbyTypePublic, publicSlots );
|
||||
else
|
||||
requestId = SteamMatchmaking()->CreateLobby( k_ELobbyTypeFriendsOnly, publicSlots );
|
||||
|
||||
// set the function to call when this completes
|
||||
((CCallResult<Lobby2Client_Steam_Impl, LobbyCreated_t>*)m_SteamCallResultLobbyCreated)->Set( requestId, (SLNet::Lobby2Client_Steam_Impl*) client, &Lobby2Client_Steam_Impl::OnLobbyCreated );
|
||||
|
||||
return false; // Asynch
|
||||
}
|
||||
Console_JoinRoom_Steam::Console_JoinRoom_Steam()
|
||||
{
|
||||
m_SteamCallResultLobbyEntered = SLNet::OP_NEW<CCallResult<Lobby2Client_Steam_Impl, LobbyEnter_t> > (_FILE_AND_LINE_);
|
||||
}
|
||||
Console_JoinRoom_Steam::~Console_JoinRoom_Steam()
|
||||
{
|
||||
// Cast to make sure destructor gets called
|
||||
SLNet::OP_DELETE((CCallResult<Lobby2Client_Steam_Impl, LobbyEnter_t>*)m_SteamCallResultLobbyEntered, _FILE_AND_LINE_);
|
||||
}
|
||||
bool Console_JoinRoom_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
requestId = SteamMatchmaking()->JoinLobby( roomId );
|
||||
|
||||
// set the function to call when this completes
|
||||
((CCallResult<Lobby2Client_Steam_Impl, LobbyEnter_t>*)m_SteamCallResultLobbyEntered)->Set( requestId, (SLNet::Lobby2Client_Steam_Impl*) client, &Lobby2Client_Steam_Impl::OnLobbyJoined );
|
||||
|
||||
return false; // Asynch
|
||||
}
|
||||
bool Console_LeaveRoom_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
SteamMatchmaking()->LeaveLobby( roomId );
|
||||
|
||||
Lobby2Client_Steam_Impl *steam = (Lobby2Client_Steam_Impl *)client;
|
||||
steam->NotifyLeaveRoom();
|
||||
|
||||
resultCode=L2RC_SUCCESS;
|
||||
return true; // Synchronous
|
||||
}
|
||||
bool Console_SendRoomChatMessage_Steam::ClientImpl(SLNet::Lobby2Plugin *client)
|
||||
{
|
||||
(void) client;
|
||||
|
||||
SteamMatchmaking()->SendLobbyChatMsg(roomId, message.C_String(), (int) message.GetLength()+1);
|
||||
|
||||
// ISteamMatchmaking.h
|
||||
/*
|
||||
// Broadcasts a chat message to the all the users in the lobby
|
||||
// users in the lobby (including the local user) will receive a LobbyChatMsg_t callback
|
||||
// returns true if the message is successfully sent
|
||||
// pvMsgBody can be binary or text data, up to 4k
|
||||
// if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator
|
||||
virtual bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody ) = 0;
|
||||
*/
|
||||
|
||||
resultCode=L2RC_SUCCESS;
|
||||
return true; // Synchronous
|
||||
}
|
||||
336
DependentExtensions/Lobby2/Steam/Lobby2Message_Steam.h
Normal file
336
DependentExtensions/Lobby2/Steam/Lobby2Message_Steam.h
Normal file
@ -0,0 +1,336 @@
|
||||
/*
|
||||
* Original work: Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*
|
||||
* Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
|
||||
*
|
||||
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
|
||||
* license found in the license.txt file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#ifndef __LOBBY_2_MESSAGE_STEAM_H
|
||||
#define __LOBBY_2_MESSAGE_STEAM_H
|
||||
|
||||
#include "Lobby2Message.h"
|
||||
#include "slikenet/DS_Multilist.h"
|
||||
#include "Lobby2Client_Steam.h"
|
||||
|
||||
namespace SLNet
|
||||
{
|
||||
|
||||
#define __L2_MSG_DB_HEADER(__NAME__,__DB__) \
|
||||
struct __NAME__##_##__DB__ : public __NAME__
|
||||
|
||||
__L2_MSG_DB_HEADER(Client_Login, Steam)
|
||||
{
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Client_Login::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Login success");
|
||||
}
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Client_Logoff, Steam)
|
||||
{
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Client_Logoff::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Logoff success");
|
||||
}
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Console_SearchRooms, Steam)
|
||||
{
|
||||
Console_SearchRooms_Steam();
|
||||
virtual ~Console_SearchRooms_Steam();
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const;
|
||||
|
||||
// Output
|
||||
// Use CConsoleCommand_GetRoomDetails to get room names for unknown rooms, which will have blank names
|
||||
DataStructures::Multilist<ML_UNORDERED_LIST, SLNet::RakString> roomNames;
|
||||
// Type of uint64_ts is uint64_t
|
||||
DataStructures::Multilist<ML_UNORDERED_LIST, uint64_t> roomIds;
|
||||
|
||||
/// \internal
|
||||
// uint32_t is LobbyMatchList_t
|
||||
// CCallResult<Lobby2Client_Steam, uint32_t> m_SteamCallResultLobbyMatchList;
|
||||
void *m_SteamCallResultLobbyMatchList;
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Console_GetRoomDetails, Steam)
|
||||
{
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Console_GetRoomDetails::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("GetRoomDetails: roomName=%s for id %" PRINTF_64_BIT_MODIFIER "u", roomName.C_String(), roomId);
|
||||
}
|
||||
|
||||
/// Input
|
||||
uint64_t roomId;
|
||||
|
||||
/// Output
|
||||
SLNet::RakString roomName;
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Console_CreateRoom, Steam)
|
||||
{
|
||||
Console_CreateRoom_Steam();
|
||||
virtual ~Console_CreateRoom_Steam();
|
||||
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Console_CreateRoom::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Console_CreateRoom: roomName %s created for id %" PRINTF_64_BIT_MODIFIER "u", roomName.C_String(), roomId);
|
||||
}
|
||||
|
||||
/// Input
|
||||
/// If public, anyone can join. Else friends only
|
||||
bool roomIsPublic;
|
||||
SLNet::RakString roomName;
|
||||
|
||||
/// Output
|
||||
uint64_t roomId;
|
||||
|
||||
/// \internal
|
||||
// CCallResult<Lobby2Client_Steam, LobbyCreated_t> m_SteamCallResultLobbyCreated;
|
||||
void *m_SteamCallResultLobbyCreated;
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Console_JoinRoom, Steam)
|
||||
{
|
||||
Console_JoinRoom_Steam();
|
||||
virtual ~Console_JoinRoom_Steam();
|
||||
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Console_JoinRoom::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Console_JoinRoom: Joined id %" PRINTF_64_BIT_MODIFIER "u", roomId);
|
||||
}
|
||||
|
||||
/// Input
|
||||
uint64_t roomId;
|
||||
|
||||
/// \internal
|
||||
//CCallResult<Lobby2Client_Steam, LobbyEnter_t> m_SteamCallResultLobbyEntered;
|
||||
void *m_SteamCallResultLobbyEntered;
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Console_LeaveRoom, Steam)
|
||||
{
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Console_LeaveRoom::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Left room %" PRINTF_64_BIT_MODIFIER "u", roomId);
|
||||
}
|
||||
|
||||
/// Input
|
||||
uint64_t roomId;
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Console_SendRoomChatMessage, Steam)
|
||||
{
|
||||
virtual bool ClientImpl(SLNet::Lobby2Plugin *client);
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Console_SendRoomChatMessage::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Sent %s to room %" PRINTF_64_BIT_MODIFIER "u", message.C_String(), roomId);
|
||||
}
|
||||
|
||||
/// Input
|
||||
uint64_t roomId;
|
||||
SLNet::RakString message;
|
||||
};
|
||||
|
||||
|
||||
__L2_MSG_DB_HEADER(Notification_Friends_StatusChange, Steam)
|
||||
{
|
||||
uint64_t friendId;
|
||||
SLNet::RakString friendNewName;
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Notification_Friends_StatusChange::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("Friend renamed to %s with ID %" PRINTF_64_BIT_MODIFIER "u", friendNewName.C_String(), friendId);
|
||||
}
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Notification_Console_UpdateRoomParameters, Steam)
|
||||
{
|
||||
uint64_t roomId;
|
||||
SLNet::RakString roomNewName;
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Notification_Console_UpdateRoomParameters::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("RoomStateChanged: Room named %s with ID %" PRINTF_64_BIT_MODIFIER "u", roomNewName.C_String(), roomId);
|
||||
}
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Notification_Console_MemberJoinedRoom, Steam)
|
||||
{
|
||||
uint64_t roomId;
|
||||
uint64_t srcMemberId;
|
||||
SLNet::RakString memberName;
|
||||
SystemAddress remoteSystem;
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Notification_Console_MemberJoinedRoom::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("MemberJoinedRoom: Member named %s and ID %" PRINTF_64_BIT_MODIFIER "u joined room with ID %" PRINTF_64_BIT_MODIFIER "u", memberName.C_String(), srcMemberId, roomId);
|
||||
}
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Notification_Console_MemberLeftRoom, Steam)
|
||||
{
|
||||
uint64_t roomId;
|
||||
uint64_t srcMemberId;
|
||||
SLNet::RakString memberName;
|
||||
SystemAddress remoteSystem;
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Notification_Console_MemberLeftRoom::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out.Set("MemberLeftRoom: Member named %s and ID %" PRINTF_64_BIT_MODIFIER "u left room with ID %" PRINTF_64_BIT_MODIFIER "u", memberName.C_String(), srcMemberId, roomId);
|
||||
}
|
||||
};
|
||||
|
||||
__L2_MSG_DB_HEADER(Notification_Console_RoomChatMessage, Steam)
|
||||
{
|
||||
SLNet::RakString message;
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Notification_Console_RoomChatMessage::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
out=message;
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
__L2_MSG_DB_HEADER(Notification_Console_RoomMemberConnectivityUpdate, Steam)
|
||||
{
|
||||
bool succeeded;
|
||||
SystemAddress remoteSystem;
|
||||
|
||||
virtual void DebugMsg(SLNet::RakString &out) const
|
||||
{
|
||||
if (resultCode!=L2RC_SUCCESS)
|
||||
{
|
||||
Notification_Console_RoomMemberConnectivityUpdate::DebugMsg(out);
|
||||
return;
|
||||
}
|
||||
if (succeeded)
|
||||
{
|
||||
out.Set("Signaling to %s succeeded.", remoteSystem.ToString(true));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.Set("Signaling to %s failed.", remoteSystem.ToString(true));
|
||||
}
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
// --------------------------------------------- Database specific factory class for all messages --------------------------------------------
|
||||
|
||||
#define __L2_MSG_FACTORY_IMPL(__NAME__,__DB__) {case L2MID_##__NAME__ : Lobby2Message *m = SLNet::OP_NEW< __NAME__##_##__DB__ >(_FILE_AND_LINE_) ; return m;}
|
||||
|
||||
struct Lobby2MessageFactory_Steam : public Lobby2MessageFactory
|
||||
{
|
||||
Lobby2MessageFactory_Steam() {}
|
||||
virtual ~Lobby2MessageFactory_Steam() {}
|
||||
virtual Lobby2Message *Alloc(Lobby2MessageID id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
__L2_MSG_FACTORY_IMPL(Client_Login, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Client_Logoff, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Console_SearchRooms, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Console_GetRoomDetails, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Console_CreateRoom, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Console_JoinRoom, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Console_LeaveRoom, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Console_SendRoomChatMessage, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Notification_Friends_StatusChange, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Notification_Console_UpdateRoomParameters, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Notification_Console_MemberJoinedRoom, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Notification_Console_MemberLeftRoom, Steam);
|
||||
__L2_MSG_FACTORY_IMPL(Notification_Console_RoomChatMessage, Steam);
|
||||
//__L2_MSG_FACTORY_IMPL(Notification_Console_RoomMemberConnectivityUpdate, Steam);
|
||||
|
||||
default:
|
||||
|
||||
return Lobby2MessageFactory::Alloc(id);
|
||||
};
|
||||
};
|
||||
};
|
||||
}; // namespace SLNet
|
||||
|
||||
#endif
|
||||
376
DependentExtensions/Lobby2/Steam/steamconsole.vcxproj
Normal file
376
DependentExtensions/Lobby2/Steam/steamconsole.vcxproj
Normal file
@ -0,0 +1,376 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{D54E74A9-6874-425F-9FCE-6EF8C5563343}</ProjectGuid>
|
||||
<RootNamespace>steamconsole</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\;..\;..\..\..\Source;C:\Steam\public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_CONSOLE;USE_STEAM_SOCKET_FUNCTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>steam_api.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\Steam\redistributable_bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy C:\Steam\redistributable_bin\*.dll .\
|
||||
copy C:\Steam\SteamworksExample\steam_appid.txt .\</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>.\;..\;..\..\..\Source;C:\Steam\public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_CONSOLE;USE_STEAM_SOCKET_FUNCTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>steam_api.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\Steam\redistributable_bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy C:\Steam\redistributable_bin\*.dll .\
|
||||
copy C:\Steam\SteamworksExample\steam_appid.txt .\</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\Source\src\_FindFirst.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\AsynchronousFileIO.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\AutoRPC.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\BigInt.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\BitStream.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\BitStream_NoTemplate.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\CheckSum.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\CommandParserInterface.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ConnectionGraph.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ConnectionGraph2.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ConsoleServer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DataBlockEncryptor.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DataCompressor.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DirectoryDeltaTransfer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DS_BytePool.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DS_ByteQueue.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DS_HuffmanEncodingTree.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DS_Table.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\EmailSender.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\EncodeClassName.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\EpochTimeToString.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ExtendedOverlappedPool.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FileList.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FileListTransfer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FileOperations.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FormatString.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FullyConnectedMesh.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FullyConnectedMesh2.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\FunctionThread.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\Gen_RPC8.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\GetTime.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\gettimeofday.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\GridSectorizer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\HTTPConnection.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\IncrementalReadInterface.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\InlineFunctor.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\Itoa.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\LightweightDatabaseClient.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\LightweightDatabaseCommon.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\LightweightDatabaseServer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\LinuxStrings.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\LogCommandParser.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\MessageFilter.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\NatPunchthroughClient.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\NatPunchthroughServer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\NetworkIDManager.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\NetworkIDObject.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PacketConsoleLogger.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PacketFileLogger.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PacketizedTCP.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PacketLogger.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PacketOutputWindowLogger.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PluginInterface.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\PluginInterface2.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakMemoryOverride.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetCommandParser.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetSocket.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetStatistics.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetTransport.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetTransport2.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetTypes.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetworkFactory.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakPeer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakSleep.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakString.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RakThread.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\Rand.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ReadyEvent.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ReliabilityLayer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ReplicaManager.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ReplicaManager2.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ReplicaManager3.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\rijndael.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\Router.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\Router2.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RPCMap.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\RSACrypt.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\DR_SHA1.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\SimpleMutex.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\SocketLayer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\StringCompressor.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\StringTable.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\SuperFastHash.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\SystemAddressList.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\TableSerializer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\TCPInterface.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\TelnetTransport.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\ThreadsafePacketLogger.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\UDPForwarder.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\UDPProxyClient.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\UDPProxyCoordinator.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\UDPProxyServer.cpp" />
|
||||
<ClCompile Include="..\..\..\Source\src\WSAStartupSingleton.cpp" />
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Client.cpp" />
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Client_Steam.cpp" />
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Message.cpp" />
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Message_Steam.cpp" />
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Plugin.cpp" />
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2ResultCode.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\_FindFirst.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AsynchronousFileIO.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AutopatcherPatchContext.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AutopatcherRepositoryInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AutoRPC.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\BigInt.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\BitStream.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\BitStream_NoTemplate.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\CheckSum.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ClientContextStruct.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\CommandParserInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ConnectionGraph.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ConnectionGraph2.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ConsoleServer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DataBlockEncryptor.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DataCompressor.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DirectoryDeltaTransfer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_BinarySearchTree.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_BPlusTree.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_BytePool.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_ByteQueue.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Heap.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_HuffmanEncodingTree.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_HuffmanEncodingTreeFactory.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_HuffmanEncodingTreeNode.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_LinkedList.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_List.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Map.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_MemoryPool.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Multilist.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_OrderedChannelHeap.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_OrderedList.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Queue.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_QueueLinkedList.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_RangeList.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Table.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Tree.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_WeightedGraph.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\EmailSender.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\EpochTimeToString.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Export.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ExtendedOverlappedPool.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileList.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileListNodeContext.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileListTransfer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileListTransferCBInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileOperations.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FormatString.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FullyConnectedMesh.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FullyConnectedMesh2.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FunctionThread.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Gen_RPC8.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\GetTime.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\gettimeofday.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\GridSectorizer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\HTTPConnection.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\IncrementalReadInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\InlineFunctor.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\InternalPacket.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Itoa.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Kbhit.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LightweightDatabaseClient.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LightweightDatabaseCommon.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LightweightDatabaseServer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LinuxStrings.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LogCommandParser.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\MessageFilter.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\MessageIdentifiers.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\MTUSize.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NativeTypes.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NatPunchthroughClient.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NatPunchthroughServer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NetworkIDManager.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NetworkIDObject.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketConsoleLogger.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketFileLogger.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketizedTCP.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketLogger.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketOutputWindowLogger.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketPool.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketPriority.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Platform.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PluginInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PluginInterface2.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\alloca.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\assert.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\memoryoverride.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\commandparser.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\defines.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\smartptr.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\socket.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\statistics.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\time.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\transport.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\transport2.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\types.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\version.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\peer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\peerinterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\sleep.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\string.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\thread.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Rand.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReadyEvent.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RefCountedObj.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReliabilityLayer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Replica.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaEnums.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaManager.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaManager2.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaManager3.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Rijndael-Boxes.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Rijndael.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Router.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Router2.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RouterInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RPCMap.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RPCNode.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RSACrypt.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DR_SHA1.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SimpleMutex.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SimpleTCPServer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SingleProducerConsumer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SocketIncludes.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SocketLayer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\StringCompressor.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\StringTable.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SuperFastHash.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SystemAddressList.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TableSerializer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TCPInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TelnetTransport.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ThreadPool.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ThreadsafePacketLogger.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TransportInterface.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPForwarder.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyClient.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyCommon.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyCoordinator.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyServer.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\WindowsIncludes.h" />
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\WSAStartupSingleton.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamapps.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamclient.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamfriends.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamgameserver.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteammasterserverupdater.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteammatchmaking.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamnetworking.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamremotestorage.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamuser.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamuserstats.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamutils.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\matchmakingtypes.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\steam_api.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\steam_gameserver.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\steamclientpublic.h" />
|
||||
<ClInclude Include="C:\Steam\public\steam\steamtypes.h" />
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Client.h" />
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Client_Steam.h" />
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Message.h" />
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Message_Steam.h" />
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Plugin.h" />
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2ResultCode.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="readme.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
811
DependentExtensions/Lobby2/Steam/steamconsole.vcxproj.filters
Normal file
811
DependentExtensions/Lobby2/Steam/steamconsole.vcxproj.filters
Normal file
@ -0,0 +1,811 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="RakNet">
|
||||
<UniqueIdentifier>{e1041313-c177-4742-a818-f020c6aee669}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Steam">
|
||||
<UniqueIdentifier>{2d9abebe-e69a-45df-9713-54f601e1913b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Lobby2">
|
||||
<UniqueIdentifier>{8c10e916-087a-4426-98dc-a3da5d86026a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\Source\src\_FindFirst.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\AsynchronousFileIO.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\AutoRPC.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\BigInt.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\BitStream.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\BitStream_NoTemplate.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\CheckSum.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\CommandParserInterface.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ConnectionGraph.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ConnectionGraph2.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ConsoleServer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DataBlockEncryptor.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DataCompressor.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DirectoryDeltaTransfer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DS_BytePool.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DS_ByteQueue.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DS_HuffmanEncodingTree.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DS_Table.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\EmailSender.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\EncodeClassName.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\EpochTimeToString.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ExtendedOverlappedPool.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FileList.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FileListTransfer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FileOperations.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FormatString.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FullyConnectedMesh.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FullyConnectedMesh2.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\FunctionThread.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\Gen_RPC8.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\GetTime.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\gettimeofday.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\GridSectorizer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\HTTPConnection.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\IncrementalReadInterface.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\InlineFunctor.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\Itoa.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\LightweightDatabaseClient.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\LightweightDatabaseCommon.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\LightweightDatabaseServer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\LinuxStrings.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\LogCommandParser.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\MessageFilter.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\NatPunchthroughClient.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\NatPunchthroughServer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\NetworkIDManager.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\NetworkIDObject.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PacketConsoleLogger.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PacketFileLogger.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PacketizedTCP.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PacketLogger.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PacketOutputWindowLogger.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PluginInterface.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\PluginInterface2.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakMemoryOverride.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetCommandParser.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetSocket.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetStatistics.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetTransport.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetTransport2.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetTypes.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakNetworkFactory.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakPeer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakSleep.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakString.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RakThread.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\Rand.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ReadyEvent.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ReliabilityLayer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ReplicaManager.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ReplicaManager2.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ReplicaManager3.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\rijndael.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\Router.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\Router2.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RPCMap.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\RSACrypt.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\DR_SHA1.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\SimpleMutex.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\SocketLayer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\StringCompressor.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\StringTable.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\SuperFastHash.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\SystemAddressList.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\TableSerializer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\TCPInterface.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\TelnetTransport.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\ThreadsafePacketLogger.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\UDPForwarder.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\UDPProxyClient.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\UDPProxyCoordinator.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\UDPProxyServer.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Source\src\WSAStartupSingleton.cpp">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Client.cpp">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Client_Steam.cpp">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Message.cpp">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Message_Steam.cpp">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Plugin.cpp">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2ResultCode.cpp">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\_FindFirst.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AsynchronousFileIO.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AutopatcherPatchContext.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AutopatcherRepositoryInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\AutoRPC.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\BigInt.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\BitStream.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\BitStream_NoTemplate.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\CheckSum.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ClientContextStruct.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\CommandParserInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ConnectionGraph.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ConnectionGraph2.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ConsoleServer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DataBlockEncryptor.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DataCompressor.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DirectoryDeltaTransfer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_BinarySearchTree.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_BPlusTree.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_BytePool.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_ByteQueue.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Heap.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_HuffmanEncodingTree.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_HuffmanEncodingTreeFactory.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_HuffmanEncodingTreeNode.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_LinkedList.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_List.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Map.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_MemoryPool.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Multilist.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_OrderedChannelHeap.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_OrderedList.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Queue.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_QueueLinkedList.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_RangeList.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Table.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_Tree.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DS_WeightedGraph.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\EmailSender.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\EpochTimeToString.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Export.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ExtendedOverlappedPool.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileList.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileListNodeContext.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileListTransfer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileListTransferCBInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FileOperations.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FormatString.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FullyConnectedMesh.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FullyConnectedMesh2.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\FunctionThread.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Gen_RPC8.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\GetTime.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\gettimeofday.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\GridSectorizer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\HTTPConnection.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\IncrementalReadInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\InlineFunctor.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\InternalPacket.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Itoa.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Kbhit.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LightweightDatabaseClient.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LightweightDatabaseCommon.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LightweightDatabaseServer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LinuxStrings.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\LogCommandParser.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\MessageFilter.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\MessageIdentifiers.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\MTUSize.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NativeTypes.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NatPunchthroughClient.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NatPunchthroughServer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NetworkIDManager.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\NetworkIDObject.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketConsoleLogger.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketFileLogger.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketizedTCP.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketLogger.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketOutputWindowLogger.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketPool.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PacketPriority.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Platform.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PluginInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\PluginInterface2.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\alloca.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\assert.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\memoryoverride.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\commandparser.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\defines.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\smartptr.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\socket.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\statistics.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\time.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\transport.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\transport2.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\types.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\version.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\peer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\peerinterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\sleep.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\string.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\thread.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Rand.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReadyEvent.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RefCountedObj.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReliabilityLayer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Replica.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaEnums.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaManager.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaManager2.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ReplicaManager3.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Rijndael-Boxes.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Rijndael.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Router.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\Router2.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RouterInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RPCMap.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RPCNode.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\RSACrypt.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\DR_SHA1.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SimpleMutex.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SimpleTCPServer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SingleProducerConsumer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SocketIncludes.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SocketLayer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\StringCompressor.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\StringTable.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SuperFastHash.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\SystemAddressList.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TableSerializer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TCPInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TelnetTransport.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ThreadPool.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\ThreadsafePacketLogger.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\TransportInterface.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPForwarder.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyClient.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyCommon.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyCoordinator.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\UDPProxyServer.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\WindowsIncludes.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Source\include\slikenet\WSAStartupSingleton.h">
|
||||
<Filter>RakNet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamapps.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamclient.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamfriends.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamgameserver.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteammasterserverupdater.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteammatchmaking.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamnetworking.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamremotestorage.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamuser.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamuserstats.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\isteamutils.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\matchmakingtypes.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\steam_api.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\steam_gameserver.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\steamclientpublic.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Steam\public\steam\steamtypes.h">
|
||||
<Filter>Steam</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Client.h">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Client_Steam.h">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Message.h">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Steam\Lobby2Message_Steam.h">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2Plugin.h">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="X:\p4\ob1\Data\DHEngine\Code\sdks\RakNet\DependentExtensions\Lobby2\Lobby2ResultCode.h">
|
||||
<Filter>Lobby2</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="readme.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user