Esempio n. 1
0
/* Returns true, if the name looks ok, but differs from the last one. */
bool CPokerTrackerThread::CheckIfNameHasChanged(int chair)
{
	char		oh_scraped_name[k_max_length_of_playername]; 
	char		best_name[k_max_length_of_playername];

	assert(chair >= k_first_chair); 
	assert(chair <= k_last_chair);
	
	memset(oh_scraped_name, 0, k_max_length_of_playername);
	memset(best_name, 0, k_max_length_of_playername);
	
	if (p_game_state->state((p_game_state->state_index()-1)&0xff)->m_player[chair].m_name_known == 0)
	{
		return false;
	}
	strcpy_s(oh_scraped_name, k_max_length_of_playername, p_game_state->state((p_game_state->state_index()-1)&0xff)->m_player[chair].m_name);

	if (NameLooksLikeBadScrape(oh_scraped_name))
	{
		return false;
	}

	// We already have the name, and it has not changed since we last checked, so do nothing
	if (_player_data[chair].found 
		&& 0 == strcmp(_player_data[chair].scraped_name, oh_scraped_name))
	{
		return false;
	}
	return true;
}
/* Returns true if found an appropriate name in the DB for chr, or false if 
   it did not found such name.*/
bool CPokerTrackerThread::CheckIfNameExistsInDB(int chair)
{
	char		oh_scraped_name[kMaxLengthOfPlayername]; 
	char		best_name[kMaxLengthOfPlayername];

	assert(chair >= kFirstChair); 
	assert(chair <= kLastChair);
	
	memset(oh_scraped_name, 0, kMaxLengthOfPlayername);
	memset(best_name, 0, kMaxLengthOfPlayername);

	 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() chair = %i\n", chair);
	
	if (LAST_STATE.m_player[chair].m_name_known == 0)	{
		 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() No name known for this chair\n");
		return false;
	}

	if (strlen(LAST_STATE.m_player[chair].m_name) <= kMaxLengthOfPlayername) 	{
		strcpy_s(oh_scraped_name, kMaxLengthOfPlayername, LAST_STATE.m_player[chair].m_name);
	}

	 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() Scraped name: [%s]\n", oh_scraped_name);

	if (NameLooksLikeBadScrape(oh_scraped_name))
	{
		 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() Name looks like a bad scrape\n");
		return false;
	}
	
	// We already have the name, and it has not changed since we last checked, so do nothing
	if (_player_data[chair].found && 0 == strcmp(_player_data[chair].scraped_name, oh_scraped_name))
	{
		 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() Name is known and good\n");
		return true;
	}
	
	// We have not found the name in PT, go find it
	// First see if we can find the exact scraped name
	if (FindName(oh_scraped_name, best_name))
	{
		 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() Name found in database\n");
		SetPlayerName(chair, true, best_name, oh_scraped_name);
		return true;
	}
	else
	{
		 write_log(preferences.debug_pokertracker(), "[PokerTracker] CheckIfNameExistsInDB() Name not found in database\n");
		SetPlayerName(chair, false, "", "");
		return false;
	}
}
/* Returns true, if the name looks ok, but differs from the last one. */
bool CPokerTrackerThread::CheckIfNameHasChanged(int chair)
{
	char		oh_scraped_name[kMaxLengthOfPlayername]; 
	char		best_name[kMaxLengthOfPlayername];

	assert(chair >= kFirstChair); 
	assert(chair <= kLastChair);
	
	memset(oh_scraped_name, 0, kMaxLengthOfPlayername);
	memset(best_name, 0, kMaxLengthOfPlayername);
	
	if (LAST_STATE.m_player[chair].m_name_known == 0) return false;
	strcpy_s(oh_scraped_name, kMaxLengthOfPlayername, LAST_STATE.m_player[chair].m_name);

	if (NameLooksLikeBadScrape(oh_scraped_name))return false;
	// We already have the name, and it has not changed since we last checked, so do nothing
	if (_player_data[chair].found 
		  && 0 == strcmp(_player_data[chair].scraped_name, oh_scraped_name)) {
		return false;
	}
	 write_log(preferences.debug_pokertracker(), "[PokerTracker] Name changed for chair [%d] [%s] -> [%s]\n",
		chair, _player_data[chair].scraped_name, oh_scraped_name);
	return true;
}