Skip to content

Commit ea8f6e3

Browse files
authored
Merge pull request #35 from GeneralsOnlineDevelopmentTeam/main
main -> 60hz
2 parents 4691aac + b2d4e0b commit ea8f6e3

25 files changed

Lines changed: 853 additions & 1266 deletions

GeneralsMD/Code/GameEngine/Include/GameNetwork/GeneralsOnline/NextGenTransport.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@
77
#include "../../Transport.h"
88
#include "../NGMP_include.h"
99

10-
11-
#pragma comment(lib, "ENet/enet.lib")
1210
#include "GameNetwork/GeneralsOnline/Vendor/ValveNetworkingSockets/steam/isteamnetworkingmessages.h"
11+
1312
#pragma comment(lib, "ValveNetworkingSockets/GameNetworkingSockets.lib")
1413
#pragma comment(lib, "ValveNetworkingSockets/abseil_dll.lib")
1514
#pragma comment(lib, "ValveNetworkingSockets/libcrypto.lib")

GeneralsMD/Code/GameEngine/Include/GameNetwork/GeneralsOnline/OnlineServices_Init.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ enum EWebSocketMessageID
3636
NETWORK_ROOM_MARK_READY = 5,
3737
LOBBY_CURRENT_LOBBY_UPDATE = 6,
3838
NETWORK_ROOM_LOBBY_LIST_UPDATE = 7,
39-
PLAYER_CONNECTION_RELAY_UPGRADE = 8,
39+
UNUSED_PLACEHOLDER = 8, // this was relay upgrade, was removed. We can re-use it later, but service needs this placeholder
4040
PLAYER_NAME_CHANGE = 9,
4141
LOBBY_ROOM_CHAT_FROM_CLIENT = 10,
4242
LOBBY_CHAT_FROM_SERVER = 11,
@@ -48,6 +48,9 @@ enum EWebSocketMessageID
4848
NETWORK_CONNECTION_START_SIGNALLING = 17,
4949
NETWORK_CONNECTION_DISCONNECT_PLAYER = 18,
5050
NETWORK_CONNECTION_CLIENT_REQUEST_SIGNALLING = 19,
51+
MATCHMAKING_ACTION_JOIN_PREARRANGED_LOBBY = 20,
52+
MATCHMAKING_ACTION_START_GAME = 21,
53+
MATCHMAKING_MESSAGE = 22
5154
};
5255

5356
enum class EQoSRegions
@@ -159,7 +162,6 @@ class WebSocket
159162
void SendData_JoinNetworkRoom(int roomID);
160163
void SendData_LeaveNetworkRoom();
161164
void SendData_MarkReady(bool bReady);
162-
void SendData_ConnectionRelayUpgrade(int64_t userID);
163165

164166
void SendData_RequestSignalling(int64_t targetUserID);
165167
void SendData_Signalling(int64_t targetUserID, std::vector<uint8_t> vecPayload);

GeneralsMD/Code/GameEngine/Include/GameNetwork/GeneralsOnline/OnlineServices_LobbyInterface.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,33 @@ class NGMP_OnlineServices_LobbyInterface
7979

8080
void SearchForLobbies(std::function<void()> onStartCallback, std::function<void(std::vector<LobbyEntry>)> onCompleteCallback);
8181

82+
std::function<void(std::string)> m_fnCallbackMatchmakingMessage = nullptr;
83+
void RegisterForMatchmakingMessageCallback(std::function<void(std::string)> cb)
84+
{
85+
m_fnCallbackMatchmakingMessage = cb;
86+
}
87+
void InvokeMatchmakingMessageCallback(std::string str)
88+
{
89+
if (m_fnCallbackMatchmakingMessage != nullptr)
90+
{
91+
m_fnCallbackMatchmakingMessage(str);
92+
}
93+
}
94+
95+
void InvokeMatchmakingStartGameCallback()
96+
{
97+
if (m_fnCallbackMatchmakingStartGame != nullptr)
98+
{
99+
m_fnCallbackMatchmakingStartGame();
100+
}
101+
}
102+
103+
std::function<void()> m_fnCallbackMatchmakingStartGame = nullptr;
104+
void RegisterForMatchmakingStartGameCallback(std::function<void()> cb)
105+
{
106+
m_fnCallbackMatchmakingStartGame = cb;
107+
}
108+
82109
// updates
83110
void UpdateCurrentLobby_Map(AsciiString strMap, AsciiString strMapPath, bool bIsOfficial, int newMaxPlayers);
84111
void UpdateCurrentLobby_LimitSuperweapons(bool bLimitSuperweapons);
@@ -373,6 +400,7 @@ class NGMP_OnlineServices_LobbyInterface
373400

374401
void LeaveCurrentLobby();
375402

403+
LobbyEntry GetLobbyFromID(int64_t lobbyID);
376404
LobbyEntry GetLobbyFromIndex(int index);
377405

378406
std::vector<LobbyEntry> m_vecLobbies;

GeneralsMD/Code/GameEngine/Include/GameNetwork/GeneralsOnline/OnlineServices_RoomsInterface.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ struct NGMP_RoomInfo
8383

8484
class NetworkRoomMember : public NetworkMemberBase
8585
{
86-
86+
public:
87+
bool IsValid() const { return user_id != -1; }
8788
};
8889

8990
class NGMP_OnlineServices_RoomsInterface
@@ -149,6 +150,20 @@ class NGMP_OnlineServices_RoomsInterface
149150
return nullptr;
150151
}
151152

153+
NetworkRoomMember GetRoomMemberFromName(const char* szTargetName)
154+
{
155+
// TODO_NGMP: Migrate away from this, it's slow. This game relies on names too much.
156+
for (auto kvPair : m_mapMembers)
157+
{
158+
if (strcmp(kvPair.second.display_name.c_str(), szTargetName) == 0)
159+
{
160+
return kvPair.second;
161+
}
162+
}
163+
164+
return NetworkRoomMember();
165+
}
166+
152167
std::map<uint64_t, NetworkRoomMember>& GetMembersListForCurrentRoom();
153168

154169
// Chat

GeneralsMD/Code/GameEngine/Include/GameNetwork/GeneralsOnline/OnlineServices_StatsInterface.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ class NGMP_OnlineServices_StatsInterface
438438
{
439439
public:
440440
NGMP_OnlineServices_StatsInterface();
441+
~NGMP_OnlineServices_StatsInterface();
441442

442443
void GetGlobalStats(std::function<void(GlobalStats)> cb);
443444

GeneralsMD/Code/GameEngine/Include/GameNetwork/GeneralsOnline/Vendor/ENet/callbacks.h

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)