[Fix] Bug that was introduced when allowing toolkit some control.

This commit is contained in:
Allanis 2013-02-27 15:48:12 +00:00
parent 8cb99e490c
commit cc4dc358c1

View File

@ -112,7 +112,8 @@ void input_setKeybind(char* keybind, KeybindType type, int key, int reverse) {
// value : Value of keypress (defined above). // value : Value of keypress (defined above).
// abs : Whether or not it's an abs value (For those pesky joysticks. // abs : Whether or not it's an abs value (For those pesky joysticks.
// ===================================================================== // =====================================================================
#define KEY(s) (strcmp(input_keybinds[keynum]->name, s)==0) #define KEY(s) (strcmp(input_keybinds[keynum]->name, s)==0)
#define INGAME() (!paused)
static void input_key(int keynum, double value, int abs) { static void input_key(int keynum, double value, int abs) {
// Accelerating. // Accelerating.
if(KEY("accel")) { if(KEY("accel")) {
@ -176,43 +177,43 @@ static void input_key(int keynum, double value, int abs) {
} }
} }
// Board those ships. // Board those ships.
else if(KEY("board") && !paused) { else if(KEY("board") && INGAME()) {
if(value == KEY_PRESS) player_board(); if(value == KEY_PRESS) player_board();
} }
// Shooting secondary weapon. // Shooting secondary weapon.
else if(KEY("secondary") && !paused) { else if(KEY("secondary") && INGAME()) {
if(value == KEY_PRESS) player_setFlag(PLAYER_SECONDARY); if(value == KEY_PRESS) player_setFlag(PLAYER_SECONDARY);
else if(value == KEY_RELEASE) player_rmFlag(PLAYER_SECONDARY); else if(value == KEY_RELEASE) player_rmFlag(PLAYER_SECONDARY);
} }
// Selecting secondary weapon. // Selecting secondary weapon.
else if(KEY("secondary_next") && !paused) { else if(KEY("secondary_next") && INGAME()) {
if(value == KEY_PRESS) player_secondaryNext(); if(value == KEY_PRESS) player_secondaryNext();
} }
// Space. // Space.
// Target planet (cycles just like target). // Target planet (cycles just like target).
else if(KEY("target_planet") && !paused) { else if(KEY("target_planet") && INGAME()) {
if(value == KEY_PRESS) player_targetPlanet(); if(value == KEY_PRESS) player_targetPlanet();
} }
// Target nearest planet or attempt to land. // Target nearest planet or attempt to land.
else if(KEY("land") && !paused) { else if(KEY("land") && INGAME()) {
if(value == KEY_PRESS) player_land(); if(value == KEY_PRESS) player_land();
} }
else if(KEY("thyperspace") && !paused) { else if(KEY("thyperspace") && INGAME()) {
if(value == KEY_PRESS) player_targetHyperspace(); if(value == KEY_PRESS) player_targetHyperspace();
} }
else if(KEY("jump") && !paused) { else if(KEY("jump") && INGAME()) {
if(value == KEY_PRESS) player_jump(); if(value == KEY_PRESS) player_jump();
} }
// Zoom in. // Zoom in.
else if(KEY("mapzoomin")) { else if(KEY("mapzoomin") && INGAME()) {
if(value == KEY_PRESS) player_setRadarRel(1); if(value == KEY_PRESS) player_setRadarRel(1);
} }
// Zoom out. // Zoom out.
else if(KEY("mapzoomout")) { else if(KEY("mapzoomout") && INGAME()) {
if(value == KEY_PRESS) player_setRadarRel(-1); if(value == KEY_PRESS) player_setRadarRel(-1);
} }
// Take a screenshot. // Take a screenshot.
else if(KEY("screenshot")) { else if(KEY("screenshot") && INGAME()) {
if(value == KEY_PRESS) player_screenshot(); if(value == KEY_PRESS) player_screenshot();
} }
// Pause the game. // Pause the game.
@ -299,11 +300,10 @@ static void input_keyup(SDLKey key) {
// Just seperates the event types. // Just seperates the event types.
void input_handle(SDL_Event* event) { void input_handle(SDL_Event* event) {
if(toolkit) { if(toolkit)
// Toolkit is handled seperately. // Toolkit is handled seperately.
toolkit_input(event); toolkit_input(event);
return;
}
switch(event->type) { switch(event->type) {
case SDL_JOYAXISMOTION: case SDL_JOYAXISMOTION:
input_joyaxis(event->jaxis.axis, event->jaxis.value); input_joyaxis(event->jaxis.axis, event->jaxis.value);