diff options
author | Stijn Buys <ingar@osirion.org> | 2010-10-17 17:19:03 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2010-10-17 17:19:03 +0000 |
commit | d6e4c4e7c2b1e28961f1dfe2f25ef96ced60b21b (patch) | |
tree | 63744dff093a8b23f65d9c68b922b678805647d9 /src/client/input.cc | |
parent | ea6e6bb769d713ac55114c1940626f13e384ebed (diff) |
core bullet physics support,
initial vstrafe support
Diffstat (limited to 'src/client/input.cc')
-rw-r--r-- | src/client/input.cc | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/client/input.cc b/src/client/input.cc index 16ba048..d483f5d 100644 --- a/src/client/input.cc +++ b/src/client/input.cc @@ -52,6 +52,7 @@ float local_pitch = 0.0f; float local_thrust = 0.0f; float local_roll = 0.0f; float local_strafe = 0.0f; +float local_vstrafe = 0.0f; float local_afterburner = 0.0f; // last controlled entity @@ -375,7 +376,13 @@ void action_press(Key *key) case Action::StrafeRight: local_strafe = -1.0f; break; - + case Action::StrafeUp: + local_vstrafe = -1.0f; + break; + case Action::StrafeDown: + local_vstrafe = -1.0f; + break; + /* -- thruster ------------------------------------ */ case Action::ThrustUp: local_thrust += thruster_offset; @@ -456,6 +463,12 @@ void action_release(Key *key) case Action::StrafeRight: local_strafe = 0.0f; break; + case Action::StrafeUp: + local_vstrafe = 0.0f; + break; + case Action::StrafeDown: + local_vstrafe = 0.0f; + break; /* -- thruster ------------------------------------ */ case Action::ThrustUp: @@ -483,6 +496,8 @@ void action_release(Key *key) local_direction = 0.0f; local_pitch = 0.0f; local_roll = 0.0f; + local_vstrafe = 0.0f; + local_strafe = 0.0f; render::Camera::set_direction(0.0f); render::Camera::set_pitch(0.0f); @@ -660,6 +675,7 @@ void reset() local_direction = 0.0f; local_pitch = 0.0f; local_roll = 0.0f; + local_vstrafe = 0.0f; local_strafe = 0.0f; local_afterburner = 0.0f; @@ -897,6 +913,7 @@ void frame() core::localcontrol()->set_pitch(local_pitch / render::State::aspect()); core::localcontrol()->set_roll(local_roll); core::localcontrol()->set_strafe(local_strafe); + core::localcontrol()->set_vstrafe(local_vstrafe); core::localcontrol()->set_afterburner(local_afterburner); } else { @@ -904,6 +921,9 @@ void frame() local_direction = 0.0f; local_pitch = 0.0f; local_roll = 0.0f; + local_vstrafe = 0.0f; + local_strafe = 0.0f; + local_afterburner = 0.0f; render::Camera::set_direction(0.0f); render::Camera::set_pitch(0.0f); |