netcode-revival: show the Party Play gate inputs in the M menu

Adds a '-- Party Play gate --' block to the ghost dialog Status showing the
live-flag mapped state + value, the per-slot signin states and signin-info
results, link active, and title online - so we can see in-game (not stdout)
exactly what the frontend gate sees when Party Play is greyed out.
This commit is contained in:
MiTHRAL 2026-08-28 21:37:39 -04:00
parent 1eacbcffc3
commit 63162cf757
2 changed files with 15 additions and 1 deletions

View file

@ -231,6 +231,20 @@ void GhostDialog::OnDraw(ImGuiIO& io) {
ImGui::Text(" Sessions: %zu discoverable",
xnet_sessions.size());
}
// netcode-revival: the frontend "Xbox Live features" gate inputs, so we
// can see why a menu item is greyed out without needing stdout.
const XNetTransport::GateStatus gs = XNetTransport::Instance().GetGateStatus();
ImGui::TextDisabled("-- Party Play gate --");
ImGui::Text(" Live flag: %s value=%d",
gs.live_flag_mapped ? "mapped" : "NOT MAPPED",
gs.live_flag_value);
ImGui::Text(" Signin slot: 0=%u 1=%u 2=%u 3=%u", gs.signin_state[0],
gs.signin_state[1], gs.signin_state[2], gs.signin_state[3]);
ImGui::Text(" Signin info: %s%s%s%s", gs.signin_info_ok[0] ? "0" : "x",
gs.signin_info_ok[1] ? "1" : "x", gs.signin_info_ok[2] ? "2" : "x",
gs.signin_info_ok[3] ? "3" : "x");
ImGui::Text(" Link active: %s", gs.link_active ? "yes" : "no");
ImGui::Text(" Title online: %s", gs.title_online ? "yes" : "no");
}
if (st.refused) {
ImGui::TextColored(ImVec4(1.0f, 0.5f, 0.3f, 1.0f),

@ -1 +1 @@
Subproject commit e09f224a6b0b3f21cacad525df187cffce85eed9
Subproject commit 7b9d706f791b488ef68ae639b78703d3688d0942