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>2008-02-17 18:59:52 +0000
committerStijn Buys <ingar@osirion.org>2008-02-17 18:59:52 +0000
commit982562fa19bb87a3dab352e562f386f61c171b7b (patch)
treeaeade8d5b7d3c68f5c222af1d8ecc6a734e1b43f /src/client/input.cc
parentd198b7b8d9ff713d891f35ab173d1f428f610e7d (diff)
major rewrite of Cvar, Func and Entity
Diffstat (limited to 'src/client/input.cc')
-rw-r--r--src/client/input.cc33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/client/input.cc b/src/client/input.cc
index ee16038..9053725 100644
--- a/src/client/input.cc
+++ b/src/client/input.cc
@@ -20,7 +20,9 @@ namespace input
{
// local offset to make turns
-float turn_offset;
+float local_turn_offset;
+// local thrust setting
+float local_thrust;
void init()
{
@@ -63,23 +65,27 @@ void keypressed(const SDL_keysym &keysym)
break;
case SDLK_KP_PLUS:
// TODO set core entity params
- core::localplayer.control->target_thrust += 0.08f;
+ local_thrust += 0.08f;
+ if (local_thrust > 1.0f)
+ local_thrust = 1.0f;
break;
case SDLK_KP_MINUS:
// TODO set core entity params
- core::localplayer.control->target_thrust -= 0.1f;
+ local_thrust -= 0.1f;
+ if (local_thrust < 0.0f)
+ local_thrust = 0.0f;
break;
case SDLK_KP4:
// TODO set core entity params
- turn_offset += 5;
- if (turn_offset > 90)
- turn_offset = 90;
+ local_turn_offset += 5;
+ if (local_turn_offset > 90)
+ local_turn_offset = 90;
break;
case SDLK_KP6:
// TODO set core entity params
- turn_offset -= 5;
- if (turn_offset < -90)
- turn_offset = -90;
+ local_turn_offset -= 5;
+ if (local_turn_offset < -90)
+ local_turn_offset = -90;
break;
default:
break;
@@ -95,7 +101,7 @@ void frame(float seconds)
switch (event.type) {
case SDL_KEYUP:
- if (!console::visible() && core::application()->connected() && core::localplayer.control)
+ if (!console::visible() && core::application()->connected() && core::Player::local.control)
// send key events to the game world
keyreleased(event.key.keysym);
break;
@@ -105,7 +111,7 @@ void frame(float seconds)
} else if (console::visible()) {
// send key events to the console
console::keypressed(event.key.keysym);
- } else if (core::application()->connected() && core::localplayer.control) {
+ } else if (core::application()->connected() && core::Player::local.control) {
// send key events to the game world
keypressed(event.key.keysym);
}
@@ -117,8 +123,9 @@ void frame(float seconds)
}
- if (!console::visible() && core::application()->connected() && core::localplayer.control) {
- core::localplayer.control->target_direction = math::degrees360f(core::localplayer.control->direction+turn_offset);
+ if (!console::visible() && core::application()->connected() && core::Player::local.control) {
+ core::Player::local.control->set_thrust(local_thrust);
+ core::Player::local.control->set_direction(math::degrees360f(core::Player::local.control->direction() + local_turn_offset));
}
}