MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / OnServerFound

Method OnServerFound

Sources/Jazz2/UI/Menu/ServerSelectSection.cpp:630–652  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

628 }
629
630 void ServerSelectSection::OnServerFound(Jazz2::Multiplayer::ServerDescription&& desc)
631 {
632 std::uint64_t serverVersion = parseVersion(desc.Version);
633 desc.IsCompatible = ((serverVersion & VersionMask) == (CurrentVersion & VersionMask));
634
635#if defined(DEATH_TARGET_EMSCRIPTEN) && defined(WITH_WEBSOCKET)
636 // On Emscripten (WS-only client), mark servers without WebSocket support as unavailable
637 if (desc.WsPort == 0) {
638 desc.IsCompatible = false;
639 }
640#endif
641
642 for (auto& item : _items) {
643 if (item.Desc.EndpointString == desc.EndpointString) {
644 std::uint32_t prevFlags = (item.Desc.Flags & 0x80000000u /*Local*/);
645 item.Desc = std::move(desc);
646 item.Desc.Flags |= prevFlags;
647 return;
648 }
649 }
650
651 _items.push_back(std::move(desc));
652 }
653
654 void ServerSelectSection::ExecuteSelected()
655 {

Callers 3

OnFetchSuccessMethod · 0.80
OnClientThreadMethod · 0.80

Calls 2

parseVersionFunction · 0.85
push_backMethod · 0.45

Tested by

no test coverage detected