Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2015-01-06 19:16:58 +0000
committerStijn Buys <ingar@osirion.org>2015-01-06 19:16:58 +0000
commitda18502a892f7ab025972c51fe268ef7e5e9a18b (patch)
treebb7be01bd5d66fbcf3400b3ef361de243147426f /src/client
parent72ee43e9470c6fdbc6ed7ff92b85dfa5062c5762 (diff)
SDL2 support in previous commit,
corrected a segfault when pressing a key with an unknown scancode, renamed camera related actions to +lookleft +lookright +lookup +lookdown, bind +freelook to left shift by default.
Diffstat (limited to 'src/client')
-rw-r--r--src/client/action.h2
-rw-r--r--src/client/input.cc20
-rw-r--r--src/client/keyboard.cc11
3 files changed, 17 insertions, 16 deletions
diff --git a/src/client/action.h b/src/client/action.h
index 0a7e247..abd7059 100644
--- a/src/client/action.h
+++ b/src/client/action.h
@@ -34,7 +34,7 @@ public:
ThrustUp, ThrustDown,
Afterburner, Reverse,
Control,
- CamLeft, CamRight, CamUp, CamDown,
+ LookLeft, LookRight, LookUp, LookDown,
ZoomIn, ZoomOut,
Fire,
FreeLook
diff --git a/src/client/input.cc b/src/client/input.cc
index cf0c986..9b2521e 100644
--- a/src/client/input.cc
+++ b/src/client/input.cc
@@ -411,7 +411,7 @@ void action_press(Key *key)
/* -- camera control ------------------------------ */
- case Action::CamLeft:
+ case Action::LookLeft:
if (render::Camera::mode() == render::Camera::Free)
{
render::Camera::set_direction(math::min(key->pressed() - core::application()->time(), 1.0f));
@@ -419,7 +419,7 @@ void action_press(Key *key)
render::Camera::set_direction(-math::min(key->pressed() - core::application()->time(), 1.0f));
}
break;
- case Action::CamRight:
+ case Action::LookRight:
if (render::Camera::mode() == render::Camera::Free)
{
render::Camera::set_direction(-math::min(key->pressed() - core::application()->time(), 1.0f));
@@ -427,7 +427,7 @@ void action_press(Key *key)
render::Camera::set_direction(math::min(key->pressed() - core::application()->time(), 1.0f));
}
break;
- case Action::CamUp:
+ case Action::LookUp:
if (render::Camera::mode() == render::Camera::Free)
{
render::Camera::set_pitch(math::min(key->pressed() - core::application()->time(), 1.0f));
@@ -435,7 +435,7 @@ void action_press(Key *key)
render::Camera::set_pitch(-math::min(key->pressed() - core::application()->time(), 1.0f));
}
break;
- case Action::CamDown:
+ case Action::LookDown:
if (render::Camera::mode() == render::Camera::Free)
{
render::Camera::set_pitch(-math::min(key->pressed() - core::application()->time(), 1.0f));
@@ -546,16 +546,16 @@ void action_release(Key *key)
/* -- camera control ------------------------------ */
- case Action::CamLeft:
+ case Action::LookLeft:
render::Camera::set_direction(0.0f);
break;
- case Action::CamRight:
+ case Action::LookRight:
render::Camera::set_direction(0.0f);
break;
- case Action::CamUp:
+ case Action::LookUp:
render::Camera::set_pitch(0.0f);
break;
- case Action::CamDown:
+ case Action::LookDown:
render::Camera::set_pitch(0.0f);
break;
case Action::ZoomIn:
@@ -804,7 +804,7 @@ void frame()
case SDL_MOUSEBUTTONDOWN:
key = keyboard->press(512 + event.button.button);
pressed = true;
- if (key && (console_key_pressed(key) || ui::root()->input_mouse_button(true, event.button.button)))
+ if ((key && console_key_pressed(key)) || ui::root()->input_mouse_button(true, event.button.button))
{
key = 0;
}
@@ -865,7 +865,7 @@ void frame()
keyboard_modifiers = event.key.keysym.mod;
key = keyboard->press(event.key.keysym.scancode);
pressed = true;
- if (console_key_pressed(key) || ui::root()->input_key(true, Keyboard::translate_keysym(event.key.keysym.sym, keyboard_modifiers), keyboard_modifiers))
+ if ((key && console_key_pressed(key)) || ui::root()->input_key(true, Keyboard::translate_keysym(event.key.keysym.sym, keyboard_modifiers), keyboard_modifiers))
{
key = 0;
}
diff --git a/src/client/keyboard.cc b/src/client/keyboard.cc
index e21fc91..bb3b20d 100644
--- a/src/client/keyboard.cc
+++ b/src/client/keyboard.cc
@@ -38,10 +38,10 @@ Keyboard::Keyboard()
add_action("+rollleft", Action::RollLeft, "roll left");
add_action("+rollright", Action::RollRight, "roll right");
- add_action("+camleft", Action::CamLeft, "rotate camera left");
- add_action("+camright", Action::CamRight, "rotate camera right");
- add_action("+camup", Action::CamUp, "rotate camera up");
- add_action("+camdown", Action::CamDown, "rotate camera down");
+ add_action("+lookleft", Action::LookLeft, "look left");
+ add_action("+lookright", Action::LookRight, "look right");
+ add_action("+lookup", Action::LookUp, "look up");
+ add_action("+lookdown", Action::LookDown, "look down");
add_action("+zoomin", Action::ZoomIn, "zoom camera in");
add_action("+zoomout", Action::ZoomOut, "zoom camera out");
@@ -151,6 +151,7 @@ Keyboard::Keyboard()
add_key(SDL_SCANCODE_KP_PLUS, "kpplus", '+', "+thrustup");
add_key(SDL_SCANCODE_KP_ENTER, "kpenter", '\n', "ui_chat");
add_key(SDL_SCANCODE_KP_EQUALS, "kpequal", '=');
+ add_key(SDL_SCANCODE_KP_LESS, "kpless", '<');
add_key(SDL_SCANCODE_UP, "up", 0, "+camup");
add_key(SDL_SCANCODE_DOWN, "down", 0, "+camdown");
@@ -187,7 +188,7 @@ Keyboard::Keyboard()
add_key(SDL_SCANCODE_SCROLLLOCK, "scrollock");
add_key(SDL_SCANCODE_RSHIFT, "rshift");
- add_key(SDL_SCANCODE_LSHIFT, "lshift");
+ add_key(SDL_SCANCODE_LSHIFT, "lshift", 0, "+freelook");
add_key(SDL_SCANCODE_RCTRL, "rctrl");
add_key(SDL_SCANCODE_LCTRL, "lctrl");