2007-04-26 Loic Dachary <loic@pokerdev.pokersource.info> * Release 1.0.25 * pokerengine/pokertournament.py: implement updateBreaks and new states WAIT_BREAK and BREAK. * pokerengine/pokertournament.py: provides old and new states as argument when the changestate callback in invoked * tests/test-pokertournament.py.in: test case for updateBreaks 2007-04-25 Loic Dachary <loic@dachary.org> * pokerengine/pokertournament.py: Store tournament break information. 2007-04-20 Loic Dachary <loic@dachary.org> * pokerengine/pokertournament.py: Wrap time() calls in seconds() module function for substitution in tests. 2007-03-12 Loic Dachary <loic@dachary.org> * Release 1.0.24 * pokerengine/pokergame.py: # # Rationale of player.sit_out_next_turn == False # This condition happens when the player sitout + sit # while not having the position during the blind/ante round it. # In this particular case, instead of instructing her to wait # for the first round, she sits back. This is important because # she was included in the player list at the begining of the turn. # If she is marked wait_for = "first_round", she will be removed # from the player list at the end of the blind/ante round, which # is exactly the opposite of what we want. # 2007-03-06 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py: s/raise/raises/ and update corresponding translations. 2007-02-16 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py: function isEndOrNull : not in a turn END or NULL state. function isInTurn : same as isRunning but includes MUCK state. sitOutNextTurn does not sit_out_next turn if in muck state regardless of the player status. remove useless test self.isRunning() and self.state != GAME_STATE_MUCK. change beginturn warning to include MUCK state. * poker-engine/tests/test-game.py.in: muck state sitout test requires player_list set 2007-02-01 Loic Dachary <loic@dachary.org> * Release 1.0.23 * pokerengine/pokergame.py: bugous fold or check must not try to get serial in position as player_list may not exist https://gna.org/bugs/?7809 (bug report of 2007/01/11). * pokerengine/pokergame.py: historyAddNoDuplicate so that position events are not repeated https://gna.org/bugs/?7809 (bug report of 2007/01/03 16:54) http://www.pok3d.com/rt/Ticket/Display.html?id=2106 2007-01-31 Loic Dachary <loic@dachary.org> * tests/blinds.py.in, pokerengine/pokergame.py: ignore players entering during the blind round https://gna.org/bugs/?7809 2007-01-26 Loic Dachary <loic@dachary.org> * conf/poker.levels-blinds.xml: add more levels 2007-01-26 Loic Dachary <loic@dachary.org> * conf/poker.levels-blinds.xml: level 3 big blind was 10 2007-01-25 griim <griim@mekensleep.com> * pokerengine/pokergame.py: i18n support 2007-01-23 Loic Dachary <loic@dachary.org> * debian/control.edgy: add python-all & python-central * debian/changelog: add python-all * configure.ac: copyright update * conf/poker..01-.02-no-limit.xml, conf/poker..01-.02-pot-limit.xml, conf/poker..02-.04-limit.xml, conf/poker..02-.04-no-limit.xml, conf/poker..02-.04-pot-limit.xml, conf/poker..02..04-limit.xml, conf/poker..05-.10-limit.xml, conf/poker..05-.10-no-limit.xml, conf/poker..05-.10-pot-limit.xml, conf/poker..05..10-limit.xml, conf/poker..10-.25-limit.xml, conf/poker..10-.25-no-limit.xml, conf/poker..10-.25-pot-limit.xml, conf/poker..25-.50-limit.xml, conf/poker..25-.50-no-limit.xml, conf/poker..25-.50-pot-limit.xml, conf/poker..25..50-limit.xml, conf/poker..50-1-limit.xml, conf/poker..50-1-no-limit.xml, conf/poker..50-1-pot-limit.xml, conf/poker..50.1-limit.xml, conf/poker.0-0-limit.xml, conf/poker.1-2-limit.xml, conf/poker.1-2-no-limit.xml, conf/poker.1-2-pot-limit.xml, conf/poker.10-15-limit.xml, conf/poker.10-15-pot-limit.xml, conf/poker.10-20-limit.xml, conf/poker.10-20-no-limit.xml, conf/poker.10-20-pot-limit.xml, conf/poker.100-200-limit.xml, conf/poker.100-200-no-limit.xml, conf/poker.100-200-pot-limit.xml, conf/poker.15-30-limit.xml, conf/poker.150-300-limit.xml, conf/poker.2-4-limit.xml, conf/poker.2-4-no-limit.xml, conf/poker.2-4-pot-limit.xml, conf/poker.200-400-limit.xml, conf/poker.3-6-limit.xml, conf/poker.3-6-no-limit.xml, conf/poker.3-6-pot-limit.xml, conf/poker.30-60-limit.xml, conf/poker.30-60-no-limit.xml, conf/poker.30-60-pot-limit.xml, conf/poker.4-8-limit.xml, conf/poker.5-10-limit.xml, conf/poker.5-10-no-limit.xml, conf/poker.5-10-pot-limit.xml, conf/poker.50-100-limit.xml, conf/poker.50-100-no-limit.xml, conf/poker.50-100-pot-limit.xml, conf/poker.7stud.xml, conf/poker.ante-.04-.08-limit.xml, conf/poker.ante-.10-.20-limit.xml, conf/poker.ante-.25-.50-limit.xml, conf/poker.ante-.50-1-limit.xml, conf/poker.ante-1-2-limit.xml, conf/poker.ante-10-20-limit.xml, conf/poker.ante-2-4-limit.xml, conf/poker.ante-3-6-limit.xml, conf/poker.ante-30-60-limit.xml, conf/poker.ante-5-10-limit.xml, conf/poker.holdem.xml, conf/poker.level-001.xml, conf/poker.level-10-15-pot-limit.xml, conf/poker.level-10-20-no-limit.xml, conf/poker.level-15-30-no-limit.xml, conf/poker.level-2-4-limit.xml, conf/poker.level-no-limit.xml, conf/poker.levels-blinds.xml, conf/poker.omaha.xml, conf/poker.omaha8.xml, conf/poker.payouts.xml, conf/poker.razz.xml: version bump * debian/control.edgy: edgy must use pycentral 2007-01-23 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py: fix https://gna.org/support/?1450 Sit out while in muck state must be denied by the server. getPotAmount may return what's in the stack if in muck state. roundCap returns zero if in muck state. * tests/test-game.py.in: test sit out while in muck state * tests/test-game.py.in: testGetPotAmount test the case where the game is not running * pokerengine/__init__.py, debian/changelog, NEWS, ChangeLog: version bump 2007-01-18 Loic Dachary <loic@dachary.org> * Release 1.0.22 * tests/history.py.in: Rake is no longer displayed in cents * tests/test-gamehistory.py.in: test history2Resolve safeguard against non existent hands add coverage report to standalone tests emacs invocation * tests/test-game.py.in: testUpdateHistoryEnd * pokerengine/pokergame.py: rake is no longer displayed in cents if a player at showdown does not have cards (happens in client side), history2Resolve silently ignores it refuses to sitOut a player while paying the blinds patch the "end" entry of the history when in client mode (not directing) because the information is not available when the end history event is inserted 2007-01-16 Cedric Pinson <cpinson@freesheep.org> * Update gentoo package 2007-01-16 Loic Dachary <loic@dachary.org> * tests/test-gamehistory.py.in: specific tests for historyReduce of blind/blind_request entries * tests/test-game.py.in: fix test blinds according to new policy : don't sit out when out of position while the blind/ante phase 2007-01-15 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py: return false status on error for sitout http://www.pok3d.com/rt/Ticket/Display.html?id=1860 and https://gna.org/bugs/?7811 * tests/test-game.py.in: in client, the end of the blindante turn may occur only if the betsEqual predicate returns true otherwise it will be out of sync with the server, therefore the other player must also be allin * pokerengine/pokergame.py: add tolerance to "levels" tag as well as "level" in client, the end of the blindante turn may occur only if the betsEqual predicate returns true otherwise it will be out of sync with the server * conf/poker..01-.02-no-limit.xml, conf/poker..01-.02-pot-limit.xml, conf/poker..02-.04-limit.xml, conf/poker..02-.04-no-limit.xml, conf/poker..02-.04-pot-limit.xml, conf/poker..02..04-limit.xml, conf/poker..05-.10-limit.xml, conf/poker..05-.10-no-limit.xml, conf/poker..05-.10-pot-limit.xml, conf/poker..05..10-limit.xml, conf/poker..10-.25-limit.xml, conf/poker..10-.25-no-limit.xml, conf/poker..10-.25-pot-limit.xml, conf/poker..25-.50-limit.xml, conf/poker..25-.50-no-limit.xml, conf/poker..25-.50-pot-limit.xml, conf/poker..25..50-limit.xml, conf/poker..50-1-limit.xml, conf/poker..50-1-no-limit.xml, conf/poker..50-1-pot-limit.xml, conf/poker..50.1-limit.xml, conf/poker.0-0-limit.xml, conf/poker.1-2-limit.xml, conf/poker.1-2-no-limit.xml, conf/poker.1-2-pot-limit.xml, conf/poker.10-15-limit.xml, conf/poker.10-15-pot-limit.xml, conf/poker.10-20-limit.xml, conf/poker.10-20-no-limit.xml, conf/poker.10-20-pot-limit.xml, conf/poker.100-200-limit.xml, conf/poker.100-200-no-limit.xml, conf/poker.100-200-pot-limit.xml, conf/poker.15-30-limit.xml, conf/poker.150-300-limit.xml, conf/poker.2-4-limit.xml, conf/poker.2-4-no-limit.xml, conf/poker.2-4-pot-limit.xml, conf/poker.200-400-limit.xml, conf/poker.3-6-limit.xml, conf/poker.3-6-no-limit.xml, conf/poker.3-6-pot-limit.xml, conf/poker.30-60-limit.xml, conf/poker.30-60-no-limit.xml, conf/poker.30-60-pot-limit.xml, conf/poker.4-8-limit.xml, conf/poker.5-10-limit.xml, conf/poker.5-10-no-limit.xml, conf/poker.5-10-pot-limit.xml, conf/poker.50-100-limit.xml, conf/poker.50-100-no-limit.xml, conf/poker.50-100-pot-limit.xml, conf/poker.7stud.xml, conf/poker.ante-.04-.08-limit.xml, conf/poker.ante-.10-.20-limit.xml, conf/poker.ante-.25-.50-limit.xml, conf/poker.ante-.50-1-limit.xml, conf/poker.ante-1-2-limit.xml, conf/poker.ante-10-20-limit.xml, conf/poker.ante-2-4-limit.xml, conf/poker.ante-3-6-limit.xml, conf/poker.ante-30-60-limit.xml, conf/poker.ante-5-10-limit.xml, conf/poker.holdem.xml, conf/poker.level-10-15-pot-limit.xml, conf/poker.level-10-20-no-limit.xml, conf/poker.level-15-30-no-limit.xml, conf/poker.level-2-4-limit.xml, conf/poker.level-no-limit.xml, conf/poker.omaha.xml, conf/poker.omaha8.xml, conf/poker.payouts.xml, conf/poker.razz.xml: version bump * conf/poker.levels-blinds.xml: implement blind structure as shown at https://gna.org/task/index.php?4231 * conf/poker.level-001.xml: no limit tournament with predefined levels and 10 minutes intervals * Makefile.am: copyright updates 2007-01-10 Loic Dachary <loic@dachary.org> * pokerengine/__init__.py, debian/changelog, ChangeLog, NEWS: 1.0.22 version bump 2007-01-08 Loic Dachary <loic@dachary.org> * Release 1.0.21 * pokerengine/pokergame.py: use pformat instead of pprint so that messages are formated with the proper prefix 2007-01-07 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py: no missed blinds on tournament tables 2007-01-05 Loic Dachary <loic@dachary.org> * debian/python-poker-engine.preinst: don't upgrade version 21 configuration files, just replace them 2007-01-02 Loic Dachary <loic@dachary.org> * tests/test-game.py.in: test positions (first & last) when blinds are allin * tests/blinds.py.in: rename test for consistency * pokerengine/pokergame.py: first to talk in round is first in game after big blind last to talk is the player in game just before the player in position * conf/poker..01-.02-no-limit.xml, conf/poker..01-.02-pot-limit.xml, conf/poker..02-.04-limit.xml, conf/poker..02-.04-no-limit.xml, conf/poker..02-.04-pot-limit.xml, conf/poker..02..04-limit.xml, conf/poker..05-.10-limit.xml, conf/poker..05-.10-no-limit.xml, conf/poker..05-.10-pot-limit.xml, conf/poker..05..10-limit.xml, conf/poker..10-.25-limit.xml, conf/poker..10-.25-no-limit.xml, conf/poker..10-.25-pot-limit.xml, conf/poker..25-.50-limit.xml, conf/poker..25-.50-no-limit.xml, conf/poker..25-.50-pot-limit.xml, conf/poker..25..50-limit.xml, conf/poker..50-1-limit.xml, conf/poker..50-1-no-limit.xml, conf/poker..50-1-pot-limit.xml, conf/poker..50.1-limit.xml, conf/poker.0-0-limit.xml, conf/poker.1-2-limit.xml, conf/poker.1-2-no-limit.xml, conf/poker.1-2-pot-limit.xml, conf/poker.10-15-limit.xml, conf/poker.10-15-pot-limit.xml, conf/poker.10-20-limit.xml, conf/poker.10-20-no-limit.xml, conf/poker.10-20-pot-limit.xml, conf/poker.100-200-limit.xml, conf/poker.100-200-no-limit.xml, conf/poker.100-200-pot-limit.xml, conf/poker.15-30-limit.xml, conf/poker.150-300-limit.xml, conf/poker.2-4-limit.xml, conf/poker.2-4-no-limit.xml, conf/poker.2-4-pot-limit.xml, conf/poker.200-400-limit.xml, conf/poker.3-6-limit.xml, conf/poker.3-6-no-limit.xml, conf/poker.3-6-pot-limit.xml, conf/poker.30-60-limit.xml, conf/poker.30-60-no-limit.xml, conf/poker.30-60-pot-limit.xml, conf/poker.4-8-limit.xml, conf/poker.5-10-limit.xml, conf/poker.5-10-no-limit.xml, conf/poker.5-10-pot-limit.xml, conf/poker.50-100-limit.xml, conf/poker.50-100-no-limit.xml, conf/poker.50-100-pot-limit.xml, conf/poker.7stud.xml, conf/poker.ante-.04-.08-limit.xml, conf/poker.ante-.10-.20-limit.xml, conf/poker.ante-.25-.50-limit.xml, conf/poker.ante-.50-1-limit.xml, conf/poker.ante-1-2-limit.xml, conf/poker.ante-10-20-limit.xml, conf/poker.ante-2-4-limit.xml, conf/poker.ante-3-6-limit.xml, conf/poker.ante-30-60-limit.xml, conf/poker.ante-5-10-limit.xml, conf/poker.holdem.xml, conf/poker.level-10-15-pot-limit.xml, conf/poker.level-10-20-no-limit.xml, conf/poker.level-15-30-no-limit.xml, conf/poker.level-2-4-limit.xml, conf/poker.level-no-limit.xml, conf/poker.levels-blinds.xml, conf/poker.omaha.xml, conf/poker.omaha8.xml, conf/poker.payouts.xml, conf/poker.razz.xml: version bump 2006-12-26 Loic Dachary <loic@dachary.org> * pokerengine/pokertournament.py: shuffle players before filling the tables * tests/test-pokertournament.py.in: don't shuffle players 2006-12-14 Loic Dachary <loic@dachary.org> * tests/tournament.py.in, tests/test-pokertournament.py.in: rake & buy_in are stored in tournament object * pokerengine/pokertournament.py: rake & buy_in are stored * pokerengine/pokergame.py: indirection for shuffler so that it's easier to replace it 2006-12-13 Loic Dachary <loic@dachary.org> * pokerengine/pokertournament.py: update finished_time * tests/tournament.py.in: typo * tests/tournament.py.in: rank prize is cached by buy_in * tests/test-pokertournament.py.in: test tournament canceling and regular tournament launch * pokerengine/pokertournament.py: implement tournament canceling if the number of registered players is below the minimum (2 by default) callback_cancel is run *before* the player list is re-initialized 2006-12-12 Loic Dachary <loic@dachary.org> * pokerengine/pokertournament.py, tests/test-pokertournament.py.in: cache per buy_in * pokerengine/pokertournament.py: prize_min sets the minimum prize pool, regardless of the number of players and their buy_in * tests/tournament.py.in, tests/test-pokertournament.py.in: cope with cached prize pool * pokerengine/pokertournament.py: cache prize pool 2006-12-11 Loic Dachary <loic@dachary.org> * tests/test-pokertournament.py.in: accomodate changes in tournament.py * pokerengine/pokertournament.py: add the players_min attribute (minimum number of players in a regular tournament) canRun: if registered is above players_min, start regular tournament canRegister: can't register if registered is above quota REGISTERING -> RUNNING is the updateRunning function for use by application 2006-12-04 Loic Dachary <loic@dachary.org> * conf/poker.level-15-30-no-limit.xml: small is 1500 2006-12-02 Loic Dachary <loic@dachary.org> * debian/changelog, pokerengine/__init__.py, NEWS, ChangeLog: version bump 2006-11-18 Loic Dachary <loic@dachary.org> * Release 1.0.20 * tests/test-game.py.in, pokerengine/pokergame.py: Three players pre-flop. Two allin because autopaying the blinds. The third must be given a chance to talk. * conf/poker..01-.02-no-limit.xml, conf/poker..01-.02-pot-limit.xml, conf/poker..02-.04-limit.xml, conf/poker..02-.04-no-limit.xml, conf/poker..02-.04-pot-limit.xml, conf/poker..02..04-limit.xml, conf/poker..05-.10-limit.xml, conf/poker..05-.10-no-limit.xml, conf/poker..05-.10-pot-limit.xml, conf/poker..05..10-limit.xml, conf/poker..10-.25-limit.xml, conf/poker..10-.25-no-limit.xml, conf/poker..10-.25-pot-limit.xml, conf/poker..25-.50-limit.xml, conf/poker..25-.50-no-limit.xml, conf/poker..25-.50-pot-limit.xml, conf/poker..25..50-limit.xml, conf/poker..50-1-limit.xml, conf/poker..50-1-no-limit.xml, conf/poker..50-1-pot-limit.xml, conf/poker..50.1-limit.xml, conf/poker.0-0-limit.xml, conf/poker.1-2-limit.xml, conf/poker.1-2-no-limit.xml, conf/poker.1-2-pot-limit.xml, conf/poker.10-15-limit.xml, conf/poker.10-15-pot-limit.xml, conf/poker.10-20-limit.xml, conf/poker.10-20-no-limit.xml, conf/poker.10-20-pot-limit.xml, conf/poker.100-200-limit.xml, conf/poker.100-200-no-limit.xml, conf/poker.100-200-pot-limit.xml, conf/poker.15-30-limit.xml, conf/poker.150-300-limit.xml, conf/poker.2-4-limit.xml, conf/poker.2-4-no-limit.xml, conf/poker.2-4-pot-limit.xml, conf/poker.200-400-limit.xml, conf/poker.3-6-limit.xml, conf/poker.3-6-no-limit.xml, conf/poker.3-6-pot-limit.xml, conf/poker.30-60-limit.xml, conf/poker.30-60-no-limit.xml, conf/poker.30-60-pot-limit.xml, conf/poker.4-8-limit.xml, conf/poker.5-10-limit.xml, conf/poker.5-10-no-limit.xml, conf/poker.5-10-pot-limit.xml, conf/poker.50-100-limit.xml, conf/poker.50-100-no-limit.xml, conf/poker.50-100-pot-limit.xml, conf/poker.7stud.xml, conf/poker.ante-.04-.08-limit.xml, conf/poker.ante-.10-.20-limit.xml, conf/poker.ante-.25-.50-limit.xml, conf/poker.ante-.50-1-limit.xml, conf/poker.ante-1-2-limit.xml, conf/poker.ante-10-20-limit.xml, conf/poker.ante-2-4-limit.xml, conf/poker.ante-3-6-limit.xml, conf/poker.ante-30-60-limit.xml, conf/poker.ante-5-10-limit.xml, conf/poker.holdem.xml, conf/poker.level-10-15-pot-limit.xml, conf/poker.level-10-20-no-limit.xml, conf/poker.level-15-30-no-limit.xml, conf/poker.level-2-4-limit.xml, conf/poker.level-no-limit.xml, conf/poker.levels-blinds.xml, conf/poker.omaha.xml, conf/poker.omaha8.xml, conf/poker.payouts.xml, conf/poker.razz.xml: version bump 2006-10-12 Loic Dachary <loic@dachary.org> * debian/control, debian/control.breezy, debian/control.dapper, debian/control.edgy, debian/control.etch, debian/control.hoary, debian/control.sarge, debian/control.unstable: clean depends 2006-09-22 Cedric Pinson <cpinson@freesheep.org> * gentoo/dev-games/poker-engine/poker-engine-1.0.16-r1.ebuild: * gentoo/dev-games/poker-engine/poker-engine-1.0.20-r1.ebuild: update gentoo package 2006-09-18 Loic Dachary <loic@dachary.org> * ChangeLog, NEWS, debian/changelog, pokerengine/__init__.py: version bump 2006-09-18 cpinson <cpinson@call> * gentoo/dev-games/poker-engine/poker-engine-1.0.14-r1.ebuild: remove old package 2006-09-13 Loic Dachary <loic@dachary.org> * Release 1.0.19 * tests/test-game.py.in, pokerengine/pokergame.py: use platform.system instead of os.name 2006-09-12 Loic Dachary <loic@dachary.org> * debian/changelog: edgy & etch control files * debian/control.etch, debian/control.edgy: edgy & etch * conf/poker.level-10-20-no-limit.xml: 10-20 blinds 2006-09-08 Loic Dachary <loic@dachary.org> * conf/poker.level-15-30-no-limit.xml: bb is 30 2006-09-07 Loic Dachary <loic@dachary.org> * conf/poker.level-15-30-no-limit.xml: no round cap in no-limit * conf/poker.level-15-30-no-limit.xml: 1500/3000 instead of bugous 1000/1500 * conf/poker.level-no-limit.xml: 10-15 for first level is meaningless 2006-09-07 Loic Dachary <loic@dachary.org> * conf/poker.razz.xml: razz * ChangeLog, NEWS, debian/changelog, pokerengine/__init__.py, pokerengine/pokergame.py: version bump 2006-09-04 Loic Dachary <loic@dachary.org> * Release 1.0.18 * pokerengine/pokergame.py: uncalled safeguard checks that the value is lower than the pot instead of strictly equal. 2006-08-31 Loic Dachary <loic@dachary.org> * debian/changelog, NEWS, ChangeLog, pokerengine/__init__.py: bump version 2006-08-30 Loic Dachary <loic@dachary.org> * Release 1.0.17 * tests/test-game.py.in: Adjust tests depending on rake being counted twice. * pokerengine/pokergame.py: subtract rake from pot when win because fold subtrace rake from serial2delta 2006-08-18 Loic Dachary <loic@dachary.org> * tests/test-game.py.in: pokercards.PokerCards instead of PokerCards 2006-08-18 Loic Dachary <loic@dachary.org> * Release 1.0.16 * pokerengine/pokergame.py: Special case : a player folds on the turn and the only other player left in the game did not bet. There is no reason for the player to fold : he forfeits a pot that he may win. Nevertheless, it can happen. In this case, and only if there is at least one player allin, the only other player left is awarded what looks like an uncalled bet. In this case the uncalled_serial is zero. 2006-08-17 Loic Dachary <loic@dachary.org> * tests/test-game.py.in: """ Test Poker Game : player folds (although he could check) while a player is allin and another player is behind him. The turn ends now, the last player is not asked for his action. * pokerengine/pokergame.py: If there is only one player left to talk, it is meaningless to ask for his action, unless he something to call. 2006-08-17 Cedric Pinson <cpinson@allin> * ChangeLog, tests/Makefile.am, tests/bugs.py.in: put the uncalled bug in bugs.py.in and remove bugs.py from make check 2006-08-17 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py (PokerGame.__roundFinished): If there is only one player left to talk, it is meaningless to ask for his action, unless he something to call. 2006-08-16 Cedric Pinson <cpinson@freesheep.org> * gentoo/dev-games/poker-engine/poker-engine-1.0.14-r1.ebuild, gentoo/dev-games/poker-engine/poker-engine-1.0.16-r1.ebuild: add ebuild for version 1.0.16 2006-08-14 loic <loic@gnu.org> * ChangeLog: *** empty log message *** * tests/test-game.py.in: In test bet to pot, remove useless / impossible tests of bets handled as dead blinds. """ Test Poker Game : Allin with dead blind and lost to the winner although the winner has less money """ """ Test Poker Game : dead blind + a player has uncalled bet and is not the winner. """ * tests/bugs.py.in: Bugs integrated to test-game.py.in * pokerengine/pokergame.py: Dead blinds are not counted as a player contribution to the pot. As a consequence, the dead blinds are awarded to the winner(s) of the first / main pot. money2bet and bet2pot take an additional argument (dead_money) that clarifies the handling of the dead blinds. 2006-08-14 izidor79 <izidor79@letrigre> * pokerengine/pokergame.py: changed max bet to sys.maxin instead of 10000000 2006-08-14 Loic Dachary <loic@dachary.org> * tests/test-game.py.in: In test bet to pot, remove useless / impossible tests of bets handled as dead blinds. """ Test Poker Game : Allin with dead blind and lost to the winner although the winner has less money """ """ Test Poker Game : dead blind + a player has uncalled bet and is not the winner. """ * tests/bugs.py.in: Bugs integrated to test-game.py.in * pokerengine/pokergame.py: Dead blinds are not counted as a player contribution to the pot. As a consequence, the dead blinds are awarded to the winner(s) of the first / main pot. money2bet and bet2pot take an additional argument (dead_money) that clarifies the handling of the dead blinds. 2006-08-14 izidor79 <izidor79@allin> * pokerengine/pokergame.py: changed max bet to sys.maxin instead of 10000000 2006-08-08 proppy <proppy@allin> * pokerengine/pokergame.py: test fix uncalled bug 2006-08-03 proppy <proppy@allin> * pokerengine/pokergame.py: reverted * pokerengine/pokergame.py: added winner.dead to self.uncalled to compare against side_pot[winner] 2006-08-02 proppy <proppy@allin> * tests/bugs.py.in: removed log * tests/bugs.py.in: better values * tests/bugs.py.in: simpler test * tests/bugs.py.in: TestBug -> TestBugUncalled * configure.ac, tests/Makefile.am: added bugs.py * tests/bugs.py.in: added bugs.py for bug entry 2006-07-25 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py: Distribute all the rake. 2006-07-24 Loic Dachary <loic@dachary.org> * debian/rules: call autotools with proper version 2006-07-23 Loic Dachary <loic@dachary.org> * debian/control.breezy, debian/control.hoary: fix xslt depends for hoary / breezy 2006-07-21 Loic Dachary <loic@dachary.org> * debian/rules: dy_python is mandatory * debian/python-poker-engine.postinst: pycentral work must be done before pokerconfigupgrade can be called * debian/control: Add XB-Python-Version although supposed to be for binary only (says http://wiki.debian.org/DebianPython/NewPolicy) * debian/control: explicit list * debian/control: poker-engine-common once existed * configure.ac: define pkgsysconfdir * poker-engine.pc.in: pkgsysconfdir * tests/tournament.py.in: use predefined decks to speed up tournament resolution and avoid random behaviour * ChangeLog: *** empty log message *** * tests/allin.py.in, tests/blinds.py.in, tests/buyin.py.in, tests/chips.py.in, tests/deal.py.in, tests/eval.py.in, tests/history.py.in, tests/run.in, tests/sit.py.in, tests/test-game.py.in, tests/test-gamehistory.py.in, tests/test-pokercards.py.in, tests/test-pokerchips.py.in, tests/test-pokerengineconfig.py.in, tests/test-pokerplayer.py.in, tests/test-pokerrake.py.in, tests/test-pokertournament.py.in, tests/test-version.py.in, tests/tournament.py.in, tests/upgrades.py.in: exit status reflect tests results * tests/positions.py.in: use pre-defined decks to avoid random results in some specific cases * debian/rules: specific name * tests/allin.py.in, tests/blinds.py.in, tests/buyin.py.in, tests/chips.py.in, tests/deal.py.in, tests/eval.py.in, tests/history.py.in, tests/muck.py.in, tests/positions.py.in, tests/run.in, tests/sit.py.in, tests/test-game.py.in, tests/test-gamehistory.py.in, tests/test-pokercards.py.in, tests/test-pokerchips.py.in, tests/test-pokerengineconfig.py.in, tests/test-pokerplayer.py.in, tests/test-pokerrake.py.in, tests/test-pokertournament.py.in, tests/test-version.py.in, tests/tournament.py.in, tests/upgrades.py.in: use non common name for verbose * tests/test-pokerrake.py.in: get from srcdir * tests/Makefile.am: pokerrake.py * pokerengine/pokerengineconfig.py: stringify * debian/control.unstable, debian/rules, debian/control, debian/control.breezy, debian/control.dapper, debian/control.hoary, debian/control.sarge: fix python depends * tests/run.in: test verbosity * Makefile.am: uninstall conf files * ChangeLog: *** empty log message *** * Makefile.am: specific python m4 files are no longer needed * debian/rules: create config dir if needed (because there is no longer custom files in this directory it may be omited by checkout) * ChangeLog, NEWS, debian/python-poker-engine.install, debian/rules.mk: rake implementation * tests/allin.py.in, tests/blinds.py.in, tests/buyin.py.in, tests/chips.py.in, tests/deal.py.in, tests/eval.py.in, tests/history.py.in, tests/muck.py.in, tests/positions.py.in, tests/sit.py.in, tests/test-data/pokerrake.py, tests/test-game.py.in, tests/test-gamehistory.py.in, tests/test-pokercards.py.in, tests/test-pokerchips.py.in, tests/test-pokerengineconfig.py.in, tests/test-pokerplayer.py.in, tests/test-pokertournament.py.in, tests/test-version.py.in, tests/tournament.py.in, tests/upgrades.py.in: control verbosity and individual launching * tests/test-pokerrake.py.in: Poker rake engine. * tests/run.in: Control test verbosity. Only report 100% coverage if default verbosity (i.e. max verbosity) is set. * tests/Makefile.am: Add pokerrake.py, export top_srcdir for tests and kill tests leftovers * debian/rules: Rely on cdbs alone instead of complex rewrite depending on python versions. * pokerengine/version.py: Verbosity control. * pokerengine/pokertournament.py: Sort entries + add pokerrake.py * pokerengine/pokerrake.py: Rake engine. * pokerengine/pokergame.py: Copyright fixes. Set and update uncalled amount and serial field to avoid complex guessing. Implement rake. Allow for negative verbosity. Add last round field to side pots structure. * pokerengine/pokerengineconfig.py: Allow for negative verbosity. * pokerengine/pokerchips.py, pokerengine/pokercards.py: Copyright fixes. * pokerengine/Makefile.am: Sort entries + add pokerrake.py * examples/simple.py: Fix path to run from top level source dir. Buy in is in cent. * debian/python-poker-engine.postrm, debian/python-poker-engine.preinst, debian/python-poker-engine.postinst, debian/python-poker-engine.dirs: Remove python version tweaks. * debian/pycompat: pycentral * debian/control.unstable, debian/control.sarge, debian/control.hoary, debian/control.dapper, debian/control.breezy: Remove python version tweaks * debian/control, pokerconfigupgrade.in, poker-engine.pc.in: Remove python version tweaks. * configure.ac: Remove python version tweaks. Depend on pypoker-eval 132. * Makefile.am: Remove python version tweaks. 2006-06-22 Loic Dachary <loic@dachary.org> * Makefile.am, ChangeLog: no arch .pc * Makefile.am (pkgconfigdir): in /usr/share instead of /usr/lib because the package is no-arch Mon Jun 12 2006 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py (PokerGame.endState): set current_round to -2 Most of the time this is done by muckState. But when in heads up with one player having less money than the blind in a tournament, state transition goes directly from blindState to endState. Tue May 23 2006 Loic Dachary <loic@dachary.org> * tests/test-*.py.in: reach 100% coverage * pokerengine/pokertournament.py (PokerTournament.endTurn): factorize redundant code * pokerengine/poker{game,cards,chips}.py: #pragma no cover for a few lines that can't be tested Sun May 14 2006 Loic Dachary <loic@dachary.org> * Release 1.0.15 * tests/test-*.py.in: many more unit tests * pokerengine/pokercards.py (PokerCards.setVisible): don't alter NOCARD * pokerengine/pokercards.py (PokerCards.hasCard): fix to work with no cards also Fri May 12 2006 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py (PokerGame.playersInPotCount): last_round was always 'total' because this index was added after playersInPotCount implementation. Thu May 11 2006 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py (PokerGame.historyReduce): index for sitOut & wait_blind is incorrect Sat May 06 2006 Loic Dachary <loic@dachary.org> * test/test-*.py.in: more coverage tests (95%) Wed May 03 2006 Loic Dachary <loic@dachary.org> * pokerengine/pokergame.py (PokerGame.setSeats): player seat set to -1 if an error occurs (PokerGame.cancelState): use GAME_STATE_END macro (PokerGame.waitBigBlind): return if no blind data (PokerGame.blind): return if no blind data (PokerGame.ante): return if no blind data (PokerGame.ante): set amount if amount from info is undefined (PokerGame.disconnectedCount): wrong method name fixed * pokerengine/pokergame.py (__historyResolve2messages): kill the unused card2string method. Tue May 02 2006 Loic Dachary <loic@gnu.org> * conf/*.template: add bet/type Wed Apr 26 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokerchips.py (PokerChips.convert): if converting from an int and there is a remainder, don't lose it * pokerengine/pokergame.py (PokerGame.money2bet): remove redundant test Mon Apr 24 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.readableHandValueLong): royal flush tests fix * pokerengine/pokergame.py (PokerGame.possibleActions): return [] instead of False * pokerengine/pokertournament.py (PokerTournament.__init__): init bug fixes * pokerengine/pokertournament.py (PokerTournament.createGames): ok if the tournament players don't divide into an exact number of tables * pokerengine/pokerchips.py (PokerChips.tolist): impossible case raises warning * give up python2.2 support Wed Apr 19 2006 Loic Dachary <loic@gnu.org> * Release 1.0.14 * pokerengine/pokerchips.py (PokerChips.__ne__): use isinstance * tests/run.in: tests run individually by make check instead of grouped into a single execution (exhibits errors) Mon Apr 17 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokercards.py (letter2names): try & deuce (Christopher Stone <chris.stone@gmail.com>) Sat Apr 08 2006 Loic Dachary <loic@gnu.org> * tests/coverage.py: add coverage code from http://nedbatchelder.com/code/modules/coverage.html * tests/tests-*.py.in: 35% unit test coverage * tests/conf/unittest*.xml, upgrade/*.xsl: helpers for unit tests * tests/run.in: run all tests and measure coverage (including non-regression tests). Fri Apr 07 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.setDealer): don't modify position if an error occured. (PokerGame.noAutoPlayer): auto = False (instead of True !) * pokerengine/pokergame.py (PokerGame.addPlayer): add loads of sanity checks and error reports * pokerengine/pokergame.py (PokerGame.setPosition): don't modify position if an error occured. * pokerengine/pokergame.py (PokerGame.resetSeatsLeft): If the number of player is invalid the seats_left is reset. * pokerengine/pokergame.py (PokerGame.setMaxPlayers): The number max of player is now check and if it is invalid the error is traced and the number is set to 0. * pokerengine/pokergame.py (PokerPlayer.__str__): missing muck Wed Apr 05 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.setVariant): copy the info dict in backup instead of keeping a reference * pokerengine/pokergame.py (PokerGame.setVariant): use .path not .url Sat Apr 01 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokerengineconfig.py (Config.save): don't print none self.path * pokerengine/pokerengineconfig.py (Config.checkVersion): test upgrades_repository * pokerengine/pokercards.py (PokerCards.__eq__): test argument type Thu Mar 30 2006 Loic Dachary <loic@gnu.org> * tests/test-version.py.in: unit test for pokerengine/version.py * tests/history.py.in (TestHistory.test1): fix history test Wed Mar 22 2006 Loic Dachary <loic@gnu.org> * Release 1.0.13 * Makefile.am (buildconf): fix bugous limit structure Sun Mar 12 2006 Loic Dachary <loic@gnu.org> * Release 1.0.12 * configure.ac: accept python2.2, abort if rsync missing * pokerconfigupgrade.in: use string.find for python2.2 compatibility * pokerengine/poker{chips,game,tournament}.py, tests/chips.py.in: define sum function for python2.2 * pokerengine/pokergame.py: define uniq function and otherwise avoid usage of fromkeys dictionary method * pokerengine/pokergame.py(serialsAllSorted): sort keys to avoid hash key algorithm dependency (may ruin non regression tests) * tests/deal.py.in: do not rely on assertEqual with single argument (does not work in python2.2) * tests/tournament.py.in: fix equalizeGames output results to take advantage of sorted results. Mon Feb 27 2006 proppy <johan@mekensleep.com> * pokerengine/pokergame.py (PokerGameClient): removed skin_level Fri Feb 10 2006 Loic Dachary <loic@gnu.org> * pokerengine/version.py (Version.__{sub,add}__): arithmetic on versions Wed Jan 20 2006 Benoit Treins * conf/*: removed showdown round from variants * pokerengine/tests/muck.py.in: created * pokerengine/pokergame.py: added muck logic Wed Jan 19 2006 Benoit Treins * pokerengine/pokergame.py: changed first test in call check fold raise functions (may raise error message) Tue Jan 03 2006 Loic Dachary <loic@gnu.org> * tests/upgrades.py.in: fix PYTHONPATH bug that gave precedence to the installed version instead of the version from the source tree Mon Jan 02 2006 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.setBettingStructure): by default and if negative, round cap is set to maxint (PokerGame.betLimits): if minimum bet is "big" instead of a number, set the minimum bet to the big blind. Thu Nov 24 2005 Loic Dachary <loic@gnu.org> * Release 1.0.11 * pokerengine/pokertournament.py (PokerTournament.__init__): default is fixed payout tables * conf/poker.payouts.xml: fixed payout tables * tests/tournament.py.in (TestPrizes.test1): test fixed payout structure Wed Nov 23 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokertournament.py (PokerTournament.endTurn): attempt to balance tables when a player is eliminated OR a table does not have enough players * pokerengine/pokertournament.py (PokerTournament.balanceGames): remember that a need to move players was not satisfied * pokerengine/pokertournament.py (equalizeCompute): separate function for computing games in need of equalization Tue Nov 22 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.setBettingStructure): set best_buy_in and default values for buy-in and max-buy-in Wed Oct 26 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (__historyResolve2messages, history2messages): convert cents amounts for display Tue Oct 18 2005 Loic Dachary <loic@gnu.org> * Release 1.0.10 * pokerengine/pokerchips.py: s/tokens/chips/ * pokerengine/pokerchips.py (PokerChips.int2chips): if the amount is a multiple of a given chip, stick to it Mon Oct 17 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokertournament.py (PokerTournament.movePlayer): also transfert user data. * pokerengine/pokerchips.py (PokerChips.tostring): convert to string representing the decimal amount (PokerChips.tofloat): convert to the float representing the decimal amount instead of the cents amount * pokerengine/pokerchips.py: the remainder field contains the rest of the chip stack. If the chips values do not include a chip of value 1, the amount that is lower than the smallest chip is stored in the remainder field. * pokerengine/pokerchips.py (PokerChips.tolist): convert to standalone list * conf/poker.*.xml: all amounts expressed in cents or 1/100 * pokerengine/pokergame.py (PokerGame.__init__): self.unit : smallest chip value fitting with the betting structure pokerengine/pokergame.py (PokerGame.getChipUnit): * Makefile.am (all-local): run upgrades if conf directory is writeable (that is, not when doing a distcheck) * pokerengine/pokergame.py (PokerGame.moneyMap): convenience function replacing chipsMap * pokerengine/pokergame.py: amounts are no longer stored in chips but in cents Fri Oct 14 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerPlayer.getUserData): user_data field defined for the caller to store per-player data Thu Oct 13 2005 Loic Dachary <loic@gnu.org> * pokerconfigupgrade.in: do not prepend path components that are already present in sys.path. Prevents giving priority to standard path over PYTHONPATH. Fri Sep 30 2005 Loic Dachary <loic@gnu.org> * Release 1.0.9 * pokerengine/pokergame.py (PokerGame.buildPlayerList): exclude players with wait_for = "first_round". This is only meaningful when set before starting the game and allows the caller to exclude players for the next game while allowing it to join the game after the next game. * pokerengine/pokergame.py (PokerGame.playersBeginTurn): do not reset wait_for if "first_round". It may be used to exclude players from the blind/ante round and will be reset to False when the blind/ante round is over. * pokerengine/pokergame.py (PokerGame.initRound): s/sitPlayersWait/acceptPlayersWait/ Thu Sep 29 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.updateBlinds): change wait_for "late" to False when forbiding missed blind. * tests/blinds.py.in (TestBlinds.test0): Two players came in and are waiting for the late blind because they attempted to enter either on the small blind or the dealer position. Fake this situation instead of playing hands that will lead to the same because it introduces an complexity that is not necessary. This case can happen indeed although very rarely. * pokerengine/pokergame.py (PokerPlayer.isMissedBlind): return false if "n/a" * poker-engine/conf/*no-limit*: minimum bet does not vary Sat Sep 24 2005 Loic Dachary <loic@gnu.org> * Release 1.0.8 * pokerconfigupgrade.in: add python installation directory in python path Wed Sep 21 2005 Loic Dachary <loic@gnu.org> * bootstrap: do not run autoheader * pokerclient2d/*.c: add getopt Fri Aug 26 2005 Loic Dachary <loic@gnu.org> * Release 1.0.7 * pokerengine/pokerengineconfig.py (Config.upgrade): ignore missing upgrade repository, as if it was empty, instead of crashing. Tue Aug 16 2005 Loic Dachary <loic@gnu.org> * Release 1.0.6 * debian/python2.3-poker-engine.postinst: run pokerconfigupgrade after installation. * pokerconfigupgrade.8.in: new * pokerconfigupgrade.in: command line utility to upgrade configuration files Mon Aug 15 2005 Loic Dachary <loic@gnu.org> * upgrades: repository of XSL sheets upgrading confgiruation files * tests/upgrades.py.in: apply all upgrades from the 1.0.5 files stored in tests/conf * tests/conf: 1.0.5 configuration files from which upgrades can be applied. * pokerengine/pokerengineconfig.py (Config.upgrade): XSL based upgrade system starting from version 1.0.5 and up. * pokerengine/version.py.in: version class for comparison and upgrade matrix helper * tests/*.py -> test/*.py.in: allow builds/tests in directory separated from tests. Wed Aug 03 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.is{Ante,Blind}Requested): predicate on the blind / ante status of a given player Wed Aug 03 2005 Loic Dachary <loic@gnu.org> * Release 1.0.5 * pokerengine/pokergame.py (PokerGame.getLatestPotContributions): helper function added. * pokerengine/pokergame.py (PokerGame.updatePots): compute total pot contributions. * pokerengine/pokergame.py (PokerGame.distributeMoney): compute total serial2share that replaces winner2share and serial2delta for each player (net win/loss). Sat Jul 16 2005 Loic Dachary <loic@gnu.org> * debian/control (Section): s/libs/python/ in sections. Wed Jul 13 2005 Loic Dachary <loic@gnu.org> * Release 1.0.4 * pokerengine/pokergame.py (PokerGame.sitOut): do not set the dealer seat if less than two players sit. * pokerengine/pokergame.py (PokerGame.sit): set first_turn to True if less than two players. Tue Jul 05 2005 Loic Dachary <loic@gnu.org> * Release 1.0.3 * tests/sit.py: sitin/sitout tests * pokerengine/pokergame.py (PokerGame.sitPlayersWaitingForFirstRound): if a player sits while others are paying the blinds, he must not be included in the player list. Tue Jun 28 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.isGameEndInformationValid): can the showdown of the previous game be displayed Fri Jun 24 2005 Loic Dachary <loic@gnu.org> * Release 1.0.2 * pokerengine/pokergame.py (PokerGame.callNraise): split self.bet call to avoid autoplayer infinite recursion Fri Jun 24 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.sitOutNextTurn): sit_request and for client usage, allow client to update sit_out_next_hand in advance. Wed Jun 15 2005 Loic Dachary <loic@gnu.org> * Release 1.0.1 Thu May 05 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokertournament.py: tournament logic imported from former tournament client * tests/tournament.py: new tournament logic non regression tests * tests/blinds.py: new blind logic non regression tests Wed May 04 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.payBuyIn): do not set the buy in flag if the amount is less than the minimum. This check should also be done by the application and is added as a safeguard. * pokerengine/pokergame.py (PokerGame.sitOut): reset dealer sit if only one player in game. * pokerengine/pokergame.py (PokerGame.sit): refuse to sit if buy in is not yet payed. Tue May 03 2005 Loic Dachary <loic@gnu.org> * pokerengine/pokergame.py (PokerGame.isBroke): return False if the serial does not exist. The rationale being that a player not participating in the game cannot be broke. Allows for simpler tests from the application, avoiding a check to make sure the player is indeed seated at the table. Thu Apr 28 2005 Loic Dachary <loic@gnu.org> * Release 1.0.0