|
|
|
@ -1,13 +1,15 @@ |
|
|
|
#pragma once |
|
|
|
#pragma once |
|
|
|
|
|
|
|
|
|
|
|
#include <map> |
|
|
|
|
|
|
|
#include <memory> |
|
|
|
#include <memory> |
|
|
|
#include <set> |
|
|
|
#include <set> |
|
|
|
#include <string> |
|
|
|
#include <string> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <ankerl/unordered_dense.h> |
|
|
|
|
|
|
|
|
|
|
|
#include "dvlnet/base.h" |
|
|
|
#include "dvlnet/base.h" |
|
|
|
#include "dvlnet/packet.h" |
|
|
|
#include "dvlnet/packet.h" |
|
|
|
#include "player.h" |
|
|
|
#include "player.h" |
|
|
|
|
|
|
|
#include "utils/algorithm/container.hpp" |
|
|
|
#include "utils/log.hpp" |
|
|
|
#include "utils/log.hpp" |
|
|
|
|
|
|
|
|
|
|
|
namespace devilution::net { |
|
|
|
namespace devilution::net { |
|
|
|
@ -50,7 +52,7 @@ private: |
|
|
|
std::vector<std::string> playerNames; |
|
|
|
std::vector<std::string> playerNames; |
|
|
|
endpoint_t peer; |
|
|
|
endpoint_t peer; |
|
|
|
}; |
|
|
|
}; |
|
|
|
std::map</*name*/ std::string, GameListValue> game_list; |
|
|
|
ankerl::unordered_dense::map</*name*/ std::string, GameListValue> game_list; |
|
|
|
std::array<Peer, MAX_PLRS> peers; |
|
|
|
std::array<Peer, MAX_PLRS> peers; |
|
|
|
bool isGameHost_; |
|
|
|
bool isGameHost_; |
|
|
|
|
|
|
|
|
|
|
|
@ -535,6 +537,7 @@ std::vector<GameInfo> base_protocol<P>::get_gamelist() |
|
|
|
const auto &[gameData, players, _] = gameInfo; |
|
|
|
const auto &[gameData, players, _] = gameInfo; |
|
|
|
ret.push_back(GameInfo { name, gameData, players }); |
|
|
|
ret.push_back(GameInfo { name, gameData, players }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
c_sort(ret, [](const GameInfo &a, const GameInfo &b) { return a.name < b.name; }); |
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|