@@ -555,12 +555,7 @@ static int add_player(unsigned char color, char *name,struct sockaddr_in *addres
555
555
cp -> member .color = color ;
556
556
cp -> member .frags = 0 ;
557
557
cp -> member .deaths = 0 ;
558
- cp -> member .keyboard_status .left = 0 ;
559
- cp -> member .keyboard_status .right = 0 ;
560
- cp -> member .keyboard_status .speed = 0 ;
561
- cp -> member .keyboard_status .fire = 0 ;
562
- cp -> member .keyboard_status .creep = 0 ;
563
- cp -> member .keyboard_status .down_ladder = 0 ;
558
+ cp -> member .keyboard_status .status = 0 ;
564
559
cp -> member .keyboard_status .weapon = 0 ;
565
560
cp -> member .id = n_players + 1 ; /* player numbering starts from 1, 0 is server's ID */
566
561
cp -> member .last_update = get_time ();
@@ -1355,13 +1350,7 @@ static void read_data(void)
1355
1350
q = find_player (& client ,s );
1356
1351
if (!q )break ;
1357
1352
q -> member .last_update = get_time ();
1358
- q -> member .keyboard_status .right = (packet [1 ])& 1 ;
1359
- q -> member .keyboard_status .left = ((packet [1 ])>>1 )& 1 ;
1360
- q -> member .keyboard_status .jump = ((packet [1 ])>>2 )& 1 ;
1361
- q -> member .keyboard_status .creep = ((packet [1 ])>>3 )& 1 ;
1362
- q -> member .keyboard_status .speed = ((packet [1 ])>>4 )& 1 ;
1363
- q -> member .keyboard_status .fire = ((packet [1 ])>>5 )& 1 ;
1364
- q -> member .keyboard_status .down_ladder = ((packet [1 ])>>6 )& 1 ;
1353
+ q -> member .keyboard_status .status = packet [1 ];
1365
1354
q -> member .keyboard_status .weapon = packet [2 ];
1366
1355
break ;
1367
1356
@@ -2736,21 +2725,21 @@ static void move_player(struct player *p)
2736
2725
if (p -> obj -> status & S_DEAD )
2737
2726
return ; /* dead player */
2738
2727
2739
- if (p -> keyboard_status .down_ladder ) /* climb down a ladder */
2728
+ if (p -> keyboard_status .status & KBD_DOWN_LADDER ) /* climb down a ladder */
2740
2729
p -> obj -> status |= S_CLIMB_DOWN ;
2741
2730
else
2742
2731
p -> obj -> status &=~ S_CLIMB_DOWN ;
2743
2732
2744
- if (p -> keyboard_status .jump )
2733
+ if (p -> keyboard_status .status & KBD_JUMP )
2745
2734
jump_player (p );
2746
- if (p -> keyboard_status .right )
2735
+ if (p -> keyboard_status .status & KBD_RIGHT )
2747
2736
{
2748
2737
if ((p -> obj -> status & (S_LOOKLEFT | S_LOOKRIGHT ))== S_LOOKRIGHT ) /* walk right */
2749
- walk_player (p ,2 ,p -> keyboard_status .speed ,p -> keyboard_status .creep );
2738
+ walk_player (p ,2 ,p -> keyboard_status .status & KBD_SPEED ,p -> keyboard_status .status & KBD_CREEP );
2750
2739
else
2751
2740
{
2752
2741
if (p -> obj -> status & S_WALKING )
2753
- walk_player (p ,0 ,p -> keyboard_status .speed ,p -> keyboard_status .creep ); /* stop */
2742
+ walk_player (p ,0 ,p -> keyboard_status .status & KBD_SPEED ,p -> keyboard_status .status & KBD_CREEP ); /* stop */
2754
2743
else
2755
2744
{
2756
2745
a = p -> obj -> status & (S_LOOKLEFT | S_LOOKRIGHT );
@@ -2761,14 +2750,14 @@ static void move_player(struct player *p)
2761
2750
}
2762
2751
}
2763
2752
2764
- if (p -> keyboard_status .left )
2753
+ if (p -> keyboard_status .status & KBD_LEFT )
2765
2754
{
2766
2755
if ((p -> obj -> status & (S_LOOKLEFT | S_LOOKRIGHT ))== S_LOOKLEFT ) /* walk left */
2767
- walk_player (p ,1 ,p -> keyboard_status .speed ,p -> keyboard_status .creep );
2756
+ walk_player (p ,1 ,p -> keyboard_status .status & KBD_SPEED ,p -> keyboard_status .status & KBD_CREEP );
2768
2757
else
2769
2758
{
2770
2759
if (p -> obj -> status & S_WALKING )
2771
- walk_player (p ,0 ,p -> keyboard_status .speed ,p -> keyboard_status .creep ); /* stop */
2760
+ walk_player (p ,0 ,p -> keyboard_status .status & KBD_SPEED ,p -> keyboard_status .status & KBD_CREEP ); /* stop */
2772
2761
else
2773
2762
{
2774
2763
a = p -> obj -> status & (S_LOOKLEFT | S_LOOKRIGHT );
@@ -2779,7 +2768,7 @@ static void move_player(struct player *p)
2779
2768
}
2780
2769
}
2781
2770
change_weapon_player (p ,p -> keyboard_status .weapon );
2782
- if (p -> keyboard_status .fire )
2771
+ if (p -> keyboard_status .status & KBD_FIRE )
2783
2772
fire_player (p ,(p -> obj -> status & (S_LOOKLEFT | S_LOOKRIGHT ))>>1 );
2784
2773
}
2785
2774
0 commit comments