netcode-revival: force the game's internal 'live user' flag

The game's frontend refuses 'Xbox Live features' based on its OWN static
flag (0x83028851, read by sub_8263E788) BEFORE calling any rexglue API -
which is why no trace logged during the party attempt. The game never sets
the flag without a real Live session. The ghost network loop now forces it
to 1 every tick so the frontend gate opens and the flow reaches the traced
XNet/Xam calls. Fragile: address tied to this title's build.
This commit is contained in:
MiTHRAL 2026-08-28 14:32:13 -04:00
parent 6859fe453c
commit 07f7fc8b3f

View file

@ -726,6 +726,11 @@ void GhostNetworkLoop() {
const double dt = std::min(now - last_tick, 0.25);
last_tick = now;
// netcode-revival: the game's frontend refuses "Xbox Live features"
// before calling any rexglue API when its internal live flag is 0; force
// it so the party/EA flow can start. Runs regardless of ghost enable.
rex::system::XNetTransport::Instance().ForceLiveFlag();
if (!Enabled()) {
ResetSession();
std::this_thread::sleep_for(std::chrono::milliseconds(50));