diff --git a/game/glass/btl4lobby.cpp b/game/glass/btl4lobby.cpp index b61fb47..fdf673c 100644 --- a/game/glass/btl4lobby.cpp +++ b/game/glass/btl4lobby.cpp @@ -207,8 +207,15 @@ static int static int roomIsHost = 0; static int roomResult = 0; // 0 pending, 1 go, -1 cancel -static RECT roomLaunchRect = { 140, 250, 420, 296 }; -static RECT roomLeaveRect = { 140, 306, 300, 336 }; +// #169: the buttons sit BELOW the full 8-slot roster (rows y=60..268), and the +// window is sized by CLIENT rect (AdjustWindowRect at creation) -- the old +// 560x360 was the OUTER size, so the caption bar ate the bottom ~47px and the +// LEAVE button (bottom=336) drew half-clipped, while rosters past 6 members +// plowed into the fixed LAUNCH frame (Lynx's 8-player clutter shot). +static RECT roomLaunchRect = { 140, 280, 420, 326 }; +static RECT roomLeaveRect = { 140, 336, 300, 366 }; +static const int kRoomClientW = 560; +static const int kRoomClientH = 382; // LEAVE bottom 366 + 16 margin static void PaintRoom(HWND window) @@ -362,10 +369,12 @@ static int window_class.lpszClassName = L"BTLobbyRoomWnd"; RegisterClassW(&window_class); + RECT outer = { 0, 0, kRoomClientW, kRoomClientH }; // #169: size by CLIENT rect + AdjustWindowRect(&outer, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, FALSE); HWND window = CreateWindowW( L"BTLobbyRoomWnd", L"BattleTech - Steam Lobby", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, - 160, 160, 560, 360, + 160, 160, outer.right - outer.left, outer.bottom - outer.top, NULL, NULL, GetModuleHandleW(NULL), NULL); if (window == NULL) {