parent
4efc85a655
commit
eb5693fb21
@ -1,22 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Created by Anjuta - will be overwritten
|
||||
## If you don't want it to overwrite it,
|
||||
## Please disable it in the Anjuta project configuration
|
||||
|
||||
bomberclone_includedir = $(pkgincludedir)
|
||||
|
||||
bomberclone_include_DATA = \
|
||||
basic.h \
|
||||
bomberclone.h \
|
||||
chat.h \
|
||||
font.h \
|
||||
gamesrv.h \
|
||||
gfx.h \
|
||||
keybinput.h \
|
||||
map.h \
|
||||
network.h \
|
||||
packets.h \
|
||||
sysfunc.h
|
||||
|
||||
EXTRA_DIST = $(bomberclone_include_DATA)
|
@ -1,245 +0,0 @@
|
||||
/* $Id: basic.h,v 1.2 2003/09/23 18:54:55 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 2
|
||||
#define GAME_MAX_TUNNELS 4 // number of tunnel entrys
|
||||
#define GAME_TIMEOUT 30000 // game timeout 10min)
|
||||
#define GAME_TIMEOUTHURRY 3000 // game timeout for hurry and dropping mode (1min)
|
||||
#define GAME_TUNNEL_TO 50 /* wait 5 game cycls before move and show
|
||||
player again */
|
||||
|
||||
#define EXPLOSION_SAVE_DISTANCE 64
|
||||
#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 START_BOMBS 1
|
||||
#define START_RANGE 2
|
||||
#define START_SPEED 16
|
||||
#define SPEEDMUL 1.2
|
||||
|
||||
#define MAX_PLAYERS 8
|
||||
#define MAX_BOMBS 12
|
||||
#define MAX_RANGE 10
|
||||
#define MAX_SPEED 40
|
||||
#define MAX_BLITRECTS 4096
|
||||
#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 20
|
||||
#define ANI_FIRETIMEOUT 2
|
||||
#define ANI_BOMBTIMEOUT 1
|
||||
#define ANI_PLAYERTIMEOUT 1
|
||||
#define ANI_PLAYERILLTIMEOUT 1
|
||||
#define ANI_STONETIMEOUT 5
|
||||
|
||||
#define TIME_FACTOR 50
|
||||
#define BOMB_TIMEOUT 5
|
||||
#define IL_TIMEOUT 20
|
||||
|
||||
#define LEN_PLAYERNAME 10
|
||||
#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 DEFAULT_UDPPORT 11000
|
||||
#define DEFAULT_GMUDPPORT "11100"
|
||||
#define DEFAULT_GAMEMASTER "x.yz.to:11100"
|
||||
#define GAMESRV_TIMEOUT 2000 /* Timeout of the GameSrv_GetEntry */
|
||||
|
||||
#define UDP_TIMEOUT 15000
|
||||
#define BUF_SIZE 1024
|
||||
|
||||
#define MENU_BG_SHADE_DARK -64
|
||||
#define MENU_BG_SHADE_BRIGHT 64
|
||||
|
||||
#define MW_IS_GFX_SELECT(__gfx_nr,__result) for (__result = (MAX_PLAYERS-1); (bman.players[__result].gfx_nr != __gfx_nr) && (__result >= 0); __result--);
|
||||
|
||||
#include <SDL.h>
|
||||
|
||||
enum _networkflags {
|
||||
NETF_firewall = 1
|
||||
};
|
||||
|
||||
|
||||
enum _backgound { // to load some diffrent logos..
|
||||
BG_start = 0,
|
||||
BG_net,
|
||||
BG_conf
|
||||
};
|
||||
|
||||
|
||||
enum _gametype {
|
||||
GT_single = 0,
|
||||
GT_multi
|
||||
};
|
||||
|
||||
|
||||
enum _multitype {
|
||||
MT_ptpm, // udp ptp master
|
||||
MT_ptps // udp ptp client
|
||||
};
|
||||
|
||||
|
||||
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_max // just to know how many types there are
|
||||
};
|
||||
|
||||
|
||||
enum _poweruptypes {
|
||||
PWUP_good = 0,
|
||||
PWUP_bad,
|
||||
PWUP_special,
|
||||
PWUP_max
|
||||
};
|
||||
|
||||
|
||||
enum _specials {
|
||||
SP_nothing=0, // player has no special
|
||||
SP_trigger, // triggered bomb
|
||||
SP_row, // bomb row
|
||||
SP_push, // push bombs
|
||||
SP_moved, // moved bombs
|
||||
SP_liquid, // liquid bombs
|
||||
|
||||
SP_max // just to know how many types there are
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum _playerillnestype {
|
||||
PI_keys = 0, // switch keys
|
||||
PI_range, // set exploding range to 1
|
||||
PI_slow, // sets speed to 6
|
||||
PI_fast, // sets speed to 150
|
||||
PI_bomb, // player is dropping bombs permanently
|
||||
PI_nobomb, // player cannot drop a bomb or only 1 bomb
|
||||
|
||||
PI_max // just to know what is the last number
|
||||
};
|
||||
|
||||
|
||||
enum _bombstate {
|
||||
BS_off = 0,
|
||||
BS_ticking,
|
||||
BS_exploding,
|
||||
BS_trigger
|
||||
};
|
||||
|
||||
|
||||
enum _bombmode {
|
||||
BM_normal = 0,
|
||||
BM_pushed,
|
||||
BM_moving,
|
||||
BM_liquid,
|
||||
BM_kicked
|
||||
};
|
||||
|
||||
|
||||
enum _playerstateflags {
|
||||
PSF_used = 1, // Player Unused | Player Used
|
||||
PSF_net = 2, // Local Player | AI / Network Player
|
||||
PSF_alife = 4, // Player is Dead | Player is Alife
|
||||
PSF_playing = 8, // Watching Player | Playing Player -- as long as one don't delete
|
||||
};
|
||||
|
||||
#define PSFM_used (PSF_used + PSF_playing)
|
||||
#define PSFM_alife (PSF_used + PSF_alife + PSF_playing)
|
||||
#define PS_IS_dead(__ps) (((__ps) & (PSFM_alife)) == (PSFM_used))
|
||||
#define PS_IS_alife(__ps) (((__ps) & (PSFM_alife)) == (PSFM_alife))
|
||||
#define PS_IS_netplayer(__ps) (((__ps) & (PSF_net)) != 0)
|
||||
#define PS_IS_playing(__ps) (((__ps) & (PSFM_used)) == (PSFM_used))
|
||||
#define PS_IS_used(__ps) (((__ps) & (PSFM_used)) != 0)
|
||||
|
||||
enum _direction { // to handle directions better
|
||||
left = 0,
|
||||
right,
|
||||
up,
|
||||
down
|
||||
};
|
||||
|
||||
enum _dirbitmask { // bit mask for the directions
|
||||
DIRM_left = 1,
|
||||
DIRM_right = 2,
|
||||
DIRM_up = 4,
|
||||
DIRM_down = 8,
|
||||
DIRM_under = 16
|
||||
};
|
||||
|
||||
enum _mapselection {
|
||||
MAPS_select = 0,
|
||||
MAPS_randmap,
|
||||
MAPS_randgen
|
||||
};
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
struct {
|
||||
Sint16 x;
|
||||
Sint16 y;
|
||||
} typedef _point;
|
||||
|
||||
#endif
|
@ -1,295 +0,0 @@
|
||||
/* $Id: bomberclone.h,v 1.2 2003/09/23 18:54:55 stpohle Exp $ */
|
||||
/* bomberclone.h */
|
||||
|
||||
#ifndef _BOMBERCLONE_H_
|
||||
#define _BOMBERCLONE_H_
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
#include <time.h>
|
||||
#include <ctype.h>
|
||||
#include <sys/stat.h>
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#include <winsock.h>
|
||||
#include <sys/stat.h>
|
||||
#ifndef S_ISDIR
|
||||
#define S_ISDIR(a) ((a & _S_IFDIR) == _S_IFDIR)
|
||||
#endif
|
||||
#ifndef S_ISREG
|
||||
#define S_ISREG(a) ((a & _S_IFREG) == _S_IFREG)
|
||||
#endif
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netdb.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
#include <SDL.h>
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "basic.h"
|
||||
#include "map.h"
|
||||
#include "gfx.h"
|
||||
#include "font.h"
|
||||
#include "sound.h"
|
||||
#include "network.h"
|
||||
#include "sysfunc.h"
|
||||
#include "keybinput.h"
|
||||
|
||||
struct {
|
||||
int to; // if (to > 0) the ilness is still working
|
||||
int data;
|
||||
} typedef _playerilness;
|
||||
|
||||
|
||||
struct {
|
||||
_point pos; // lower byte = _X Higher Byte = FX
|
||||
int firer[4]; // range of the fire for the fire for each direction
|
||||
int firerst[4]; /* just save here where the direction was going to stop (-1)
|
||||
if the exp is still growing */
|
||||
int to; // timeout in ms after dropping the bomb. (loops * 0.0005sec)
|
||||
int frame; // frame of the animation
|
||||
int frameto; // timeout for the frame
|
||||
unsigned char r; // range of the bomb
|
||||
unsigned char state; // state of the bomb BS_*
|
||||
unsigned char mode; // mode of the bomb BM_*
|
||||
int ex_nr; // explosion number
|
||||
_point dest; // destination to move the bomb to
|
||||
int speed; // bomb moving speed
|
||||
|
||||
} typedef _bomb;
|
||||
|
||||
struct {
|
||||
int type; // type of the special
|
||||
int to; // timeout
|
||||
int numuse; // num of uses left
|
||||
int use; /* currently used set by special_use
|
||||
and deleted in special_loop */
|
||||
} typedef _special;
|
||||
|
||||
struct {
|
||||
_gfxplayer *gfx; // pointer to the gfx information
|
||||
int gfx_nr; // number of the player GFX
|
||||
|
||||
int frame; // step of the animation
|
||||
int frameto; // timeout for the animation
|
||||
|
||||
int illframe;
|
||||
int illframeto;
|
||||
|
||||
_point pos; /* position (without the offset)
|
||||
_x = pos.x & 255; fx = pos.x >> 8; */
|
||||
_point old; // the old position
|
||||
int tunnelto; /* timeout for dont show and move player
|
||||
needed on the tunnel effect */
|
||||
|
||||
signed char d; // direction
|
||||
signed char m; // player is moving ?
|
||||
signed char old_m; // to save the old state..
|
||||
|
||||
int bombs_n; // maximal number of bombs for the player
|
||||
int bomb_lastex; // number of the bomb which explode the last time
|
||||
_bomb bombs[MAX_BOMBS]; // number of bombs who are ticking.
|
||||
int range; // range of the bombs
|
||||
int speed; // how fast we can go (0 = slow, 1 = normal... 3 = fastest)
|
||||
int speeddat; // some data i need to do the speed thing
|
||||
_playerilness ill[PI_max]; // all possible types
|
||||
_special special; // special the player has
|
||||
|
||||
char name[LEN_PLAYERNAME]; // name oder name[0] == 0
|
||||
unsigned char state; // status of the player
|
||||
signed char in_nr; // number of the connected player entry
|
||||
|
||||
int points; // points
|
||||
int wins; // wins
|
||||
signed char dead_by; // player who killed this player
|
||||
|
||||
_net_player net; // holds all important network data
|
||||
} typedef _player;
|
||||
|
||||
|
||||
struct {
|
||||
char name[255];
|
||||
} typedef _serverlist;
|
||||
|
||||
|
||||
struct {
|
||||
char datapath[512];
|
||||
|
||||
_player players[MAX_PLAYERS];
|
||||
int p_nr; // Playernumber 0 if you host a game or the number of the one you are.
|
||||
|
||||
int last_ex_nr; // number of the last explosion
|
||||
int updatestatusbar; // 1 if statusbar has to be updated
|
||||
unsigned char gametype;
|
||||
unsigned char multitype;
|
||||
unsigned char state;
|
||||
int init_timeout; // gametimeout init value
|
||||
int timeout; // game timeout
|
||||
char playername[LEN_PLAYERNAME];
|
||||
int players_nr_s; // number of players at the beginning
|
||||
int players_nr; // number of player who are alife
|
||||
signed char lastwinner; // number of the last winnet
|
||||
|
||||
int maxplayer; // number of max players for the server
|
||||
|
||||
int sock; // the server socket
|
||||
unsigned char net_ai_family;
|
||||
char port[LEN_PORT]; // what port we're using
|
||||
char servername[LEN_SERVERNAME + LEN_PORT + 2]; // holds the name of the current server
|
||||
_serverlist serverlist[MAX_SERVERENTRYS]; // ** CONFIG name of the server we are connected to
|
||||
char gamename[LEN_GAMENAME]; // this will hold the game name
|
||||
char gamemaster[LEN_SERVERNAME + LEN_PORT + 2]; // ** CONFIG ... GameMaster Address
|
||||
unsigned char firewall;
|
||||
unsigned char notifygamemaster;
|
||||
unsigned char broadcasted_chat; // 1 if the chat should be send to the bc server
|
||||
unsigned char askplayername; // ask player for name at startup
|
||||
|
||||
unsigned char ai_players; // number of ai players
|
||||
signed char debug; // 0 = off 1 = on
|
||||
} typedef _bomberclone;
|
||||
|
||||
|
||||
struct {
|
||||
int index;
|
||||
char text[255];
|
||||
// int type; // could be visible / disabled / grayed ?? should avoid -2 trick
|
||||
} typedef _menu;
|
||||
|
||||
|
||||
struct {
|
||||
signed char dir;
|
||||
signed char bestdir;
|
||||
} typedef _airunaway;
|
||||
|
||||
|
||||
extern _bomberclone bman;
|
||||
extern Uint32 timestamp;
|
||||
extern int debug;
|
||||
|
||||
// Game routines..
|
||||
extern void game_draw_info ();
|
||||
extern void game_loop ();
|
||||
extern void game_end ();
|
||||
extern void game_start();
|
||||
extern void game_showresult ();
|
||||
|
||||
// everything is declared in field.c
|
||||
extern void draw_field ();
|
||||
extern void field_clear(int x, int y);
|
||||
extern void field_animation_add (int x, int y);
|
||||
extern void field_animation ();
|
||||
extern void field_loop ();
|
||||
extern void field_hurrysize ();
|
||||
extern void field_hurrydropitems ();
|
||||
extern int field_check_alldirs (int x, int y, int type);
|
||||
extern void draw_stone (int x, int y);
|
||||
extern void stonelist_add (int x, int y);
|
||||
extern void stonelist_del ();
|
||||
extern void stonelist_draw ();
|
||||
|
||||
// everything what is declared in players.c
|
||||
extern int dead_playerani ();
|
||||
extern void draw_player (_player * player);
|
||||
extern void restore_players_screen ();
|
||||
extern void move_player (int pl_nr);
|
||||
extern int stepmove_player (int pl_nr);
|
||||
extern void player_drop_bomb (int pl_nr);
|
||||
extern void get_player_on (short int x, short int y, int pl_nr[]);
|
||||
extern void player_died (_player * player, signed char dead_by);
|
||||
extern void draw_players ();
|
||||
extern void player_animation (_player * player);
|
||||
extern int check_field (short int x, short int y);
|
||||
extern void player_calcstep (_player * pl);
|
||||
extern void player_calcpos ();
|
||||
extern void player_set_ilness (_player *p, int t);
|
||||
extern void player_clear_ilness (_player *p, int type);
|
||||
extern void player_ilness_loop (int pl_nr);
|
||||
extern void player_check_powerup (int p_nr);
|
||||
extern void player_set_gfx (_player *p, signed char gfx_nr);
|
||||
extern int player_findfreebomb (_player *player);
|
||||
extern int player_checkpos (int x, int y);
|
||||
extern inline int postofield (int pos);
|
||||
|
||||
// for the bomb..
|
||||
extern int bomb_loop ();
|
||||
extern void bomb_explode (int p, int b, int net);
|
||||
extern inline void bomb_action (_bomb *bomb);
|
||||
extern void bomb_move (_bomb *bomb);
|
||||
extern void get_bomb_on (short int x, short int y, _point bombs[]);
|
||||
extern void draw_fire (int x, int y, int d, int frame);
|
||||
extern void do_explosion (int p, int b);
|
||||
extern void restore_explosion (_bomb * bomb);
|
||||
extern int explosion_check_field (int x, int y, int p, int b);
|
||||
|
||||
// menus
|
||||
extern void draw_select (int select, _menu menu[], int x, int y);
|
||||
extern int menu_loop (char *menutitle, _menu menu[], int lastselect);
|
||||
extern void draw_menu (char *text, _menu menu[], int *x, int *y);
|
||||
extern void menu_get_text (char *title, char *text, int len);
|
||||
extern void menu_displaymessage (char *title, char *text);
|
||||
extern void menu_displaytext (char *title, char *text, Uint8 r, Uint8 g, Uint8 b);
|
||||
extern char *menu_dir_select (char *title, char *path, signed char dirflags);
|
||||
void menu_clearkeybuff();
|
||||
void draw_menubox (int x, int y);
|
||||
|
||||
// configuration
|
||||
extern void configuration ();
|
||||
extern void game_init (int argc, char **argv);
|
||||
extern int ReadConfig();
|
||||
extern int WriteConfig();
|
||||
extern void ReadPrgArgs (int argc, char **argv);
|
||||
|
||||
// debug.c
|
||||
extern void d_in_pl_detail (char *head);
|
||||
extern void d_playerdetail (char *head);
|
||||
extern void d_gamedetail (char *head);
|
||||
extern void d_printf (char *fmt,...);
|
||||
extern void d_bitprint (int bits, int nr);
|
||||
extern void d_fatal (char *fmt,...);
|
||||
|
||||
|
||||
// single.c
|
||||
extern void single_game_new ();
|
||||
extern void single_create_ai (int players);
|
||||
extern void single_loop();
|
||||
extern void single_playergame ();
|
||||
extern void single_menu ();
|
||||
extern int single_select_player ();
|
||||
extern int ai_choosedir (int dir, int nearbomb, int oldpos);
|
||||
extern inline int ai_invertdir (int dir);
|
||||
extern inline int ai_checkpos (_player * pl, _point * pos);
|
||||
extern int ai_findnearbombs (_point pos);
|
||||
extern int ai_findbestbombdir (_point pos, int dir, int range);
|
||||
extern int ai_bombpoints (_point pos, int range);
|
||||
extern _airunaway ai_runawayfrom (_point p, int nearbomb, signed char norecursive);
|
||||
extern int ai_checkfield (int x, int y);
|
||||
extern int ai_easyrunaway (_point p);
|
||||
|
||||
|
||||
// special.c
|
||||
extern void special_use (int p_nr);
|
||||
extern void special_pickup (int p_nr, int s_type);
|
||||
extern void special_loop ();
|
||||
extern void special_clear (int p_nr);
|
||||
extern void special_push (int p_nr);
|
||||
extern void special_row (int p_nr);
|
||||
extern void special_trigger (int p_nr);
|
||||
extern void special_liquidmoved (int p_nr);
|
||||
|
||||
extern void tileset_load (char *tileset);
|
||||
extern void tileset_random ();
|
||||
extern void tileset_free ();
|
||||
|
||||
#endif
|
@ -1,35 +0,0 @@
|
||||
|
||||
#ifndef _CHAT_H_
|
||||
#define _CHAT_H_
|
||||
|
||||
#include "keybinput.h"
|
||||
|
||||
#define CHAT_MAX_LINES 255
|
||||
#define CHAT_BG_SHADE_DARK -64
|
||||
#define CHAT_BG_SHADE_BRIGHT 64
|
||||
|
||||
struct __chat {
|
||||
SDL_Rect window;
|
||||
signed char visible;
|
||||
signed char changed;
|
||||
SDL_Surface *oldscreen;
|
||||
short int startline;
|
||||
short int lastline;
|
||||
struct {
|
||||
char text[255];
|
||||
int status;
|
||||
} lines[CHAT_MAX_LINES];
|
||||
signed char lineschanged;
|
||||
_keybinput input;
|
||||
} typedef _chat;
|
||||
|
||||
extern _chat chat;
|
||||
|
||||
extern void chat_show (int x1, int y1, int x2, int y2);
|
||||
extern void chat_addline (char *text);
|
||||
extern void chat_addstatusline (char *text);
|
||||
extern void chat_loop (SDL_Event *event);
|
||||
extern void chat_drawbox ();
|
||||
extern void chat_cleanup ();
|
||||
|
||||
#endif
|
@ -1,23 +0,0 @@
|
||||
#ifndef _FONT_H_
|
||||
|
||||
#define _FONT_H_
|
||||
|
||||
#include "basic.h"
|
||||
|
||||
struct __font {
|
||||
SDL_Surface *image;
|
||||
SDL_Surface *raw;
|
||||
_point size;
|
||||
} typedef _font;
|
||||
|
||||
extern _point font_lastsize;
|
||||
extern _font font[3];
|
||||
|
||||
extern void font_setcolor (unsigned char r, unsigned char g, unsigned char b, int size);
|
||||
extern void font_draw (int x, int y, char *text, int size);
|
||||
extern void font_gfxdraw (int x, int y, char *text, int size, int ypos);
|
||||
extern void font_drawbold (int x, int y, char *text, int size, int bold);
|
||||
extern void font_load ();
|
||||
extern void font_free ();
|
||||
|
||||
#endif
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
include file for the gamesrv.c file
|
||||
*/
|
||||
|
||||
struct game_entry {
|
||||
char host[LEN_SERVERNAME];
|
||||
char port[LEN_PORT];
|
||||
char name[LEN_GAMENAME];
|
||||
struct _version {
|
||||
unsigned char major;
|
||||
unsigned char minor;
|
||||
unsigned char sub;
|
||||
} version;
|
||||
signed char curplayers;
|
||||
signed char maxplayers;
|
||||
signed char ai_family;
|
||||
unsigned char state;
|
||||
unsigned char multitype;
|
||||
unsigned char gametype;
|
||||
struct _user {
|
||||
char name[LEN_PLAYERNAME];
|
||||
short int points;
|
||||
short int wins;
|
||||
} players[MAX_PLAYERS];
|
||||
};
|
||||
|
||||
extern int gamesrv_findentry (char *host, char *port);
|
||||
extern int gamesrv_findfree ();
|
||||
extern int gamesrv_startudp ();
|
||||
extern int gamesrv_getglist ();
|
||||
extern void gamesrv_getserver ();
|
||||
extern void gamesrv_quit ();
|
||||
extern void gamesrv_browse ();
|
||||
extern void gamesrv_sendmode (int maxplayer, int curplayers);
|
||||
extern void gamesrv_sendchat (char *text);
|
||||
extern void gamesrv_playerinfo (struct game_entry *gse);
|
@ -1,103 +0,0 @@
|
||||
/* $Id: gfx.h,v 1.1 2003/09/21 20:15:28 stpohle Exp $ */
|
||||
#ifndef _GFX_H_
|
||||
|
||||
#define _GFX_H_
|
||||
|
||||
#define SCALE_MAXRES 10000
|
||||
#define GFX_IMGSIZE 64
|
||||
#define GFX_IMGBIGSIZE 96
|
||||
#define GFX_PLAYERIMGSIZE_Y 128
|
||||
|
||||
#include "basic.h"
|
||||
|
||||
|
||||
struct __gfxblit {
|
||||
SDL_Rect srcr;
|
||||
SDL_Surface *srci;
|
||||
SDL_Rect destr;
|
||||
SDL_Surface *desti;
|
||||
int y;
|
||||
} typedef _gfxblit;
|
||||
|
||||
|
||||
struct __gfxani {
|
||||
SDL_Surface *image;
|
||||
int frames; // how many single frames (image -> heigh / (1.5 * gamestyle.height))
|
||||
int w; // size of a single frame
|
||||
int h;
|
||||
} typedef _gfxani;
|
||||
|
||||
|
||||
struct __gfxplayer {
|
||||
_gfxani ani;
|
||||
_point offset;
|
||||
_point smal_size;
|
||||
SDL_Surface *smal_image; // smal size of the animation
|
||||
} typedef _gfxplayer;
|
||||
|
||||
|
||||
struct __gfx {
|
||||
SDL_Surface *screen;
|
||||
_point res; // resolution
|
||||
_point block; // block size
|
||||
short int bpp; // bits per pixel
|
||||
|
||||
unsigned char fullscreen;
|
||||
|
||||
_point offset; // where the game field starts
|
||||
|
||||
_gfxplayer players[MAX_PLAYERS];
|
||||
short int postab[256]; // table of points where we need to go to.
|
||||
|
||||
_gfxani field[FT_max]; // the field animations
|
||||
SDL_Surface *smal_special[FT_max - FT_sp_trigger];
|
||||
|
||||
_gfxani powerup[3]; // powerup field animation
|
||||
_gfxani fire; // fire (explostion)
|
||||
_gfxani bomb; // bomb animation
|
||||
_gfxani ill; // sick animation above the player
|
||||
_gfxani dead; // load the dead player animation
|
||||
|
||||
_gfxani menuselect; // The Menu Select GFX (the bomb ?)
|
||||
|
||||
SDL_Surface *logo;
|
||||
} typedef _gfx;
|
||||
|
||||
extern _gfx gfx;
|
||||
|
||||
|
||||
// gfx.c
|
||||
extern void gfx_loaddata ();
|
||||
extern void redraw_logo (int x, int y, int w, int h);
|
||||
extern void draw_logo ();
|
||||
extern void gfx_init (); // Load Base Image Data
|
||||
extern void gfx_shutdown ();
|
||||
extern void draw_shadefield (SDL_Surface *s, SDL_Rect *rec, int c);
|
||||
extern int gfx_locksurface (SDL_Surface *surface);
|
||||
extern void gfx_unlocksurface (SDL_Surface *surface);
|
||||
extern void redraw_logo_shaded (int x, int y, int w, int h, int c);
|
||||
extern void gfx_load_players (int sx, int sy);
|
||||
extern void gfx_free_players ();
|
||||
|
||||
// gfxpixelimage.c
|
||||
extern void getRGBpixel (SDL_Surface *surface, int x, int y, int *R, int *G, int *B);
|
||||
extern Uint32 getpixel(SDL_Surface *surface, int x, int y);
|
||||
extern void putpixel(SDL_Surface *surface, int x, int y, Uint32 pixel);
|
||||
extern void scale (short int *dpattern, short int x, short int y);
|
||||
extern SDL_Surface *scale_image (SDL_Surface * orginal, int newx, int newy);
|
||||
extern void shade_pixel(SDL_Surface *s, int x, int y, int c);
|
||||
extern SDL_Surface *makegray_image (SDL_Surface *org);
|
||||
extern SDL_Surface *gfx_copyscreen (SDL_Rect *wnd);
|
||||
|
||||
|
||||
// gfxengine.c
|
||||
extern void gfx_blitdraw ();
|
||||
extern void gfx_blit (SDL_Surface *srci, SDL_Rect *srcr, SDL_Surface *desti, SDL_Rect *destr, int y);
|
||||
extern void gfx_blitsort ();
|
||||
extern inline void gfx_blitsortclear ();
|
||||
extern inline void gfx_blitupdaterectclear ();
|
||||
extern void gfx_blitupdaterectdraw ();
|
||||
extern void gfx_blitupdaterectadd (SDL_Rect *rect);
|
||||
|
||||
#endif
|
||||
|
@ -1,15 +0,0 @@
|
||||
|
||||
#ifndef _KEYBINPUT_H_
|
||||
#define _KEYBINPUT_H_
|
||||
|
||||
struct __keybinput {
|
||||
char text[255];
|
||||
short int curpos;
|
||||
short int len;
|
||||
char changed;
|
||||
} typedef _keybinput;
|
||||
|
||||
extern void keybinput_new (_keybinput *ki);
|
||||
extern int keybinput_loop (_keybinput *ki, SDL_Event *event);
|
||||
|
||||
#endif
|
@ -1,62 +0,0 @@
|
||||
/* $Id: map.h,v 1.1 2003/09/21 20:15:28 stpohle Exp $ */
|
||||
/* map.h */
|
||||
|
||||
#ifndef _MAP_H_
|
||||
#define _MAP_H_
|
||||
|
||||
struct __ex_field {
|
||||
unsigned char count;
|
||||
unsigned char frame;
|
||||
} typedef _ex_field;
|
||||
|
||||
|
||||
struct __field {
|
||||
unsigned char type;
|
||||
signed char mixframe; // data for the mixed frame
|
||||
Sint16 frame; // frame (frame > 0 && FS_stone)
|
||||
Sint32 frameto; // frame to
|
||||
unsigned char special; // to save special stones, or the tunnel number
|
||||
_ex_field ex[4]; // count up every explosion there is on this field for ever direction
|
||||
Sint32 ex_nr; // number to identify the explosion.
|
||||
} typedef _field;
|
||||
|
||||
|
||||
struct __map {
|
||||
_point size; // dimension of the field
|
||||
|
||||
_field field[MAX_FIELDSIZE_X][MAX_FIELDSIZE_Y];
|
||||
_point tunnel[GAME_MAX_TUNNELS]; // save the destination of the tunnel
|
||||
unsigned char bfield[MAX_FIELDSIZE_X][MAX_FIELDSIZE_Y]; // will hold informations if ther is a bomb
|
||||
|
||||
char tileset [LEN_TILESETNAME];
|
||||
signed char random_tileset;
|
||||
char map [LEN_PATHFILENAME];
|
||||
signed char map_selection;
|
||||
signed char type; // type of the map (MAPT_*);
|
||||
unsigned char bombs;
|
||||
unsigned char fire;
|
||||
unsigned char shoes;
|
||||
unsigned char mixed;
|
||||
unsigned char death;
|
||||
unsigned char sp_trigger;
|
||||
unsigned char sp_push;
|
||||
unsigned char sp_row;
|
||||
unsigned char state; // state of the map
|
||||
} typedef _map;
|
||||
|
||||
|
||||
extern _map map;
|
||||
|
||||
// mapmenu.c
|
||||
extern void mapmenu ();
|
||||
extern void mapinfo ();
|
||||
|
||||
// map.c
|
||||
extern void map_random ();
|
||||
extern void map_genrandom ();
|
||||
extern void init_map_tileset();
|
||||
extern void map_new (char *filename);
|
||||
extern void map_set_playerposition (int usermap);
|
||||
extern void map_load (FILE * fmap);
|
||||
|
||||
#endif
|
@ -1,126 +0,0 @@
|
||||
/*
|
||||
network.h file... for everything what have to do with the network stuff
|
||||
*/
|
||||
|
||||
#include <SDL.h>
|
||||
|
||||
#ifndef _NETWORK_H_
|
||||
#define _NETWORK_H_
|
||||
|
||||
#define MAX_UDPDATA 1024
|
||||
#define PKG_RESENDCACHE_SIZE (64*1024)
|
||||
#define PKG_IN_INDEX_NUM 256
|
||||
#define RESENDCACHE_TIMEOUT 400
|
||||
#define RESENDCACHE_TIMEOUT_MENU 3000
|
||||
#define RESENDCACHE_RETRY 10
|
||||
#define DOWNLOAD_TIMEOUT 2000
|
||||
#define DYN_PKG_MAX_MISSING 4
|
||||
#define DYN_PKG_MIN_MISSING 1
|
||||
#define PKG_SENDSETOPT 2
|
||||
|
||||
#define GT_MP_PTPM (bman.multitype == MT_ptpm && bman.gametype == GT_multi)
|
||||
#define GT_MP_PTPS (bman.multitype == MT_ptps && bman.gametype == GT_multi)
|
||||
#define GT_MP_PTP ((bman.multitype == MT_ptps || bman.multitype == MT_ptpm) && bman.gametype == GT_multi)
|
||||
|
||||
#define GS_WAITRUNNING (bman.state == GS_wait || bman.state == GS_ready || bman.state == GS_running)
|
||||
|
||||
#define NET_CANSEND(__pl) (( __pl == 0 || GT_MP_PTPM || (bman.players[__pl].net.flags & NETF_firewall) == 0))
|
||||
|
||||
/* Little / Big Endian Convert */
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define NTOH16(__i) s_swap16(__i)
|
||||
#define HTON16(__i) s_swap16(__i)
|
||||
#define NTOH32(__i) s_swap32(__i)
|
||||
#define HTON32(__i) s_swap32(__i)
|
||||
#else
|
||||
/* intel system */
|
||||
#define NTOH16(__i) (__i)
|
||||
#define HTON16(__i) (__i)
|
||||
#define NTOH32(__i) (__i)
|
||||
#define HTON32(__i) (__i)
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define _sockaddr sockaddr
|
||||
#else
|
||||
#define _sockaddr sockaddr_in6
|
||||
#endif
|
||||
|
||||
struct __net_addr { // this holds the network data
|
||||
char host[LEN_SERVERNAME];
|
||||
char port[LEN_PORT];
|
||||
struct _sockaddr sAddr;
|
||||
signed char pl_nr; // pl_nr so we know it in the pkgcahce.
|
||||
} typedef _net_addr;
|
||||
|
||||
|
||||
struct __net_pkgopt { /* this will hold all needed data for the packet
|
||||
timeout function */
|
||||
signed char send_to; // sending packet data (playermove) on 0 it will be send
|
||||
signed char send_set; // start value for the packet data option (dynamic set)
|
||||
int to_2sec; // how many unreached packets was send
|
||||
Uint32 to_timestamp;
|
||||
} typedef _net_pkgopt;
|
||||
|
||||
struct __net_player {
|
||||
_net_addr addr; // holds the address
|
||||
int pingreq; // just to send a ping and to save the number in here
|
||||
int pingack; // just to wait for an ping reply.. it will show up here
|
||||
Uint32 timestamp; // time of the last incoming package
|
||||
signed char net_istep;
|
||||
signed char net_status;
|
||||
unsigned char flags; // keep some flags.. like NETF_firewall
|
||||
_net_pkgopt pkgopt; // packet and network controll data
|
||||
} typedef _net_player;
|
||||
|
||||
|
||||
// network menu
|
||||
extern void netmenu();
|
||||
extern void networkmenu_joingame ();
|
||||
extern void networkmenu_options ();
|
||||
extern void join_multiplayer_game ();
|
||||
extern void host_multiplayer_game ();
|
||||
extern void multiplayer_firstrun ();
|
||||
|
||||
// network.c
|
||||
extern int network_server_port (char *server, char *host, int hostlen, char *port, int portlen);
|
||||
extern void network_shutdown ();
|
||||
extern int network_init ();
|
||||
extern int network_loop ();
|
||||
extern void net_change_playerid (int pl_nr, unsigned char senddata);
|
||||
extern void net_new_game ();
|
||||
extern void net_transmit_gamedata ();
|
||||
extern void net_game_send_player (int p_nr);
|
||||
extern void net_game_send_playermove (int p_nr, int mustsend);
|
||||
extern void net_game_send_bomb (int p, int b);
|
||||
extern void net_game_send_field (int x, int y);
|
||||
extern void net_game_send_special (int pl_nr, int ex_nr);
|
||||
extern void net_game_fillsockaddr ();
|
||||
extern void net_game_send_ill (int p_nr);
|
||||
extern void net_delplayer (int pl_nr);
|
||||
extern void draw_netupdatestate ();
|
||||
extern void net_send_servermode ();
|
||||
extern void net_send_players ();
|
||||
extern int net_check_timeout (int pl_nr);
|
||||
extern void net_dyn_pkgoption ();
|
||||
extern void net_send_chat (char *text, signed char notigamesrv);
|
||||
extern void net_send_mapinfo ();
|
||||
|
||||
// multiwait.c
|
||||
extern void wait_for_players ();
|
||||
extern void mw_init ();
|
||||
extern void mw_shutdown ();
|
||||
extern void mw_draw_gfxselect (int selgfx);
|
||||
extern void mw_draw_status ();
|
||||
extern void mw_wait_for_connect ();
|
||||
extern void mw_draw_chat ();
|
||||
|
||||
// udp.c
|
||||
extern char *dns_net_getip (char *host);
|
||||
extern int dns_filladdr (char *host, int hostlen, char *port, int portlen, int ai_family, struct _sockaddr *sAddr);
|
||||
extern int udp_get (int sock, char *text, int len, struct _sockaddr *sAddr, int ai_family);
|
||||
extern int udp_server (char *port, int ai_family);
|
||||
extern void udp_send (int sock, char *text, int len, struct _sockaddr *sAddr, int ai_family);
|
||||
extern void udp_close (int sock);
|
||||
|
||||
#endif
|
@ -1,322 +0,0 @@
|
||||
/* network packets.. */
|
||||
|
||||
enum _network_data {
|
||||
PKG_error = 0,
|
||||
PKG_pingreq,
|
||||
PKG_pingack,
|
||||
PKG_playerid,
|
||||
PKG_servermode,
|
||||
PKG_quit,
|
||||
PKG_field,
|
||||
PKG_playerdata,
|
||||
PKG_bombdata,
|
||||
PKG_getfield,
|
||||
PKG_getplayerdata,
|
||||
PKG_fieldline,
|
||||
PKG_playerstatus,
|
||||
PKG_pkgack,
|
||||
PKG_playermove,
|
||||
PKG_chat,
|
||||
PKG_ill,
|
||||
PKG_special,
|
||||
PKG_mapinfo,
|
||||
PKG_tunneldata,
|
||||
|
||||
PKG_bcmservchat = 90
|
||||
};
|
||||
|
||||
|
||||
enum _pkgflags {
|
||||
PKGF_ackreq = 1,
|
||||
PKGF_ipv6 = 2
|
||||
};
|
||||
|
||||
|
||||
struct pkgheader {
|
||||
unsigned char typ;
|
||||
unsigned char flags;
|
||||
Sint16 id;
|
||||
Sint16 len;
|
||||
};
|
||||
|
||||
|
||||
struct pkg {
|
||||
struct pkgheader h;
|
||||
char data[0];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_bcmservchat {
|
||||
char typ;
|
||||
char data[128];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_tunneldata {
|
||||
struct pkgheader h;
|
||||
signed char tunnel_nr;
|
||||
_point target;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_pkgack {
|
||||
struct pkgheader h;
|
||||
char typ;
|
||||
Sint16 id;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_ping {
|
||||
struct pkgheader h;
|
||||
Sint32 data;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_field {
|
||||
struct pkgheader h;
|
||||
unsigned char x;
|
||||
unsigned char y;
|
||||
_field field;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_error {
|
||||
struct pkgheader h;
|
||||
unsigned char nr;
|
||||
char text[128];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_servermode {
|
||||
struct pkgheader h;
|
||||
unsigned char type;
|
||||
unsigned char state;
|
||||
unsigned char multitype;
|
||||
unsigned char players;
|
||||
unsigned char mapstate;
|
||||
unsigned char maxplayer;
|
||||
signed char last_winner;
|
||||
signed char fieldsize_x;
|
||||
signed char fieldsize_y;
|
||||
char tileset[LEN_TILESETNAME];
|
||||
signed char pl_nr; /* if the server sends this to a client...
|
||||
it will be the clients in_nr number
|
||||
(-1) for not set */
|
||||
};
|
||||
|
||||
|
||||
struct pkg_playerid {
|
||||
struct pkgheader h;
|
||||
char name[LEN_PLAYERNAME];
|
||||
char host[LEN_SERVERNAME];
|
||||
char port[LEN_PORT];
|
||||
signed char ver_major; // Version
|
||||
signed char ver_minor; // Version
|
||||
signed char ver_sub; // Version
|
||||
signed char pl_nr; // Player Nummer
|
||||
signed char gfx_nr; // number of the graphic
|
||||
signed char state;
|
||||
Sint16 points;
|
||||
Sint16 wins;
|
||||
signed char netflags;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_playerdata {
|
||||
struct pkgheader h;
|
||||
signed char p_nr; // Playernumber
|
||||
Sint16 points; // points
|
||||
Sint16 wins; // how many times we win
|
||||
signed char gfx_nr; // the gfx number we want to use
|
||||
_point pos;
|
||||
unsigned char bombs_n;
|
||||
unsigned char range;
|
||||
unsigned char state;
|
||||
unsigned char d;
|
||||
unsigned char frame;
|
||||
signed char dead_by;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_playermove {
|
||||
struct pkgheader h;
|
||||
signed char p_nr;
|
||||
signed char m;
|
||||
signed char d;
|
||||
signed char speed;
|
||||
Sint16 tunnelto;
|
||||
_point pos;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_bombdata {
|
||||
struct pkgheader h;
|
||||
unsigned char p_nr;
|
||||
unsigned char b_nr;
|
||||
Uint16 x;
|
||||
Uint16 y;
|
||||
unsigned char state;
|
||||
unsigned char r;
|
||||
Sint32 ex_nr;
|
||||
Sint32 to;
|
||||
Uint16 destx;
|
||||
Uint16 desty;
|
||||
Sint16 speed;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_quit {
|
||||
struct pkgheader h;
|
||||
char host[LEN_SERVERNAME];
|
||||
char port[LEN_PORT];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_getfield {
|
||||
struct pkgheader h;
|
||||
signed char line;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_playerstatus {
|
||||
struct pkgheader h;
|
||||
signed char pl_nr;
|
||||
signed char net_istep;
|
||||
signed char status;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_fieldline {
|
||||
struct pkgheader h;
|
||||
signed char line;
|
||||
unsigned char type[MAX_FIELDSIZE_X];
|
||||
unsigned char special[MAX_FIELDSIZE_X];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_ill {
|
||||
struct pkgheader h;
|
||||
signed char pl_nr;
|
||||
Sint16 to[PI_max];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_getplayerdata {
|
||||
struct pkgheader h;
|
||||
signed char pl_nr;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_chat {
|
||||
struct pkgheader h;
|
||||
char text[128];
|
||||
};
|
||||
|
||||
|
||||
struct pkg_special {
|
||||
struct pkgheader h;
|
||||
signed char pl_nr;
|
||||
Sint32 ex_nr;
|
||||
unsigned char typ;
|
||||
};
|
||||
|
||||
|
||||
struct pkg_mapinfo {
|
||||
struct pkgheader h;
|
||||
char tileset[LEN_TILESETNAME];
|
||||
char mapname[LEN_FILENAME];
|
||||
unsigned char map_selection;
|
||||
unsigned char bombs;
|
||||
unsigned char shoes;
|
||||
unsigned char fire;
|
||||
unsigned char mixed;
|
||||
unsigned char death;
|
||||
unsigned char sp_trigger;
|
||||
unsigned char sp_push;
|
||||
unsigned char sp_row;
|
||||
unsigned char size_x;
|
||||
unsigned char size_y;
|
||||
};
|
||||
|
||||
|
||||
struct _rscache_entry {
|
||||
signed char pl_nr; // playernumber to whom this data should go
|
||||
Sint16 len; // size of the entry
|
||||
Uint32 timestamp; // pointer to the timestamp
|
||||
signed char retry; // retry's how many times we tryed this
|
||||
_net_addr addr; // pointer to the address
|
||||
struct pkg packet; // pointer to the packet
|
||||
};
|
||||
|
||||
|
||||
struct _resend_cache {
|
||||
char *data; // will hold the pointer to out cache
|
||||
struct _rscache_entry *entry; // pointer to our data
|
||||
Sint32 fill; // how much we have used
|
||||
};
|
||||
|
||||
|
||||
struct _inpkg_index {
|
||||
signed char pl_nr;
|
||||
unsigned char typ;
|
||||
Sint16 id;
|
||||
};
|
||||
|
||||
|
||||
extern int do_error (struct pkg_error *data, _net_addr *addr);
|
||||
extern void do_playerid (struct pkg_playerid *p_id, _net_addr *addr);
|
||||
extern void do_servermode (struct pkg_servermode *s_mod, _net_addr *addr);
|
||||
extern void do_field (struct pkg_field *f_dat, _net_addr *addr);
|
||||
extern void do_ping (struct pkg_ping *p_dat, _net_addr *addr);
|
||||
extern void do_playerdata (struct pkg_playerdata *p_dat, _net_addr *addr);
|
||||
extern void do_playermove (struct pkg_playermove *p_dat, _net_addr *addr);
|
||||
extern void do_bombdata (struct pkg_bombdata *b_dat, _net_addr *addr);
|
||||
extern void do_quit (struct pkg_quit *q_dat, _net_addr *addr);
|
||||
extern void do_getfield (struct pkg_getfield *gf_dat, _net_addr *addr);
|
||||
extern void do_fieldline (struct pkg_fieldline *f_dat, _net_addr *addr);
|
||||
extern void do_getplayerdata (struct pkg_getplayerdata *gp_dat, _net_addr *addr);
|
||||
extern void do_playerstatus (struct pkg_playerstatus *gp_dat, _net_addr *addr);
|
||||
extern void do_pkgack (struct pkg_pkgack *p_ack, _net_addr *addr);
|
||||
extern void do_chat (struct pkg_chat *chat_pkg, _net_addr *addr);
|
||||
extern int do_pkg (struct pkg *packet, _net_addr *addr);
|
||||
extern void do_bcmservchat (struct pkg_bcmservchat *packet, _net_addr *addr);
|
||||
extern void do_ill (struct pkg_ill *ill_pkg, _net_addr *addr);
|
||||
extern void do_special (struct pkg_special *sp_pkg, _net_addr *addr);
|
||||
extern void do_mapinfo (struct pkg_mapinfo *map_pkg, _net_addr *addr);
|
||||
extern void do_tunneldata (struct pkg_tunneldata *tun_pkg, _net_addr *addr);
|
||||
|
||||
extern void send_pkg (struct pkg *packet, _net_addr *addr);
|
||||
extern void send_playerid (_net_addr *addr, char *name, char *pladdr, char *plport, int p_nr, int gfx_nr, signed char netflags);
|
||||
extern void send_servermode (_net_addr *addr, int pl_nr);
|
||||
extern void send_error (_net_addr *addr, char *text);
|
||||
extern void send_field (_net_addr *addr, int x, int y, _field * field);
|
||||
extern void send_ping (_net_addr *addr, int data, unsigned char typ);
|
||||
extern void send_playerdata (_net_addr *addr, int p_nr, _player * pl);
|
||||
extern void send_playermove (_net_addr *addr, int p_nr, _player * pl);
|
||||
extern void send_bombdata (_net_addr *addr, int p, int b, _bomb * bomb);
|
||||
extern void send_quit (_net_addr *addr, char *plhost, char *plport);
|
||||
extern void send_getfield (_net_addr *addr, int line);
|
||||
extern void send_fieldline (_net_addr *addr, int line);
|
||||
extern void send_getplayerdata (_net_addr *addr, int pl);
|
||||
extern void send_playerstatus (_net_addr *addr, int pl_nr, int net_istep, int status);
|
||||
extern void send_pkgack (_net_addr *addr, unsigned char typ, short int id);
|
||||
extern void send_chat (_net_addr *addr, char *text);
|
||||
extern void send_ill (_net_addr *addr, int p_nr, _player *pl);
|
||||
extern void send_special (_net_addr *addr, int p_nr, int typ, int ex_nr);
|
||||
extern void send_mapinfo (_net_addr *addr);
|
||||
extern void send_tunneldata (_net_addr *addr, int tunnelnr, int x, int y);
|
||||
|
||||
extern void fwd_pkg (struct pkg *packet, _net_addr *addr);
|
||||
|
||||
extern int get_player_nr (char *host, char *port);
|
||||
extern int inpkg_check (unsigned char typ, short int id, _net_addr *addr);
|
||||
|
||||
|
||||
/* this functions will be defined in pkgcache.c */
|
||||
extern int rscache_add (_net_addr *addr, struct pkg *packet);
|
||||
extern void rscache_del ();
|
||||
extern int rscache_getpos (_net_addr *addr, unsigned char typ, short int id);
|
||||
extern int rscache_getcurlen ();
|
||||
extern void rscache_loop ();
|
||||
|
||||
extern struct _resend_cache resend_cache;
|
@ -1,49 +0,0 @@
|
||||
/* $Id: sound.h,v 1.1 2003/09/21 20:15:28 stpohle Exp $ */
|
||||
/* include file for the sound */
|
||||
|
||||
#ifndef _SOUND_H_
|
||||
#define _SOUND_H_
|
||||
|
||||
#include "bomberclone.h"
|
||||
|
||||
#if HAVE_SDL_MIXER
|
||||
#include <SDL_mixer.h>
|
||||
#else
|
||||
#define Mix_Chunk void
|
||||
#define Mix_Music void
|
||||
#endif
|
||||
|
||||
enum _soundsample {
|
||||
SND_dead = 0,
|
||||
SND_explode,
|
||||
SND_bombdrop,
|
||||
|
||||
SND_max
|
||||
};
|
||||
|
||||
struct __snd {
|
||||
unsigned char inited;
|
||||
|
||||
Mix_Chunk *sample[SND_max]; // henqvist
|
||||
Mix_Music *music; // henqvist
|
||||
|
||||
int audio_rate;
|
||||
Uint16 audio_format;
|
||||
int audio_channels;
|
||||
signed char playmusic;
|
||||
signed char playsound;
|
||||
|
||||
} typedef _snd;
|
||||
|
||||
extern _snd snd;
|
||||
|
||||
void snd_play(int samplenr);
|
||||
void snd_music_start();
|
||||
void snd_music_stop();
|
||||
void snd_init();
|
||||
void snd_load(char *tilesetname);
|
||||
void snd_free ();
|
||||
void snd_options ();
|
||||
void snd_shutdown ();
|
||||
|
||||
#endif
|
@ -1,32 +0,0 @@
|
||||
/* $Id: sysfunc.h,v 1.1 2003/09/21 20:15:28 stpohle Exp $ */
|
||||
/* include some system near functions */
|
||||
|
||||
#ifndef _SYSFUNC_H_
|
||||
#define _SYSFUNC_H_
|
||||
|
||||
#define MAX_DIRENTRYS 1024
|
||||
|
||||
enum _dirflags {
|
||||
DF_dir = 1,
|
||||
DF_file = 2
|
||||
};
|
||||
|
||||
struct __direntry {
|
||||
unsigned char flags;
|
||||
char name[LEN_FILENAME];
|
||||
struct __direntry *next;
|
||||
} typedef _direntry;
|
||||
|
||||
extern void s_delay (int ms);
|
||||
extern int s_random (int maxnr);
|
||||
extern char *s_gethomedir ();
|
||||
extern int s_countbits (int nbomb, int nr);
|
||||
extern char* getfilename(char* path);
|
||||
|
||||
extern inline Sint16 s_swap16 (Sint16 i);
|
||||
extern inline Sint32 s_swap32 (Sint32 i);
|
||||
|
||||
extern _direntry *s_getdir (char *path);
|
||||
extern _direntry *s_dirfilter (_direntry *dirstart, signed char dirflags);
|
||||
|
||||
#endif
|
Loading…
Reference in new issue