From c9a48c8cbea8718181632c461a7ed9abae9988e3 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Fri, 9 Feb 2024 16:07:42 +0100 Subject: Use a more loose time for nudging triggers --- src/gba/gba.h | 80 ++++++++++++++++++++++------------------------------------- 1 file changed, 30 insertions(+), 50 deletions(-) (limited to 'src/gba/gba.h') diff --git a/src/gba/gba.h b/src/gba/gba.h index 2cc167f..3f629fd 100644 --- a/src/gba/gba.h +++ b/src/gba/gba.h @@ -347,64 +347,44 @@ _key_retrig(int key, int offset, int frames) { } switch (key) { case KEY_L: { - if (key_hold(key)) { - if (ctrl.key_l < offset) { return false; } - if (ctrl.key_l % frames == 0) { return true; } - } + if (ctrl.key_l < offset) { return false; } + if (ctrl.key_l % frames == 0) { return true; } } break; case KEY_R: { - if (key_hold(key)) { - if (ctrl.key_r < offset) { return false; } - if (ctrl.key_r % frames == 0) { return true; } - } + if (ctrl.key_r < offset) { return false; } + if (ctrl.key_r % frames == 0) { return true; } } break; case KEY_A: { - if (key_hold(key)) { - if (ctrl.key_a < offset) { return false; } - if (ctrl.key_a % frames == 0) { return true; } - } + if (ctrl.key_a < offset) { return false; } + if (ctrl.key_a % frames == 0) { return true; } } break; case KEY_B: { - if (key_hold(key)) { - if (ctrl.key_b < offset) { return false; } - if (ctrl.key_b % frames == 0) { return true; } - } + if (ctrl.key_b < offset) { return false; } + if (ctrl.key_b % frames == 0) { return true; } } break; case KEY_SELECT: { - if (key_hold(key)) { - if (ctrl.key_select < offset) { return false; } - if (ctrl.key_select % frames == 0) { return true; } - } + if (ctrl.key_select < offset) { return false; } + if (ctrl.key_select % frames == 0) { return true; } } break; case KEY_START: { - if (key_hold(key)) { - if (ctrl.key_start < offset) { return false; } - if (ctrl.key_start % frames == 0) { return true; } - } + if (ctrl.key_start < offset) { return false; } + if (ctrl.key_start % frames == 0) { return true; } } break; case KEY_UP: { - if (key_hold(key)) { - if (ctrl.key_up < offset) { return false; } - if (ctrl.key_up % frames == 0) { return true; } - } + if (ctrl.key_up < offset) { return false; } + if (ctrl.key_up % frames == 0) { return true; } } break; case KEY_DOWN: { - if (key_hold(key)) { - if (ctrl.key_down < offset) { return false; } - if (ctrl.key_down % frames == 0) { return true; } - } + if (ctrl.key_down < offset) { return false; } + if (ctrl.key_down % frames == 0) { return true; } } break; case KEY_LEFT: { - if (key_hold(key)) { - if (ctrl.key_left < offset) { return false; } - if (ctrl.key_left % frames == 0) { return true; } - } + if (ctrl.key_left < offset) { return false; } + if (ctrl.key_left % frames == 0) { return true; } } break; case KEY_RIGHT: { - if (key_hold(key)) { - if (ctrl.key_right < offset) { return false; } - if (ctrl.key_right % frames == 0) { return true; } - } + if (ctrl.key_right < offset) { return false; } + if (ctrl.key_right % frames == 0) { return true; } } break; } return false; @@ -419,16 +399,16 @@ key_retrig(int key) { static inline void update_controller(void) { - if (key_pressed(KEY_UP)) { ctrl.key_up++; } else if (key_released(KEY_UP)) { ctrl.key_up = 0; } - if (key_pressed(KEY_DOWN)) { ctrl.key_down++; } else if (key_released(KEY_DOWN)) { ctrl.key_down = 0; } - if (key_pressed(KEY_LEFT)) { ctrl.key_left++; } else if (key_released(KEY_LEFT)) { ctrl.key_left = 0; } - if (key_pressed(KEY_RIGHT)) { ctrl.key_right++; } else if (key_released(KEY_RIGHT)) { ctrl.key_right = 0; } - if (key_pressed(KEY_L)) { ctrl.key_l++; } else if (key_released(KEY_L)) { ctrl.key_l = 0; } - if (key_pressed(KEY_R)) { ctrl.key_r++; } else if (key_released(KEY_R)) { ctrl.key_r = 0; } - if (key_pressed(KEY_A)) { ctrl.key_a++; } else if (key_released(KEY_A)) { ctrl.key_a = 0; } - if (key_pressed(KEY_B)) { ctrl.key_b++; } else if (key_released(KEY_B)) { ctrl.key_b = 0; } - if (key_pressed(KEY_SELECT)) { ctrl.key_select++; } else if (key_released(KEY_SELECT)) { ctrl.key_select = 0; } - if (key_pressed(KEY_START)) { ctrl.key_start++; } else if (key_released(KEY_START)) { ctrl.key_start = 0; } + if (key_pressed(KEY_UP)) { ctrl.key_up++; } else { ctrl.key_up = 0; } + if (key_pressed(KEY_DOWN)) { ctrl.key_down++; } else { ctrl.key_down = 0; } + if (key_pressed(KEY_LEFT)) { ctrl.key_left++; } else { ctrl.key_left = 0; } + if (key_pressed(KEY_RIGHT)) { ctrl.key_right++; } else { ctrl.key_right = 0; } + if (key_pressed(KEY_L)) { ctrl.key_l++; } else { ctrl.key_l = 0; } + if (key_pressed(KEY_R)) { ctrl.key_r++; } else { ctrl.key_r = 0; } + if (key_pressed(KEY_A)) { ctrl.key_a++; } else { ctrl.key_a = 0; } + if (key_pressed(KEY_B)) { ctrl.key_b++; } else { ctrl.key_b = 0; } + if (key_pressed(KEY_SELECT)) { ctrl.key_select++; } else { ctrl.key_select = 0; } + if (key_pressed(KEY_START)) { ctrl.key_start++; } else { ctrl.key_start = 0; } } static inline -- cgit v1.2.1