Merge branch 'master' of github.com:Faerbit/swp
This commit is contained in:
commit
6f0e0997e3
23
level.cc
23
level.cc
@ -62,23 +62,28 @@ void Level::update(float runTimeSinceLastUpdate, float runTime, glm::vec2 mouseD
|
|||||||
// Ignore first two mouse updates, because they are incorrect
|
// Ignore first two mouse updates, because they are incorrect
|
||||||
// DON'T try to move this functionallity elsewhere
|
// DON'T try to move this functionallity elsewhere
|
||||||
static int i = 0;
|
static int i = 0;
|
||||||
if (i <2) {
|
if (i <20) {
|
||||||
i++;
|
i++;
|
||||||
|
mouseDelta.x=mouseDelta.y=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int runs = 2;
|
int runs = 2;
|
||||||
|
|
||||||
|
if(i>=20)
|
||||||
|
{
|
||||||
|
mouseDelta.x = -mouseDelta.x;
|
||||||
|
}
|
||||||
|
|
||||||
for(int j = runs; j > 0; j--)
|
for(int j = runs; j > 0; j--)
|
||||||
{
|
{
|
||||||
physics.takeUpdateStep(runTimeSinceLastUpdate/runs);
|
physics.takeUpdateStep(runTimeSinceLastUpdate/runs);
|
||||||
if(i>=2)
|
|
||||||
{
|
camera.updateRotation(mouseDelta/100.0f/(float)runs);
|
||||||
mouseDelta.x = -mouseDelta.x;
|
physics.updateCameraPos(mouseDelta, 50/runs, camera.getDistance());
|
||||||
camera.updateRotation(mouseDelta/100.0f/(float)runs);
|
|
||||||
physics.updateCameraPos(mouseDelta, 50/runs, camera.getDistance());
|
|
||||||
|
|
||||||
camera.setPosition(physics.getCameraPosition());
|
camera.setPosition(physics.getCameraPosition());
|
||||||
camera.setDirection(physics.getCameraToPlayer());
|
camera.setDirection(physics.getCameraToPlayer());
|
||||||
}
|
|
||||||
if(wPressed){
|
if(wPressed){
|
||||||
physics.rollForward(camera.getVector(),strength/runs);
|
physics.rollForward(camera.getVector(),strength/runs);
|
||||||
}
|
}
|
||||||
|
@ -416,7 +416,7 @@ void Physics::addSphere(float rad, Entity entity, float mass, float dampningL, f
|
|||||||
|
|
||||||
void Physics::addCamera() //Camera Creator automatically called when player is created
|
void Physics::addCamera() //Camera Creator automatically called when player is created
|
||||||
{
|
{
|
||||||
btSphereShape* sphere = new btSphereShape(0.5f); //we use this to make a more interesting camera, that does not interpenetrate with the terrain/objects
|
btSphereShape* sphere = new btSphereShape(0.2f); //we use this to make a more interesting camera, that does not interpenetrate with the terrain/objects
|
||||||
|
|
||||||
btVector3 inertia(0,0,0); //rotation handled elsewhere (as it always has to look at the player)
|
btVector3 inertia(0,0,0); //rotation handled elsewhere (as it always has to look at the player)
|
||||||
|
|
||||||
@ -481,7 +481,7 @@ void Physics::updateCameraPos(glm::vec2 mouseMovement, float strength, float dis
|
|||||||
this->cameraDistance = distance;
|
this->cameraDistance = distance;
|
||||||
//note: in mouseMovement x and y are flipped in contrast to bullet
|
//note: in mouseMovement x and y are flipped in contrast to bullet
|
||||||
btVector3 dodo = btVector3(0,1,0).cross(btVector3(currentDirection.x(),0,currentDirection.z()));
|
btVector3 dodo = btVector3(0,1,0).cross(btVector3(currentDirection.x(),0,currentDirection.z()));
|
||||||
currentDirection = currentDirection.rotate(dodo,-mouseMovement.x / 100);//mathhelper 3.14159265359
|
currentDirection = currentDirection.rotate(dodo,-mouseMovement.x / 50);//mathhelper 3.14159265359
|
||||||
|
|
||||||
btVector3 compare = currentDirection;
|
btVector3 compare = currentDirection;
|
||||||
compare.setY(0);
|
compare.setY(0);
|
||||||
|
Loading…
Reference in New Issue
Block a user