X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=b54623d4e030fbdff367497aad6f1788bbeb3df4;hb=c74a890afba46c41f6ba6ef691bc89da0dd0135c;hp=4d7a7a36d68ee479fb0b8c1644c6935f5a5212cf;hpb=fa628a204ea4662806244b0ed994a48b40ece2ca;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index 4d7a7a36..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) { + int centered_player_nr_next = -999; + if (key == setup.shortcut.focus_player_all) - game.centered_player_nr_next = -1; + centered_player_nr_next = -1; else for (i = 0; i < MAX_PLAYERS; i++) if (key == setup.shortcut.focus_player[i]) - game.centered_player_nr_next = 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);