From 14d97f2249b6fea3971c108f852b34cd5eb4d059 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 18 Nov 2018 09:00:23 +0100 Subject: [PATCH] OVR: Reassign buttons for observer reset and help screen --- src/mercenary/main.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/mercenary/main.c b/src/mercenary/main.c index 95277db..6931b29 100644 --- a/src/mercenary/main.c +++ b/src/mercenary/main.c @@ -402,34 +402,33 @@ static void handle_vr_poses(void) /* handle input */ get_poses_ovr(&button_a, &button_b, &button_x, &button_y, &button_menu, &button_left_trigger, &button_right_trigger, &button_left_thumb, &button_right_thumb, &hand_right_x, &hand_right_y, &hand_right_z, &hand_right_yaw, &hand_right_pitch, &hand_right_roll, &stick_left_x, &stick_left_y, &stick_right_x, &stick_right_y, &head_yaw, &head_pitch, &head_roll); - if (button_menu && !button_menu_last) { + if (button_a && !button_a_last) { /* menu toggle */ toggle_help(); } - if (button_right_thumb) { + if (button_b && !button_b_last) { + /* reset observer */ + reset_observer_ovr(); + osd_info("", "reset observer"); + } + if (button_x && !button_x_last) { + /* menu toggle */ + toggle_help(); + } + if (button_y && !button_y_last) { /* reset observer */ reset_observer_ovr(); osd_info("", "reset observer"); } if (!help_view) { - if (button_x && !button_x_last) { - /* 'board' pressed */ - set_amiga_key(KEYCODE_b, 1); - set_amiga_key(KEYCODE_b, 0); - /* important: get rid of old state */ - thrust = 0; - } - if (button_y && !button_y_last) { - /* 'leave' pressed */ - set_amiga_key(KEYCODE_l, 1); - set_amiga_key(KEYCODE_l, 0); - } if (button_right_trigger && !button_right_trigger_last) { /* trigger pressed */ if (keyboard_on) { if (vr_key) { vr_key_pressed = vr_key; set_amiga_key(vr_key_pressed, 1); + /* reset vr thrust */ + thrust = 0; } } else { /* fire button */ @@ -1302,6 +1301,10 @@ static void keyboard_sdl(int down, enum keycode keycode) set_amiga_key(KEYCODE_HELP, down); break; default: + /* reset vr thrust */ +#ifdef HAVE_OVR + thrust_last = 0; +#endif set_amiga_key(keycode, down); } } @@ -1514,11 +1517,11 @@ int main(int argc, char *argv[]) text_render(help_osd[2], IMAGE_WIDTH * 2, IMAGE_HEIGHT * 2, mercenary_name, HELP_ALPHA, 3, (double)(80 - strlen(mercenary_name)) / 2.0, 1, 1); text_render(help_osd[2], IMAGE_WIDTH * 2, IMAGE_HEIGHT * 2, "Emulation using Controller:\n" - " Press `Enter' button to toggle this help screen on or off.\n" - " To have a virtual keyboard, point below benson (control pannel).\n" + " Press `A' or 'X' button to toggle this help screen on or off.\n" + " Press 'B' or 'Y' button to reset observer position. (importaint!)\n" + " To have a virtual keyboard, point right hand below control pannel.\n" " Point to a key on keyboard. The key will highlight.\n" " Pull `Trigger' on right controller to enter the highlighted key.\n" - " Press thumb stick on right controller to reset observer position.\n" "\n" "Walking / Driving / Flying using Controller:\n" " Use thumb stick on right controller, to move player / craft.\n" -- 2.13.6