//============================================================================= void MainMenu::OnOpen() { if ( IsPC() && connect_lobby.GetString()[0] ) { // if we were launched with "+connect_lobby <lobbyid>" on the command line, join that lobby immediately uint64 nLobbyID = _atoi64( connect_lobby.GetString() ); if ( nLobbyID != 0 ) { KeyValues *pSettings = KeyValues::FromString( "settings", " system { " " network LIVE " " } " " options { " " action joinsession " " } " ); pSettings->SetUint64( "options/sessionid", nLobbyID ); KeyValues::AutoDelete autodelete( pSettings ); g_pMatchFramework->MatchSession( pSettings ); } // clear the convar so we don't try to join that lobby every time we return to the main menu connect_lobby.SetValue( "" ); } BaseClass::OnOpen(); SetFooterState(); #ifndef _X360 bool bSteamCloudVisible = false; { static CGameUIConVarRef cl_cloud_settings( "cl_cloud_settings" ); if ( cl_cloud_settings.GetInt() == -1 ) { CBaseModPanel::GetSingleton().OpenWindow( WT_STEAMCLOUDCONFIRM, this, false ); bSteamCloudVisible = true; } } if ( !bSteamCloudVisible ) { if ( AddonAssociation::CheckAndSeeIfShouldShow() ) { CBaseModPanel::GetSingleton().OpenWindow( WT_ADDONASSOCIATION, this, false ); } } #endif }