OVR: Reassign buttons for observer reset and help screen
[mercenary-reloaded.git] / src / mercenary / main.c
index 95277db..6931b29 100644 (file)
@@ -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"