double AdjustedBetsize(double amount_to_raise_to) { AdaptValueToMinMaxRange(&amount_to_raise_to, MinimumBetsizeDueToPreviousRaise(), amount_to_raise_to); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumBetsizeForGameType()); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumPossibleBetsizeBecauseOfBalance()); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, RoundedBetsizeForTournaments(amount_to_raise_to)); return amount_to_raise_to; }
double AdjustedBetsize(double amount_to_raise_to) { double original_amount_to_raise_to = amount_to_raise_to; amount_to_raise_to = RoundToBeautifulBetsize(amount_to_raise_to); AdaptValueToMinMaxRange(&amount_to_raise_to, MinimumBetsizeDueToPreviousRaise(), amount_to_raise_to); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumBetsizeForGameType()); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumPossibleBetsizeBecauseOfBalance()); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, RoundedBetsizeForTournaments(amount_to_raise_to)); AdaptValueToMinMaxRange(&amount_to_raise_to, 0, SwagAmountAjustedToCasino(amount_to_raise_to)); return amount_to_raise_to; }
UINT CPokerTrackerThread::PokertrackerThreadFunction(LPVOID pParam) { CPokerTrackerThread *pParent = static_cast<CPokerTrackerThread*>(pParam); int iteration = 0; clock_t iterStart, iterEnd; int iterDurationMS; while (::WaitForSingleObject(pParent->_m_stop_thread, 0) != WAIT_OBJECT_0) { iterStart = clock(); write_log(preferences.debug_pokertracker(), "[PokerTracker] PTthread iteration [%d] had started\n", ++iteration); if (!pParent->_connected) { pParent->Connect(); } double players = p_symbol_engine_active_dealt_playing->nopponentsplaying() + (p_symbol_engine_userchair->userchair_confirmed() ? 1 : 0); write_log(preferences.debug_pokertracker(), "[PokerTracker] Players count is [%d]\n", players); if (players < 2) { write_log(preferences.debug_pokertracker(), "[PokerTracker] Not enough players to justify iteration...\n"); write_log(preferences.debug_pokertracker(), "[PokerTracker] For beginners: possible tablemap-problem?\n"); write_log(preferences.debug_pokertracker(), "[PokerTracker] Continuing anyway...\n"); } // Avoiding division by zero and setting sleep time AdaptValueToMinMaxRange(&players, 1, k_max_number_of_players); int sleep_time = (int) ((double)(/*preferences.pt_cache_refresh() !!*/ 30 * 1000) / (double)((PT_DLL_GetNumberOfStats() + 1) * players)); write_log(preferences.debug_pokertracker(), "[PokerTracker] sleepTime set to %d\n", sleep_time); LightSleep(sleep_time, pParent); if (pParent->_connected && PQstatus(pParent->_pgconn) == CONNECTION_OK) { for (int chair = 0; chair < p_tablemap->nchairs(); ++chair) { GetStatsForChair(pParam, chair, sleep_time); /* Verify therad_stop is false */ if (LightSleep(0, pParent)) break; } } iterEnd = clock(); iterDurationMS = (int) ((double)(iterEnd - iterStart)); write_log(preferences.debug_pokertracker(), "[PokerTracker] PTthread iteration [%d] had ended, duration time in ms: [%d]\n", ++iteration, iterDurationMS); if (iterDurationMS <= 10000) { write_log(preferences.debug_pokertracker(), "[PokerTracker] sleeping [%d] ms because iteration was too quick.\n", 10000 - iterDurationMS); if (LightSleep(10000 - iterDurationMS, pParent)) break; } } // Set event write_log(preferences.debug_pokertracker(), "[PokerTracker] PokertrackerThreadFunction: outside while loop...\n"); ::SetEvent(pParent->_m_wait_thread); return 0; }
double AdjustedBetsize(double amount_to_raise_to) { double original_amount_to_raise_to = amount_to_raise_to; write_log(Preferences()->debug_betsize_adjustment(), "[BetsizeAdjustment] Rounding to beautiful numbers\n"); // Rounding to beautiful numbers but only if enabled amount_to_raise_to = RoundToBeautifulBetsize(amount_to_raise_to); double minimum; if (p_engine_container->symbol_engine_casino()->ConnectedToDDPoker()) { write_log(Preferences()->debug_betsize_adjustment(), "[BetsizeAdjustment] Special adjustment for DDPoker needed.\n"); minimum = min(MinimumBetsizeDueToPreviousRaise(), MaximumBetsizeDueToMaxOppStack() ); } else { minimum = MinimumBetsizeDueToPreviousRaise(); } AdaptValueToMinMaxRange(&amount_to_raise_to, minimum, amount_to_raise_to); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumBetsizeForGameType()); AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumPossibleBetsizeBecauseOfBalance()); // Rounding to beautiful numbers (here full dollars) AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, RoundedBetsizeForTournaments(amount_to_raise_to)); // Special handling for DDPoker // http://www.maxinmontreal.com/forums/viewtopic.php?f=120&t=19185&hilit=ddpoker if(p_engine_container->symbol_engine_casino()->ConnectedToDDPoker()){ //!!?? Duplicate to ZeeZooLaas code above? AdaptValueToMinMaxRange(&amount_to_raise_to, amount_to_raise_to, MaximumBetsizeDueToMaxOppStack()); } AdaptValueToMinMaxRange(&amount_to_raise_to, 0, SwagAmountAjustedToCasino(amount_to_raise_to)); return amount_to_raise_to; }