From fed63e3593976fd3559a65b8f916947aeb3103dd Mon Sep 17 00:00:00 2001 From: Dander7BD Date: Thu, 27 Feb 2014 15:13:08 +0100 Subject: [PATCH] restored lost edits --- Code/Game/GameLogic/Player.cpp | 21 ++++++++++++++------- Code/Game/GameLogic/Player.h | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Code/Game/GameLogic/Player.cpp b/Code/Game/GameLogic/Player.cpp index 9cd4635e..af4fd42e 100644 --- a/Code/Game/GameLogic/Player.cpp +++ b/Code/Game/GameLogic/Player.cpp @@ -6,6 +6,8 @@ using namespace GameLogic; using namespace Oyster::Physics; +using namespace Oyster::Math; + const float MOVE_FORCE = 30; const float KEY_TIMER = 0.03f; const float AFFECTED_TIMER = 1.0f; @@ -63,16 +65,21 @@ void Player::initPlayerData() this->deathTimer = 0; this->rotationUp = 0; + + ICustomBody::State state; + this->rigidBody->GetState( state ); + state.staticFrictionCoeff = 0.0f; + state.dynamicFrictionCoeff = 0.0f; + this->rigidBody->SetState( state ); } void Player::BeginFrame() { - if( this->playerState != PLAYER_STATE_DEAD && this->playerState != PLAYER_STATE_DIED) + if( !(this->playerState & (PLAYER_STATE_DEAD || PLAYER_STATE_DIED)) ) { + static const Float maxSpeed = 30; weapon->Update(0.002f); - Oyster::Math::Float maxSpeed = 30; - // Rotate player accordingly this->rigidBody->AddRotationAroundY(this->rotationUp); this->rigidBody->SetUp(this->rigidBody->GetState().centerPos.GetNormalized()); @@ -81,9 +88,9 @@ void Player::BeginFrame() Oyster::Math::Float4x4 xform; xform = this->rigidBody->GetState().GetOrientation(); - Oyster::Math::Float3 forwardDir = xform.v[2]; - Oyster::Math::Float3 upDir = xform.v[1]; - Oyster::Math::Float3 rightDir = xform.v[0]; + Oyster::Math::Float3 &forwardDir = xform.v[2].xyz; + Oyster::Math::Float3 &upDir = xform.v[1].xyz; + Oyster::Math::Float3 &rightDir = xform.v[0].xyz; forwardDir.Normalize(); upDir.Normalize(); rightDir.Normalize(); @@ -98,7 +105,7 @@ void Player::BeginFrame() // Walking data Oyster::Math::Float3 walkDirection = Oyster::Math::Float3(0.0, 0.0, 0.0); - Oyster::Math::Float walkSpeed = this->playerStats.movementSpeed*0.2f; + Oyster::Math::Float &walkSpeed = this->playerStats.movementSpeed; // Check for input if(key_forward > 0.001) diff --git a/Code/Game/GameLogic/Player.h b/Code/Game/GameLogic/Player.h index 63c17f90..9764c7e3 100644 --- a/Code/Game/GameLogic/Player.h +++ b/Code/Game/GameLogic/Player.h @@ -10,7 +10,7 @@ #include "DynamicArray.h" const float MAX_HP = 100.0f; -const float BASIC_SPEED = 30.0f; +const float BASIC_SPEED = 10.0f; namespace GameLogic {