Files
pokerth/src/game_defs.h
T

126 lines
3.4 KiB
C

/***************************************************************************
* Copyright (C) 2006 by FThauer FHammer *
* f.thauer@web.de *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef GAME_DEFS_H
#define GAME_DEFS_H
#define MIN_NUMBER_OF_PLAYERS 2
#define MAX_NUMBER_OF_PLAYERS 7
#define MIN_GUI_SPEED 1
#define MAX_GUI_SPEED 11
#define DEBUG_MODE 0
#define POKERTH_VERSION_MAJOR 0
#define POKERTH_VERSION_MINOR 62
#define POKERTH_VERSION ((POKERTH_VERSION_MAJOR << 8) | POKERTH_VERSION_MINOR)
#define POKERTH_BETA_REVISION 0
#define POKERTH_BETA_RELEASE_STRING "0.6.3"
enum ServerNetworkMode {
NETWORK_MODE_TCP = 1,
NETWORK_MODE_SCTP = 2,
NETWORK_MODE_TCP_SCTP = 3};
enum GameState {
GAME_STATE_PREFLOP = 0,
GAME_STATE_FLOP,
GAME_STATE_TURN,
GAME_STATE_RIVER,
GAME_STATE_POST_RIVER,
GAME_STATE_PREFLOP_SMALL_BLIND = 0xF0,
GAME_STATE_PREFLOP_BIG_BLIND = 0xF1 };
enum PlayerAction {
PLAYER_ACTION_NONE = 0,
PLAYER_ACTION_FOLD,
PLAYER_ACTION_CHECK,
PLAYER_ACTION_CALL,
PLAYER_ACTION_BET,
PLAYER_ACTION_RAISE,
PLAYER_ACTION_ALLIN };
enum PlayerActionCode
{
ACTION_CODE_VALID = 0,
ACTION_CODE_INVALID_STATE,
ACTION_CODE_NOT_YOUR_TURN,
ACTION_CODE_NOT_ALLOWED
};
enum DenyKickPlayerReason
{
KICK_DENIED_INVALID_STATE = 0,
KICK_DENIED_TOO_FEW_PLAYERS,
KICK_DENIED_TEMPORARY,
KICK_DENIED_OTHER_IN_PROGRESS,
KICK_DENIED_INVALID_PLAYER_ID,
KICK_DENIED_OTHER_REASON
};
enum KickVote
{
KICK_VOTE_AGAINST = 0,
KICK_VOTE_IN_FAVOUR
};
enum DenyVoteReason
{
VOTE_DENIED_INVALID_PETITION = 0,
VOTE_DENIED_ALREADY_VOTED,
VOTE_DENIED_IMPOSSIBLE,
VOTE_DENIED_OTHER_REASON
};
enum EndPetitionReason
{
PETITION_END_ENOUGH_VOTES = 0,
PETITION_END_NOT_ENOUGH_PLAYERS,
PETITION_END_PLAYER_LEFT,
PETITION_END_TIMEOUT
};
enum Button {
BUTTON_NONE = 0,
BUTTON_DEALER,
BUTTON_SMALL_BLIND,
BUTTON_BIG_BLIND };
enum NetTimeoutReason {
NETWORK_TIMEOUT_GENERIC = 0,
NETWORK_TIMEOUT_GAME_ADMIN_IDLE
};
struct ServerStats
{
ServerStats()
: numberOfPlayersOnServer(0), numberOfGamesOpen(0), totalPlayersEverLoggedIn(0),
totalGamesEverCreated(0), maxGamesOpen(0), maxPlayersLoggedIn(0) {}
unsigned numberOfPlayersOnServer;
unsigned numberOfGamesOpen;
unsigned totalPlayersEverLoggedIn;
unsigned totalGamesEverCreated;
unsigned maxGamesOpen;
unsigned maxPlayersLoggedIn;
};
#endif