network help screen added

added SHIFT+F3 to delete ai players
network_shutdown fixed for ai players and already disconnected players
origin
stpohle 22 years ago
parent 4e3e315223
commit 959bd1dd47

@ -1,4 +1,4 @@
/* $Id: bomberclone.h,v 1.10 2004/01/02 13:54:48 stpohle Exp $ */ /* $Id: bomberclone.h,v 1.11 2004/01/03 02:12:33 stpohle Exp $ */
/* bomberclone.h */ /* bomberclone.h */
#ifndef _BOMBERCLONE_H_ #ifndef _BOMBERCLONE_H_
@ -255,6 +255,7 @@ extern void d_printsdlrect (char *text, SDL_Rect *rect);
// single.c // single.c
extern void single_game_new (); extern void single_game_new ();
extern void single_create_ai (int num_players); extern void single_create_ai (int num_players);
extern void single_delete_ai (int num_players);
extern void single_loop(); extern void single_loop();
extern void single_playergame (); extern void single_playergame ();
extern void single_menu (); extern void single_menu ();

@ -1,4 +1,4 @@
/* $Id: network.h,v 1.8 2003/12/24 02:38:15 stpohle Exp $ /* $Id: network.h,v 1.9 2004/01/03 02:12:33 stpohle Exp $
* network.h file... for everything what have to do with the network stuff * network.h file... for everything what have to do with the network stuff
*/ */
@ -92,6 +92,7 @@ extern void join_multiplayer_game ();
extern void host_multiplayer_game (); extern void host_multiplayer_game ();
extern void multiplayer_firstrun (); extern void multiplayer_firstrun ();
extern void multiplayer_game (); extern void multiplayer_game ();
extern void network_helpscreen ();
// network.c // network.c
extern int network_server_port (char *server, char *host, int hostlen, char *port, int portlen); extern int network_server_port (char *server, char *host, int hostlen, char *port, int portlen);

@ -232,14 +232,8 @@ mw_draw_chat ()
if (chat.visible == 0) { if (chat.visible == 0) {
chat_show (16, mw_chat + 16, gfx.res.x - 16, gfx.res.y - 32); chat_show (16, mw_chat + 16, gfx.res.x - 16, gfx.res.y - 32);
chat_addstatusline ("Press [STRG] or [CTRL] - to select a player"); chat_addstatusline ("Press [STRG] or [CTRL] - to select a player");
if (GT_MP_PTPM) { if (GT_MP_PTPM)
chat_addstatusline ("F2 - to change map settings"); chat_addstatusline ("F1 - for the Help Screen");
chat_addstatusline ("F3 - to change player settings");
chat_addstatusline ("F4 - to start the game");
}
else {
chat_addstatusline ("F2 - to see the map settings");
}
} }
}; };
@ -307,7 +301,7 @@ wait_for_players ()
keys = SDL_GetKeyState (NULL); keys = SDL_GetKeyState (NULL);
if (keys[SDLK_ESCAPE] && event.type == SDL_KEYDOWN) { if (event.key.keysym.sym == SDLK_ESCAPE && event.type == SDL_KEYDOWN) {
/* we want to quit */ /* we want to quit */
done = 1; done = 1;
bman.p_nr = -1; bman.p_nr = -1;
@ -388,19 +382,26 @@ wait_for_players ()
mw_draw_chat (); mw_draw_chat ();
} }
if ((GT_MP_PTPM) && keys[SDLK_F3] && (!keypressed)) { if ((GT_MP_PTPM) && (!keypressed) && event.key.keysym.sym == SDLK_F3 && event.type == SDL_KEYDOWN) {
if (!keys[SDLK_RSHIFT] && !keys[SDLK_LSHIFT] )
single_create_ai (1); single_create_ai (1);
else
single_delete_ai (1);
for (i = 0; i < MAX_PLAYERS; i++) for (i = 0; i < MAX_PLAYERS; i++)
net_change_playerid (i, GT_MP_PTPM); net_change_playerid (i, GT_MP_PTPM);
bman.updatestatusbar = 1; bman.updatestatusbar = 1;
} }
if (keys[SDLK_F1] && (!keypressed)) /* open help screen */
network_helpscreen ();
chat_loop (&event); chat_loop (&event);
} }
if (event.type == SDL_KEYUP) if (event.type == SDL_KEYUP)
keypressed = 0; keypressed = 0;
else if (event.type == SDL_KEYDOWN) else if (event.type == SDL_KEYDOWN && event.key.keysym.sym != SDLK_RSHIFT && event.key.keysym.sym != SDLK_LSHIFT)
keypressed = 1; keypressed = 1;
s_delay (25); s_delay (25);

@ -162,7 +162,7 @@ void multiplayer_game () {
net_new_game (); net_new_game ();
game_start (); game_start ();
if (GT_MP_PTPM) { if (GT_MP_PTPM) {
net_send_mapinfo (); // maybe we have to make a pause net_send_mapinfo (); // maybe we have to make a break
net_send_servermode (); // between mapinfo and servermode net_send_servermode (); // between mapinfo and servermode
} }
net_transmit_gamedata (); net_transmit_gamedata ();
@ -233,3 +233,23 @@ join_multiplayer_game ()
network_shutdown (); network_shutdown ();
}; };
/* Network Help Screen */
void network_helpscreen () {
menu_new ("Network Help Screen", 400, 380);
menu_create_label ("F1", 60, 50, 1);
menu_create_label ("Display this Helpscreen", 180, 54, 0);
menu_create_label ("F2", 60, 80, 1);
menu_create_label ("Change/Show Mapsettings", 180, 84, 0);
menu_create_label ("F3", 60, 110, 1);
menu_create_label ("Add one AI Player", 180, 114, 0);
menu_create_label ("Shift-F3", 10, 140, 1);
menu_create_label ("Delete one AI P.", 180, 144, 0);
menu_loop ();
menu_delete ();
};

@ -1,4 +1,4 @@
/* $Id: network.c,v 1.49 2003/12/31 01:09:43 stpohle Exp $ */ /* $Id: network.c,v 1.50 2004/01/03 02:12:34 stpohle Exp $ */
/* /*
network routines. network routines.
*/ */
@ -141,7 +141,7 @@ network_shutdown ()
if (GT_MP_PTPM) { if (GT_MP_PTPM) {
d_printf ("Server Quit Send information\n"); d_printf ("Server Quit Send information\n");
for (i = 0; i < MAX_PLAYERS; i++) for (i = 0; i < MAX_PLAYERS; i++)
if (i != bman.p_servnr && players[i].net.addr.host[0] != 0) if (i != bman.p_servnr && PS_IS_netplayer (players[i].state) && !PS_IS_aiplayer (players[i].state))
send_quit (&players[i].net.addr, NULL, NULL); send_quit (&players[i].net.addr, NULL, NULL);
} }
else if (players[bman.p_servnr].net.addr.host[0] != 0) else if (players[bman.p_servnr].net.addr.host[0] != 0)

@ -1,4 +1,4 @@
/* $Id: player.c,v 1.55 2004/01/02 13:54:48 stpohle Exp $ /* $Id: player.c,v 1.56 2004/01/03 02:12:34 stpohle Exp $
* player.c - everything what have to do with the player */ * player.c - everything what have to do with the player */
#include <SDL.h> #include <SDL.h>
@ -214,7 +214,7 @@ player_check_powerup (int p_nr)
int int
check_field (short int x, short int y) check_field (short int x, short int y)
{ {
int res = 0, i; int res = 0;
if (map.field[x][y].type != FT_stone && map.field[x][y].type != FT_block) if (map.field[x][y].type != FT_stone && map.field[x][y].type != FT_block)
res = 1; res = 1;

@ -1,4 +1,4 @@
/* $Id: single.c,v 1.52 2003/12/28 04:51:25 stpohle Exp $ */ /* $Id: single.c,v 1.53 2004/01/03 02:12:34 stpohle Exp $ */
/* single player */ /* single player */
#include "basic.h" #include "basic.h"
@ -540,6 +540,23 @@ ai_checknewpos (_point pos, int d)
}; };
/* delete single players from the game */
void single_delete_ai (int num_players) {
int p, count;
for (p = 0, count = 0; p < MAX_PLAYERS && count < num_players; p++) {
if (PS_IS_aiplayer (players[p].state)) {
/* ai player found... delete */
player_set_gfx (&players[p], -1);
players[p].state = 0;
players[p].net.addr.host[0] = 0;
players[p].net.addr.port[0] = 0;
count++;
}
}
};
/* create a giving number of ai players */ /* create a giving number of ai players */
void void
single_create_ai (int num_players) single_create_ai (int num_players)

Loading…
Cancel
Save