You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
5.3 KiB
212 lines
5.3 KiB
/* $Id: basic.h,v 1.35 2006/08/13 21:26:50 stpohle Exp $ */
|
|
/* basic types which we need everywhere */
|
|
|
|
#ifndef _BC_BASIC_H_
|
|
|
|
#define _BC_BASIC_H_
|
|
|
|
#define GAME_SPECIAL_ITEMBOMB 20
|
|
#define GAME_SPECIAL_ITEMFIRE 20
|
|
#define GAME_SPECIAL_ITEMSHOE 20
|
|
#define GAME_SPECIAL_ITEMDEATH 40
|
|
#define GAME_SPECIAL_ITEMMIXED 20
|
|
#define GAME_SPECIAL_ITEMSTRIGGER 3
|
|
#define GAME_SPECIAL_ITEMSROW 3
|
|
#define GAME_SPECIAL_ITEMSPUSH 3
|
|
#define GAME_SPECIAL_ITEMSKICK 3
|
|
#define GAME_MAX_TUNNELS 4 // number of tunnel entrys
|
|
#define GAME_TIMEOUT 600.0 // game timeout 10min)
|
|
#define GAME_OVERTIMEOUT 5.0 // second of remaining the last player
|
|
#define GAME_TUNNEL_TO 0.5 // wait 0.5 seconds
|
|
#define HURRYWARN_TO_BLINKING 0.10
|
|
|
|
#define EXPLOSION_SAVE_DISTANCE 0.25
|
|
#define EXPLOSION_GROW_SPEED 0.75f
|
|
#define SPECIAL_TRIGGER_TIMEOUT 15
|
|
#define SPECIAL_TRIGGER_NUMUSE 5 // 0=unlimited
|
|
#define SPECIAL_TRIGGER_TIME 25
|
|
#define SPECIAL_ROW_TIME 30
|
|
#define SPECIAL_PUSH_TIME 50
|
|
#define SPECIAL_KICK_TIME 30
|
|
#define SPECIAL_KICK_MAXDIST 8 // maximum distance allowed
|
|
|
|
#define START_BOMBS 1
|
|
#define START_RANGE 2
|
|
#define START_SPEED 0.07
|
|
#define SPEEDMUL 1.2
|
|
|
|
#define MAX_PLAYERS 16
|
|
#define MAX_TEAMS 4
|
|
#define MAX_BOMBS 12
|
|
#define MAX_RANGE 10
|
|
#define MAX_SPEED 0.4
|
|
#define MAX_STONESTODRAW 2048
|
|
#define MAX_SERVERENTRYS 8 /* number of entrys in the server tab */
|
|
#define MAX_GAMESRVENTRYS 255 /* number of entry which can be get */
|
|
#define MAX_FIELDSIZE_X 51
|
|
#define MAX_FIELDSIZE_Y 31
|
|
#define MIN_FIELDSIZE_X 15
|
|
#define MIN_FIELDSIZE_Y 9
|
|
#define MAX_FIELDANIMATION 2048 /* number of points on the field to be animated exploding
|
|
stoned or powerups */
|
|
|
|
#define EXPLOSIONTIMEOUT 0.5
|
|
#define ANI_FIRETIMEOUT 2
|
|
#define ANI_BOMBTIMEOUT 1
|
|
#define ANI_PLAYERTIMEOUT 0.66
|
|
#define ANI_PLAYERILLTIMEOUT 1.0
|
|
|
|
#define BOMB_TIMEOUT 4.0
|
|
#define ILL_TIMEOUT 20
|
|
#define ILL_SLOWSPEED 0.03
|
|
#define ILL_FASTSPEED 0.5
|
|
|
|
#define LEN_PLAYERNAME 16
|
|
#define LEN_SERVERNAME 41
|
|
#define LEN_PORT 6
|
|
#define LEN_GAMENAME 32
|
|
#define LEN_PATHFILENAME 512
|
|
#define LEN_FILENAME 64
|
|
#define LEN_TILESETNAME 32
|
|
#define LEN_CHARENTRY 256
|
|
#define LEN_PASSWORD 16
|
|
#define LEN_VERSION 20
|
|
|
|
#define DEFAULT_UDPPORT 11000
|
|
#define DEFAULT_GAMECACHEPORT "11111"
|
|
#define DEFAULT_GAMECACHE "x.yz.to:11111"
|
|
#define GAMESRV_TIMEOUT 2000 /* Timeout of the GameSrv_GetEntry */
|
|
|
|
#define UDP_TIMEOUT 15000
|
|
#define BUF_SIZE 1024
|
|
|
|
#define AUTOSTART 20 /* server autostart */
|
|
|
|
#define MW_IS_GFX_SELECT(__gfx_nr,__result) for (__result = (MAX_PLAYERS-1); (__result >= 0) && (players[__result].gfx_nr != __gfx_nr); __result--);
|
|
|
|
#define CUTINT(__x) (__x-floorf(__x)) // cut the integer part off
|
|
#define postofield(__x) ((int)(rintf(__x))) // position to int with rounding
|
|
|
|
#define UINT16_HALF 32767
|
|
|
|
#include <SDL.h>
|
|
|
|
enum _backgound { // to load some diffrent logos..
|
|
BG_start = 0,
|
|
BG_net,
|
|
BG_conf
|
|
};
|
|
|
|
|
|
enum _gametype {
|
|
GT_bomberman = 0,
|
|
GT_deathmatch,
|
|
GT_team
|
|
};
|
|
|
|
|
|
enum _gamestate {
|
|
GS_startup = 0,
|
|
GS_quit,
|
|
GS_wait, // waiting for players to join
|
|
GS_update,
|
|
GS_ready,
|
|
GS_running
|
|
};
|
|
|
|
|
|
enum _maptype {
|
|
MAPT_random = -1, // random map
|
|
MAPT_normal = 0, // a normal map
|
|
MAPT_tunnel, // a map with tunnels
|
|
|
|
MAPT_max
|
|
};
|
|
|
|
|
|
enum _fieldtype {
|
|
FT_nothing = 0, // Nothing in here
|
|
FT_stone, // Stones you can bomb away
|
|
FT_block, // Stones which can't bomb away
|
|
FT_tunnel, // the tunnel item
|
|
FT_death, // The bad Powerup
|
|
FT_fire, // The fire Powerup
|
|
FT_bomb, // The bomb Powerup
|
|
FT_shoe, // The shoe Powerup
|
|
FT_mixed, // The mixed Powerup
|
|
FT_sp_trigger, // The Triggered bomb Special
|
|
FT_sp_row, // The bomb-row special
|
|
FT_sp_push, // The push-boms special
|
|
FT_sp_moved, // The moved-boms special
|
|
FT_sp_liquid, // The liquid-bomb special
|
|
FT_sp_kick, // The kick-bomb special
|
|
FT_max // just to know how many types there are
|
|
};
|
|
|
|
|
|
extern const char *ft_filenames[]; // declared in tileset.c
|
|
|
|
enum _poweruptypes {
|
|
PWUP_good = 0,
|
|
PWUP_bad,
|
|
PWUP_special,
|
|
PWUP_max
|
|
};
|
|
|
|
|
|
enum _direction { // to handle directions better
|
|
left = 0,
|
|
right,
|
|
up,
|
|
down
|
|
};
|
|
|
|
enum _mapselection {
|
|
MAPS_select = 0,
|
|
MAPS_randmap,
|
|
MAPS_randgen,
|
|
MAPS_morerand
|
|
};
|
|
|
|
enum _mstatus {
|
|
MS_normal = 0,
|
|
MS_hurrywarn,
|
|
MS_hurry, // mapsize will go down
|
|
MS_dropitems, // alot of items will be droppen randomly into the game
|
|
|
|
MS_max
|
|
};
|
|
|
|
enum _help_page {
|
|
HP_howto0 = 0,
|
|
HP_powerup0,
|
|
HP_powerup1,
|
|
HP_powerup2,
|
|
HP_keyboard0,
|
|
HP_credit0,
|
|
HP_credit1,
|
|
HP_max
|
|
};
|
|
|
|
|
|
struct {
|
|
Sint16 x;
|
|
Sint16 y;
|
|
} __attribute__((packed)) typedef _point;
|
|
|
|
|
|
struct {
|
|
float x;
|
|
float y;
|
|
} typedef _pointf;
|
|
|
|
|
|
struct __charlist {
|
|
char text[LEN_CHARENTRY];
|
|
struct __charlist *next;
|
|
} typedef _charlist;
|
|
|
|
extern _point dir_change[];
|
|
|
|
#endif
|