Join a lobby and Steam is not suddenly missing
Joining somebody's lobby correctly greys HOST STEAM GAME - there is one lobby to be in and it is not yours to open - but it also put STEAM NOT RUNNING above it, told to a player who is at that moment sitting in a Steam lobby. The button collects several unrelated reasons to go dim: the wire never came up, you are already hosting, you are seated as a member. They all landed in one `dead` flag, and the notice was drawn on `dead`. Only the first of those is about Steam being absent, and only the first is worth explaining. So the wire test keeps its own name and the notice is drawn on that, while `dead` goes on collecting the rest for the dimming. Verified both ways round: with Steam asked for in environ.ini but SteamAPI_Init failing, both buttons are dim and the notice is there as before, with LAUNCH still lit for a solo race. The reported case needs two machines to see, but the notice is now gated on exactly the condition it names, so it cannot fire while the wire is up. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+11
-2
@@ -1184,7 +1184,16 @@ namespace
|
||||
//
|
||||
Logical steam_button =
|
||||
(item->group == GroupSteamHost || item->group == GroupSteamJoin);
|
||||
Logical dead = steam_button && !RPL4Lobby_Available();
|
||||
|
||||
//
|
||||
// Kept apart from `dead` below on purpose. A button goes
|
||||
// dim for several unrelated reasons and only this one is
|
||||
// worth explaining; folding them together had the notice
|
||||
// announce STEAM NOT RUNNING to somebody sitting in a
|
||||
// Steam lobby, which is both wrong and alarming.
|
||||
//
|
||||
Logical steam_down = steam_button && !RPL4Lobby_Available();
|
||||
Logical dead = steam_down;
|
||||
|
||||
// one lobby at a time: no joining somebody else's while
|
||||
// hosting our own
|
||||
@@ -1218,7 +1227,7 @@ namespace
|
||||
// fit inside a button - they are about sixteen characters
|
||||
// wide and this is more than twice that.
|
||||
//
|
||||
if (dead && item->group == GroupSteamHost)
|
||||
if (steam_down && item->group == GroupSteamHost)
|
||||
{
|
||||
RECT notice = row;
|
||||
notice.bottom = row.top;
|
||||
|
||||
Reference in New Issue
Block a user