Exemplo n.º 1
0
void dlgMain::OnMonitorSignal(wxCommandEvent& event)
{
    mtrs_struct_t *Result = (mtrs_struct_t *)event.GetClientData();
    wxInt32 i;
    
    switch (Result->Signal)
    {
        case mtrs_master_timeout:
            if (!MServer->GetServerCount())           
                break;
        case mtrs_master_success:
            break;
        case mtrs_server_noservers:
            wxMessageBox(_T("There are no servers to query"), _T("Error"), wxOK | wxICON_ERROR);
            break;
        case mtrs_server_singletimeout:
            i = FindServerInList(QServer[Result->Index].GetAddress());

            m_LstCtrlPlayers->DeleteAllItems();
            
            QServer[Result->Index].ResetData();
            
            if (launchercfg_s.show_blocked_servers)
            if (i == -1)
                AddServerToList(m_LstCtrlServers, QServer[Result->Index], Result->Index);
            else
                AddServerToList(m_LstCtrlServers, QServer[Result->Index], i, 0);
            
            break;
        case mtrs_server_singlesuccess:
            m_LstCtrlPlayers->DeleteAllItems();
            
            AddServerToList(m_LstCtrlServers, QServer[Result->Index], Result->ServerListIndex, 0);
            
            AddPlayersToList(m_LstCtrlPlayers, QServer[Result->Index]);
            
            TotalPlayers += QServer[Result->Index].info.numplayers;
           
            break;
        default:
            break;
    }

    GetStatusBar()->SetStatusText(wxString::Format(_T("Master Ping: %u"), MServer->GetPing()), 1);
    GetStatusBar()->SetStatusText(wxString::Format(_T("Total Players: %d"), TotalPlayers), 3);

    delete Result;
}
Exemplo n.º 2
0
// worker threads post to this callback
void dlgMain::OnWorkerSignal(wxCommandEvent& event)
{
    wxInt32 i;
    switch (event.GetId())
    {
        case 0: // server query timed out
        {
            i = FindServerInList(QServer[event.GetInt()].GetAddress());

            m_LstCtrlPlayers->DeleteAllItems();
            
            QServer[event.GetInt()].ResetData();
            
            if (launchercfg_s.show_blocked_servers)
            if (i == -1)
                AddServerToList(m_LstCtrlServers, QServer[event.GetInt()], event.GetInt());
            else
                AddServerToList(m_LstCtrlServers, QServer[event.GetInt()], i, 0);
            
            break;                 
        }
        case 1: // server queried successfully
        {
            AddServerToList(m_LstCtrlServers, QServer[event.GetInt()], event.GetInt());
            
            TotalPlayers += QServer[event.GetInt()].info.numplayers;
            
            break;      
        }
    }

    ++QueriedServers;
    
    GetStatusBar()->SetStatusText(wxString::Format(_T("Queried Server %d of %d"), 
                                                   QueriedServers, 
                                                   MServer->GetServerCount()), 
                                                   2);
                                                   
    GetStatusBar()->SetStatusText(wxString::Format(_T("Total Players: %d"), 
                                                   TotalPlayers), 
                                                   3);   
}
Exemplo n.º 3
0
void		CClientDlg::RefillServersList			()
{
	OutputDebugString("CClientDlg::RefillServersList \n");
	ClearHostList();
	// clear the server count
	//	m_serverCount = 0;
	//	m_servers.SetWindowText("0");

	// go through the list of servers
	for(int i = 0; i < ServerBrowserCount(m_serverBrowser) ; i++)
	{
		// if we got basic info for it, put it back in the list
		SBServer server = ServerBrowserGetServer(m_serverBrowser, i);
		//		if(SBServerHasBasicKeys(server))
		AddServerToList(server);//, FALSE);
	}

	UpdateServersList();
};
Exemplo n.º 4
0
void	CServerList::RefreshList_internal()
{
	m_need_refresh_fr				= u32(-1);
	SaveCurItem						();
	m_list[LST_SERVER].Clear();
	ClearSrvItems					();

	u32 NumServersFound				= browser().GetServersCount();
	g_gs_browser					= m_GSBrowser;
	m_tmp_srv_lst.resize			(NumServersFound);

	
	for (u32 i=0; i<NumServersFound; i++)
		m_tmp_srv_lst[i] = i;

	if (0 == xr_strcmp(m_sort_func, "server_name"))
		std::sort(m_tmp_srv_lst.begin(), m_tmp_srv_lst.end(), sort_by_ServerName);

	else if (0 == xr_strcmp(m_sort_func, "map"))
		std::sort(m_tmp_srv_lst.begin(), m_tmp_srv_lst.end(), sort_by_Map);

	else if (0 == xr_strcmp(m_sort_func, "game_type"))
		std::sort(m_tmp_srv_lst.begin(), m_tmp_srv_lst.end(), sort_by_GameType);

	else if (0 == xr_strcmp(m_sort_func, "player"))
		std::sort(m_tmp_srv_lst.begin(), m_tmp_srv_lst.end(), sort_by_Players);

	else if (0 == xr_strcmp(m_sort_func, "ping"))
		std::sort(m_tmp_srv_lst.begin(), m_tmp_srv_lst.end(), sort_by_Ping);

	else if (0 == xr_strcmp(m_sort_func, "version"))
		std::sort(m_tmp_srv_lst.begin(), m_tmp_srv_lst.end(), sort_by_Version);

	for (u32 i=0; i<NumServersFound; i++)
	{
		ServerInfo							NewServerInfo;
		browser().GetServerInfoByIndex		(&NewServerInfo, m_tmp_srv_lst[i]);

		AddServerToList						(&NewServerInfo);
	}
	UpdateSizes();
	RestoreCurItem();
};