From 6f12836395e2788ce3393c4447f5f34f1e56d0fa Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Sat, 16 Mar 2013 17:11:08 +0000
Subject: [PATCH] [Fix] Someone has to put a stop to VLack finding my bugs.

---
 src/input.c | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/input.c b/src/input.c
index 3035111..dbe641e 100644
--- a/src/input.c
+++ b/src/input.c
@@ -117,6 +117,11 @@ void input_setKeybind(char* keybind, KeybindType type, int key, int reverse) {
 // =====================================================================
 #define KEY(s) 		(strcmp(input_keybinds[keynum]->name, s)==0)
 #define INGAME()	(!toolkit)
+// We won't be having any more funny stuff from VLack..
+#define NOHYP() \
+	(!pilot_isFlag(player, PILOT_HYP_PREP) && \
+	!pilot_isFlag(player, PILOT_HYP_BEGIN) && \
+	!pilot_isFlag(player, PILOT_HYPERSPACE))
 static void input_key(int keynum, double value, int abs) {
   // Accelerating.
   if(KEY("accel")) {
@@ -156,15 +161,15 @@ static void input_key(int keynum, double value, int abs) {
     }
   }
   // Shoot primary weapon. BOOM BOOM.
-  else if(KEY("primary") && !paused) {
+  else if(KEY("primary")) {
     if(value == KEY_PRESS) { player_setFlag(PLAYER_PRIMARY); }
     else if(value == KEY_RELEASE) { player_rmFlag(PLAYER_PRIMARY); }
   }
   // Targetting.
-  else if(KEY("target") && !paused) {
+  else if(KEY("target") && INGAME()) {
     if(value == KEY_PRESS) player_target = pilot_getNext(player_target);
   }
-  else if(KEY("target_nearest")) {
+  else if(KEY("target_nearest") && INGAME()) {
     if(value == KEY_PRESS) player_target = pilot_getHostile();
   }
   // Face the target.
@@ -180,11 +185,11 @@ static void input_key(int keynum, double value, int abs) {
     }
   }
   // Board those ships.
-  else if(KEY("board") && INGAME()) {
+  else if(KEY("board") && INGAME() && NOHYP()) {
     if(value == KEY_PRESS) player_board();
   }
   // Shooting secondary weapon.
-  else if(KEY("secondary") && INGAME()) {
+  else if(KEY("secondary") && INGAME() && NOHYP()) {
     if(value == KEY_PRESS) { player_setFlag(PLAYER_SECONDARY); }
     else if(value == KEY_RELEASE) { player_rmFlag(PLAYER_SECONDARY); }
   }
@@ -194,17 +199,17 @@ static void input_key(int keynum, double value, int abs) {
   }
   // Space.
   // Target planet (cycles just like target).
-  else if(KEY("target_planet") && INGAME()) {
+  else if(KEY("target_planet") && INGAME() && NOHYP()) {
     if(value == KEY_PRESS) player_targetPlanet();
   }
   // Target nearest planet or attempt to land.
-  else if(KEY("land") && INGAME()) {
+  else if(KEY("land") && INGAME() && NOHYP()) {
     if(value == KEY_PRESS) player_land();
   }
-  else if(KEY("thyperspace") && INGAME()) {
+  else if(KEY("thyperspace") && INGAME() && NOHYP()) {
     if(value == KEY_PRESS) player_targetHyperspace();
   }
-	else if(KEY("starmap")) {
+	else if(KEY("starmap") && NOHYP()) {
 		if(value == KEY_PRESS) map_open();
 	}
   else if(KEY("jump") && INGAME()) {
@@ -223,7 +228,7 @@ static void input_key(int keynum, double value, int abs) {
     if(value == KEY_PRESS) player_screenshot();
   }
   // Pause the game.
-  else if(KEY("pause")) {
+  else if(KEY("pause") && NOHYP()) {
     if(value == KEY_PRESS) {
       if(!toolkit) {
         if(paused) unpause();
@@ -231,11 +236,11 @@ static void input_key(int keynum, double value, int abs) {
     }
   }
   // Opens a menu.
-  else if(KEY("menu")) {
+  else if(KEY("menu") && NOHYP()) {
     if(value == KEY_PRESS) menu_small();
   }
 	// Show pilot information.
-	else if(KEY("info")) {
+	else if(KEY("info") && NOHYP()) {
 		if(value == KEY_PRESS) info_menu();
 	}
 }