aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 5a66638..2878c7f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -216,6 +216,8 @@ int main(int argc, char *argv[]) {
while ( !finished ) {
int mx, my;
+ Uint8 buttons;
+ int mouse_thrust = 0;
/* Timer advances only when game is not paused */
if ( !game->paused ) {
@@ -258,17 +260,22 @@ int main(int argc, char *argv[]) {
break;
}
- SDL_GetMouseState(&mx, &my);
+ buttons = SDL_GetMouseState(&mx, &my);
game->view_yaw = -(mx-cx)*vyaw_scale;
game->view_angle = deg2rad(-20.0) + (my-cy)*vang_scale;
if ( game->view_angle > deg2rad(89.0) ) game->view_angle = deg2rad(89.0);
if ( game->view_angle < deg2rad(-89.0) ) game->view_angle = deg2rad(-89.0);
-
+ if ( !game->thrusting && (buttons & SDL_BUTTON(1)) ) {
+ game->thrusting = 1;
+ mouse_thrust = 1;
+ }
if ( !game->paused ) {
physics_step(game, t);
render_draw(game, t);
}
+ if ( mouse_thrust ) game->thrusting = 0;
+
if ( gameopts.status_line ) {
printf("%+7.4f %+7.4f %+7.4f %+5.1f deg %+7.5f %+7.5f %+7.5f %2i %2i %2i %3i fps\r",
game->lander->x, game->lander->y, game->lander->z,