X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=b54623d4e030fbdff367497aad6f1788bbeb3df4;hb=c74a890afba46c41f6ba6ef691bc89da0dd0135c;hp=f478a86bee482edd481952a5cee3325d92fcb776;hpb=a765d70dda7da4500e7005ffa5913e24cd32c0fa;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index f478a86b..b54623d4 100644 --- a/src/events.c +++ b/src/events.c @@ -171,7 +171,9 @@ void EventLoop(void) has its own synchronization and is CPU friendly, too */ if (game_status == GAME_MODE_PLAYING) + { HandleGameActions(); + } else { SyncDisplay(); @@ -544,10 +546,7 @@ static void HandleKeysSpecial(Key key) { #ifdef DEBUG if (is_string_suffix(cheat_input, ".q")) - for (i = 0; i < MAX_INVENTORY_SIZE; i++) - if (local_player->inventory_size < MAX_INVENTORY_SIZE) - local_player->inventory_element[local_player->inventory_size++] = - EL_DYNAMITE; + DEBUG_SetMaximumDynamite(); #endif } else if (game_status == GAME_MODE_EDITOR) @@ -700,12 +699,26 @@ void HandleKey(Key key, int key_status) if (game_status == GAME_MODE_PLAYING) { - if (key == KSYM_5) - game.centered_player_nr_next = -1; + int centered_player_nr_next = -999; + + if (key == setup.shortcut.focus_player_all) + centered_player_nr_next = -1; else for (i = 0; i < MAX_PLAYERS; i++) - if (key == KSYM_1 + i) - game.centered_player_nr_next = i; + if (key == setup.shortcut.focus_player[i]) + centered_player_nr_next = i; + + if (centered_player_nr_next != -999) + { + game.centered_player_nr_next = centered_player_nr_next; + game.set_centered_player = TRUE; + + if (tape.recording) + { + tape.centered_player_nr_next = game.centered_player_nr_next; + tape.set_centered_player = TRUE; + } + } } HandleKeysSpecial(key);