X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=b54623d4e030fbdff367497aad6f1788bbeb3df4;hb=c74a890afba46c41f6ba6ef691bc89da0dd0135c;hp=c45581e549df5f0354e4a291aad9c08d059c5b54;hpb=a606b4bf796ba79cea7633dabb28484b6233b5c1;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index c45581e5..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) @@ -566,7 +565,6 @@ static void HandleKeysSpecial(Key key) void HandleKey(Key key, int key_status) { - int joy = 0; boolean anyTextGadgetActiveOrJustFinished = anyTextGadgetActive(); static struct SetupKeyboardInfo custom_key; static struct @@ -583,6 +581,8 @@ void HandleKey(Key key, int key_status) { &custom_key.snap, DEFAULT_KEY_SNAP, JOY_BUTTON_1 }, { &custom_key.drop, DEFAULT_KEY_DROP, JOY_BUTTON_2 } }; + int joy = 0; + int i; if (game_status == GAME_MODE_PLAYING) { @@ -593,7 +593,6 @@ void HandleKey(Key key, int key_status) for (pnr = 0; pnr < MAX_PLAYERS; pnr++) { - int i; byte key_action = 0; if (setup.input[pnr].use_joystick) @@ -649,8 +648,6 @@ void HandleKey(Key key, int key_status) } else { - int i; - for (i = 0; i < 6; i++) if (key == key_info[i].key_default) joy |= key_info[i].action; @@ -700,6 +697,30 @@ void HandleKey(Key key, int key_status) TapeTogglePause(TAPE_TOGGLE_MANUAL); } + if (game_status == GAME_MODE_PLAYING) + { + 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 == 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); if (HandleGadgetsKeyInput(key)) @@ -813,6 +834,7 @@ void HandleKey(Key key, int key_status) #ifdef DEBUG case KSYM_0: +#if 0 case KSYM_1: case KSYM_2: case KSYM_3: @@ -822,6 +844,7 @@ void HandleKey(Key key, int key_status) case KSYM_7: case KSYM_8: case KSYM_9: +#endif if (key == KSYM_0) { if (GameFrameDelay == 500)