From dbc486d5cc0fa6b7cdb690fb4591f292d33e9ecc Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 19 Feb 2018 10:45:04 -0500 Subject: Added freefalling terminal velocity --- src/consts.h | 1 + src/systems/pondering.cpp | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/consts.h b/src/consts.h index a065159..f3f777f 100644 --- a/src/consts.h +++ b/src/consts.h @@ -22,5 +22,6 @@ const double JUMP_GRAVITY = CALC_GRAVITY(TILE_HEIGHT*4.5, 0.3); const double JUMP_VELOCITY = CALC_VELOCITY(TILE_HEIGHT*4.5, 0.3); const double WALK_SPEED = 90; +const double TERMINAL_VELOCITY = 240; #endif diff --git a/src/systems/pondering.cpp b/src/systems/pondering.cpp index d3601ac..02d5cfc 100644 --- a/src/systems/pondering.cpp +++ b/src/systems/pondering.cpp @@ -39,6 +39,12 @@ void PonderingSystem::tick(double dt) ponderable.setVelocityY( ponderable.getVelocityY() + ponderable.getAccelY() * dt); + if ((ponderable.getType() == PonderableComponent::Type::freefalling) + && (ponderable.getVelocityY() > TERMINAL_VELOCITY)) + { + ponderable.setVelocityY(TERMINAL_VELOCITY); + } + const double oldX = transformable.getX(); const double oldY = transformable.getY(); const double oldRight = oldX + transformable.getW(); -- cgit 1.4.1