chat mode changed, if only one player is using the computer keep the chat always active.

origin
stpohle 21 years ago
parent 474a6402e7
commit 84ac956883

@ -1,4 +1,4 @@
$Id: ChangeLog,v 1.79 2004/09/12 21:50:55 stpohle Exp $ $Id: ChangeLog,v 1.80 2004/09/13 22:18:28 stpohle Exp $
* NEED TO FIX: Server starts the game soo fast that the * NEED TO FIX: Server starts the game soo fast that the
client's ignore the gamestat for a running game. client's ignore the gamestat for a running game.
@ -6,6 +6,14 @@ $Id: ChangeLog,v 1.79 2004/09/12 21:50:55 stpohle Exp $
* FINISH TEAM MODE. * FINISH TEAM MODE.
2004-09-13
- changed: Chat Mode will always keep active if there is
only one player on one computer. If there are two player
we have to press F5 to activate the chatwindow.
2004-09-12
- fixed: Quit Game wasn't working from the in game menu - fixed: Quit Game wasn't working from the in game menu
- fixed: Network Version Error. There is no - fixed: Network Version Error. There is no
@ -13,6 +21,8 @@ $Id: ChangeLog,v 1.79 2004/09/12 21:50:55 stpohle Exp $
- fixed: Single Player Menu there was no ESC key working - fixed: Single Player Menu there was no ESC key working
2004-09-11
- fixed: Player Selection Screen (single player) - fixed: Player Selection Screen (single player)
ESC key wasn't working and also closing the program ESC key wasn't working and also closing the program
haven't worked. haven't worked.

@ -18,7 +18,7 @@ enum _bcplayerkeys {
}; };
enum _bckeys { enum _bckeys {
BCK_help = BCPK_max * 2, BCK_help = BCPK_max * 3,
BCK_esc, BCK_esc,
BCK_fullscreen, BCK_fullscreen,
BCK_chat, BCK_chat,

@ -1,4 +1,4 @@
/* $Id: game.c,v 1.89 2004/09/12 21:49:13 stpohle Exp $ /* $Id: game.c,v 1.90 2004/09/13 22:15:57 stpohle Exp $
game.c - procedures for the game. */ game.c - procedures for the game. */
#include <string.h> #include <string.h>
@ -185,7 +185,7 @@ void game_keys_loop () {
*/ */
if (keyb_gamekeys.state[BCK_esc] && !keyb_gamekeys.old[BCK_esc]) { if (keyb_gamekeys.state[BCK_esc] && !keyb_gamekeys.old[BCK_esc]) {
if (chat.active && (bman.state == GS_ready || bman.state == GS_running)) { if (chat.active && (bman.state == GS_ready || bman.state == GS_running) && IS_LPLAYER2) {
chat.active = 0; chat.active = 0;
d_printf ("Chatmode Disabled\n"); d_printf ("Chatmode Disabled\n");
} }
@ -240,6 +240,9 @@ game_loop ()
game_keys_loop (); game_keys_loop ();
chat_loop (&event); chat_loop (&event);
if ((!IS_LPLAYER2) && (!chat.active))
chat_setactive (1, 1);
restore_players_screen (); restore_players_screen ();
player_check (bman.p_nr); player_check (bman.p_nr);

@ -1,4 +1,4 @@
/* $Id: keyb.c,v 1.4 2004/05/20 16:55:30 stpohle Exp $ /* $Id: keyb.c,v 1.5 2004/09/13 22:15:57 stpohle Exp $
* keyb.c * keyb.c
*/ */
@ -43,22 +43,31 @@ const struct _key_codes key_codetab [] = {
* set the default keyboard settings * set the default keyboard settings
*/ */
void keyb_config_reset () { void keyb_config_reset () {
/* player 1 */
/* One Player on One Screen - player one */
keyb_gamekeys.keycode[BCPK_up] = SDLK_UP; keyb_gamekeys.keycode[BCPK_up] = SDLK_UP;
keyb_gamekeys.keycode[BCPK_down] = SDLK_DOWN; keyb_gamekeys.keycode[BCPK_down] = SDLK_DOWN;
keyb_gamekeys.keycode[BCPK_left] = SDLK_LEFT; keyb_gamekeys.keycode[BCPK_left] = SDLK_LEFT;
keyb_gamekeys.keycode[BCPK_right] = SDLK_RIGHT; keyb_gamekeys.keycode[BCPK_right] = SDLK_RIGHT;
keyb_gamekeys.keycode[BCPK_drop] = SDLK_RCTRL; keyb_gamekeys.keycode[BCPK_drop] = SDLK_LCTRL;
keyb_gamekeys.keycode[BCPK_special] = SDLK_RSHIFT; keyb_gamekeys.keycode[BCPK_special] = SDLK_LSHIFT;
/* player 2 */ /* Two Players on One Screen - player one */
keyb_gamekeys.keycode[BCPK_max + BCPK_up] = 'W'; keyb_gamekeys.keycode[BCPK_max + BCPK_up] = SDLK_UP;
keyb_gamekeys.keycode[BCPK_max + BCPK_down] = 'S'; keyb_gamekeys.keycode[BCPK_max + BCPK_down] = SDLK_DOWN;
keyb_gamekeys.keycode[BCPK_max + BCPK_left] = 'A'; keyb_gamekeys.keycode[BCPK_max + BCPK_left] = SDLK_LEFT;
keyb_gamekeys.keycode[BCPK_max + BCPK_right] = 'D'; keyb_gamekeys.keycode[BCPK_max + BCPK_right] = SDLK_RIGHT;
keyb_gamekeys.keycode[BCPK_max + BCPK_drop] = SDLK_LCTRL; keyb_gamekeys.keycode[BCPK_max + BCPK_drop] = SDLK_RCTRL;
keyb_gamekeys.keycode[BCPK_max + BCPK_special] = SDLK_LSHIFT; keyb_gamekeys.keycode[BCPK_max + BCPK_special] = SDLK_RSHIFT;
/* Two Player on One Screen - player two */
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_up] = 'W';
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_down] = 'S';
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_left] = 'A';
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_right] = 'D';
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_drop] = SDLK_LCTRL;
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_special] = SDLK_LSHIFT;
/* game keys */ /* game keys */
keyb_gamekeys.keycode[BCK_help] = SDLK_F1; keyb_gamekeys.keycode[BCK_help] = SDLK_F1;
keyb_gamekeys.keycode[BCK_playermenu] = SDLK_F2; keyb_gamekeys.keycode[BCK_playermenu] = SDLK_F2;
@ -111,9 +120,7 @@ void keyb_config_createkeymenu (_menu *menu, int key, int x, int y, int menu_nr)
char keyname [32]; char keyname [32];
char keytext [50]; char keytext [50];
if (key >= BCPK_max && key < BCPK_max * 2) for (key_id = key; key_id >= BCPK_max && key_id < BCPK_max * 3; key_id = key_id - BCPK_max);
key_id = key - BCPK_max;
else key_id = key;
switch (key_id) { switch (key_id) {
case (BCPK_up): case (BCPK_up):
@ -156,7 +163,7 @@ void keyb_config_createkeymenu (_menu *menu, int key, int x, int y, int menu_nr)
menu_create_label (menu, keyname, x, y + 2, 0, COLOR_brown); menu_create_label (menu, keyname, x, y + 2, 0, COLOR_brown);
keyb_code2text (keyb_gamekeys.keycode[key], keytext); keyb_code2text (keyb_gamekeys.keycode[key], keytext);
menu_create_button (menu, keytext, x + 50, y, 100, menu_nr + key); menu_create_button (menu, keytext, x + 70, y, 100, menu_nr + key);
} }
@ -227,21 +234,27 @@ void keyb_config () {
do { do {
menu = menu_new ("Keyboard Config", 420, 400); menu = menu_new ("Keyboard Config", 420, 400);
menu_create_label (menu, "Player 1", 10, 50, 2, COLOR_brown);
keyb_config_createkeymenu (menu, BCPK_up, 25, 90, 10);
keyb_config_createkeymenu (menu, BCPK_down, 25, 120, 10); menu_create_label (menu, "One Screen Keys", -1, 50, 1, COLOR_yellow);
keyb_config_createkeymenu (menu, BCPK_left, 25, 150, 10); keyb_config_createkeymenu (menu, BCPK_drop, 25, 75, 10);
keyb_config_createkeymenu (menu, BCPK_right, 25, 180, 10); keyb_config_createkeymenu (menu, BCPK_special, 225, 75, 10);
keyb_config_createkeymenu (menu, BCPK_drop, 25, 210, 10);
keyb_config_createkeymenu (menu, BCPK_special, 25, 240, 10); menu_create_label (menu, "Player 1", 20, 105, 1, COLOR_yellow);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_up, 25, 130, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_down, 25, 160, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_left, 25, 190, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_right, 25, 220, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_drop, 25, 250, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_special, 25, 280, 10);
menu_create_label (menu, "Player 2", 200, 50, 2, COLOR_brown); menu_create_label (menu, "Player 2", 210, 105, 1, COLOR_yellow);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_up, 225, 90, 10); keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_up, 225, 130, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_down, 225, 120, 10); keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_down, 225, 160, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_left, 225, 150, 10); keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_left, 225, 190, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_right, 225, 180, 10); keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_right, 225, 220, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_drop, 225, 210, 10); keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_drop, 225, 250, 10);
keyb_config_createkeymenu (menu, BCPK_max + BCPK_special, 225, 240, 10); keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_special, 225, 280, 10);
/*menu_create_label ("Other Keys", -1, 270, 2, COLOR_brown); /*menu_create_label ("Other Keys", -1, 270, 2, COLOR_brown);
keyb_config_createkeymenu (BCK_help, 25, 300, 10); keyb_config_createkeymenu (BCK_help, 25, 300, 10);
@ -251,8 +264,8 @@ void keyb_config () {
keyb_config_createkeymenu (BCK_playermenu, 225, 330, 10); keyb_config_createkeymenu (BCK_playermenu, 225, 330, 10);
keyb_config_createkeymenu (BCK_pause, 225, 360, 10); */ keyb_config_createkeymenu (BCK_pause, 225, 360, 10); */
menu_create_button (menu, "Default", 50, 280, 150, 2); menu_create_button (menu, "Default", 50, 330, 150, 2);
menu_create_button (menu, "OK", 250, 280, 150, 1); menu_create_button (menu, "OK", 250, 330, 150, 1);
menu_focus_id (menu, menuselect); menu_focus_id (menu, menuselect);
menuselect = menu_loop (menu); menuselect = menu_loop (menu);
menu_delete (menu); menu_delete (menu);

@ -1,4 +1,4 @@
/* $Id: playerinput.c,v 1.2 2004/04/03 14:48:43 stpohle Exp $ /* $Id: playerinput.c,v 1.3 2004/09/13 22:15:57 stpohle Exp $
* playerinput * playerinput
* *
* the playerinput system will only set some values and flags of the player * the playerinput system will only set some values and flags of the player
@ -25,15 +25,13 @@
void void
playerinput_loop (int pl_nr) playerinput_loop (int pl_nr)
{ {
if (!chat.active) if ((!IS_LPLAYER2 )|| (!chat.active))
playerinput_keyb_loop (pl_nr); playerinput_keyb_loop (pl_nr);
}; };
/* /*
* keyboard handling read keyboard and set playervariables * keyboard handling read keyboard and set playervariables
* if only one player is used player one can even use the keys
* of player two.
*/ */
void void
playerinput_keyb_loop (int pl_nr) playerinput_keyb_loop (int pl_nr)
@ -43,18 +41,17 @@ playerinput_keyb_loop (int pl_nr)
if (bman.state != GS_running) if (bman.state != GS_running)
return; return;
/* select the current playerkeys (pk_offset) */ if (!IS_LPLAYER2) /* One Player per Screen */
if (pl_nr == bman.p_nr)
pk_offset = 0; pk_offset = 0;
else if (pl_nr == bman.p2_nr) else if (pl_nr == bman.p_nr) /* Two Player per Screen - Player 1 */
pk_offset = BCPK_max; pk_offset = BCPK_max;
else else if (pl_nr == bman.p2_nr) /* Two Player per Screen - Player 2 */
return; // not a local player pk_offset = 2*BCPK_max;
else /* not a local player */
return;
/* read the keys and set playervariables */ /* read the keys and set playervariables */
playerinput_keyb_read (pk_offset, pl_nr); playerinput_keyb_read (pk_offset, pl_nr);
if (!IS_LPLAYER2 && pk_offset == 0)
playerinput_keyb_read (BCPK_max, pl_nr);
}; };

Loading…
Cancel
Save