X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Finput.c;h=172d69890351a55bcd60b84279d6911a071e3ea8;hb=3e71d06e9a97be7bb8c50c76717d08e5c46e0cc8;hp=b2a644c79b04ea6ad8d455b461783912e470a3ea;hpb=d4b0925a000fb490f5ade0feecdd4781fc8d0bd5;p=rocksndiamonds.git diff --git a/src/game_em/input.c b/src/game_em/input.c index b2a644c7..172d6989 100644 --- a/src/game_em/input.c +++ b/src/game_em/input.c @@ -10,20 +10,19 @@ unsigned long RandomEM; -struct PLAYER ply1; -struct PLAYER ply2; struct LEVEL lev; +struct PLAYER ply[MAX_PLAYERS]; -unsigned short **Boom; -unsigned short **Cave; -unsigned short **Next; -unsigned short **Draw; +short **Boom; +short **Cave; +short **Next; +short **Draw; -static unsigned short *Index[4][HEIGHT]; -static unsigned short Array[4][HEIGHT][WIDTH]; +static short *Index[4][HEIGHT]; +static short Array[4][HEIGHT][WIDTH]; -extern unsigned int screen_x; -extern unsigned int screen_y; +extern int screen_x; +extern int screen_y; void game_init_vars(void) { @@ -92,8 +91,8 @@ void GameActions_EM(byte action[MAX_PLAYERS]) frame = (frame - 1) & 7; - for (i = 0; i < 2; i++) - readjoy(action[i], i); + for (i = 0; i < MAX_PLAYERS; i++) + readjoy(action[i], &ply[i]); UpdateEngineValues(screen_x / TILEX, screen_y / TILEY); @@ -190,10 +189,10 @@ void GameActions_EM(byte action) #if 1 -void readjoy(byte action, int player_nr) +void readjoy(byte action, struct PLAYER *ply) { - unsigned int north = 0, east = 0, south = 0, west = 0; - unsigned int snap = 0, drop = 0; + int north = 0, east = 0, south = 0, west = 0; + int snap = 0, drop = 0; if (action & JOY_LEFT) west = 1; @@ -213,29 +212,15 @@ void readjoy(byte action, int player_nr) if (action & JOY_BUTTON_2) drop = 1; - if (player_nr == 0) - { - ply1.joy_snap = snap; - ply1.joy_drop = drop; - if (ply1.joy_stick || (north | east | south | west)) - { - ply1.joy_n = north; - ply1.joy_e = east; - ply1.joy_s = south; - ply1.joy_w = west; - } - } - else + ply->joy_snap = snap; + ply->joy_drop = drop; + + if (ply->joy_stick || (north | east | south | west)) { - ply2.joy_snap = snap; - ply2.joy_drop = drop; - if (ply2.joy_stick || (north | east | south | west)) - { - ply2.joy_n = north; - ply2.joy_e = east; - ply2.joy_s = south; - ply2.joy_w = west; - } + ply->joy_n = north; + ply->joy_e = east; + ply->joy_s = south; + ply->joy_w = west; } } @@ -243,8 +228,8 @@ void readjoy(byte action, int player_nr) void readjoy(byte action) { - unsigned int north = 0, east = 0, south = 0, west = 0; - unsigned int snap = 0, drop = 0; + int north = 0, east = 0, south = 0, west = 0; + int snap = 0, drop = 0; if (action & JOY_LEFT) west = 1;