GL - forgot to commit files

This commit is contained in:
lindaandersson 2014-02-12 11:36:08 +01:00
parent c1757eef21
commit fa16f71a26
7 changed files with 38 additions and 31 deletions

View File

@ -33,6 +33,7 @@ private:
int myId;
float pitch;
float timer;
struct myData;
myData* privData;
Utility::DynamicMemory::DynamicArray<Utility::DynamicMemory::SmartPointer<C_StaticObj>> staticObjects;

View File

@ -38,6 +38,7 @@ using namespace GameLogic;
break;
case OBJECT_TYPE::OBJECT_TYPE_WORLD:
PlayerVObject(*player,*realObj, kineticEnergyLoss);
player->playerState = PLAYER_STATE::PLAYER_STATE_WALKING;
break;
}

View File

@ -6,7 +6,7 @@ using namespace GameLogic;
Game::PlayerData::PlayerData()
{
//set some stats that are appropriate to a player
Oyster::Math::Float3 centerPosition = Oyster::Math::Float3(0,628,-25);
Oyster::Math::Float3 centerPosition = Oyster::Math::Float3(0,603,0);
Oyster::Math::Float3 size = Oyster::Math::Float3(0.25f,1.0f,0.5f);
Oyster::Math::Float mass = 60;
Oyster::Math::Float restitutionCoeff = 0.5;

View File

@ -113,7 +113,7 @@ void Level::InitiateLevel(std::string levelPath)
void Level::InitiateLevel(float radius)
{
API::Instance().SetGravityPoint(Oyster::Math3D::Float3(0,0,0));
API::Instance().SetGravity(100);
API::Instance().SetGravity(200);
int idCount = 100;
// add level sphere
ICustomBody* rigidBody = API::Instance().AddCollisionSphere(599.2f, Oyster::Math::Float4(0, 0, 0, 1), Oyster::Math::Float3(0, 0, 0), 0, 0.5f, 0.8f, 0.6f);

View File

@ -45,7 +45,8 @@ void Player::InitPlayer()
this->life = 100;
this->teamID = -1;
this->playerState = PLAYER_STATE_IDLE;
lookDir = Oyster::Math::Float4(0,0,-1,0);
this->lookDir = Oyster::Math::Float3(0,0,-1);
this->moveDir = Oyster::Math::Float3(0,0,0);
}
Player::~Player(void)
@ -61,8 +62,6 @@ void Player::BeginFrame()
{
//weapon->Update(0.002f);
Object::BeginFrame();
}
void Player::EndFrame()
@ -99,27 +98,37 @@ void Player::Move(const PLAYER_MOVEMENT &movement)
void Player::MoveForward()
{
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2];
rigidBody->SetLinearVelocity( MOVE_FORCE * forward.GetNormalized() );
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2].GetNormalized();
moveDir = forward;
moveDir.Normalize();
rigidBody->SetLinearVelocity( MOVE_FORCE * moveDir );
}
void Player::MoveBackwards()
{
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2];
rigidBody->SetLinearVelocity( MOVE_FORCE * -forward.GetNormalized() );
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2].GetNormalized();
moveDir = -forward;
moveDir.Normalize();
rigidBody->SetLinearVelocity( MOVE_FORCE * moveDir );
}
void Player::MoveRight()
{
//Do cross product with forward vector and negative gravity vector
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2];
Oyster::Math::Float3 r = (-this->rigidBody->GetState().centerPos.Normalize()).Cross(forward);
rigidBody->SetLinearVelocity(r * MOVE_FORCE);
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2].GetNormalized();
Oyster::Math::Float3 up = this->rigidBody->GetState().centerPos.Normalize();
Oyster::Math::Float3 r = (up).Cross(forward).Normalize();
moveDir = -r;
moveDir.Normalize();
rigidBody->SetLinearVelocity( MOVE_FORCE * moveDir );
}
void Player::MoveLeft()
{
//Do cross product with forward vector and negative gravity vector
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2];
Oyster::Math::Float3 r = (-this->rigidBody->GetState().centerPos.Normalize()).Cross(forward);
rigidBody->SetLinearVelocity(-r * MOVE_FORCE);
Oyster::Math::Float3 forward = this->rigidBody->GetState().GetOrientation().v[2].GetNormalized();
Oyster::Math::Float3 up = this->rigidBody->GetState().centerPos.Normalize();
Oyster::Math::Float3 r = (up).Cross(forward).Normalize();
moveDir = r;
moveDir.Normalize();
rigidBody->SetLinearVelocity( MOVE_FORCE * moveDir );
}
void Player::UseWeapon(const WEAPON_FIRE &usage)
@ -137,27 +146,19 @@ void Player::Respawn(Oyster::Math::Float3 spawnPoint)
void Player::Rotate(const Oyster::Math3D::Float4 lookDir)
{
// right
Oyster::Math::Float dx = lookDir.w;
if(dx > 0.0f)
{
int i =0 ;
}
// this is the camera right vector
this->lookDir = lookDir.xyz;
this->dx = lookDir.w;
Oyster::Math::Float3 up = this->rigidBody->GetState().GetOrientation().v[1];
this->rigidBody->SetUpAndRight(up, lookDir.xyz);
this->rigidBody->SetUpAndRight(this->rigidBody->GetState().centerPos.GetNormalized(), this->rigidBody->GetState().GetOrientation().v[0].xyz.GetNormalized());
}
void Player::Jump()
{
Oyster::Math::Float3 up = this->rigidBody->GetState().GetOrientation().v[1].GetNormalized();
this->rigidBody->ApplyImpulse(up *2000);
this->rigidBody->ApplyImpulse(up *1500);
this->playerState == PLAYER_STATE::PLAYER_STATE_JUMPING;
}
bool Player::IsWalking()

View File

@ -85,8 +85,8 @@ namespace GameLogic
int teamID;
Weapon *weapon;
PLAYER_STATE playerState;
Oyster::Math::Float3 lookDir; //Duplicate in Object.h?
Oyster::Math::Float dx; //dx of what?
Oyster::Math::Float3 moveDir;
Oyster::Math::Float3 lookDir;
bool hasTakenDamage;
float invincibleCooldown;

View File

@ -292,7 +292,7 @@ namespace GameLogic
{
short object_ID;
float position[3];
float rotation[3];
float rotation[4];
Protocol_ObjectPositionRotation()
{
@ -307,10 +307,11 @@ namespace GameLogic
this->protocol[5].type = Oyster::Network::NetAttributeType_Float;
this->protocol[6].type = Oyster::Network::NetAttributeType_Float;
this->protocol[7].type = Oyster::Network::NetAttributeType_Float;
this->protocol[8].type = Oyster::Network::NetAttributeType_Float;
this->object_ID = 0;
memset(&this->position[0], 0, sizeof(float) * 3);
memset(&this->rotation[0], 0, sizeof(float) * 3);
memset(&this->rotation[0], 0, sizeof(float) * 4);
}
Protocol_ObjectPositionRotation(Oyster::Network::CustomNetProtocol& p)
{
@ -323,6 +324,7 @@ namespace GameLogic
this->rotation[0] = p[5].value.netFloat;
this->rotation[1] = p[6].value.netFloat;
this->rotation[2] = p[7].value.netFloat;
this->rotation[3] = p[8].value.netFloat;
}
Protocol_ObjectPositionRotation(float p[3], float r[3], int id)
{
@ -337,10 +339,11 @@ namespace GameLogic
this->protocol[5].type = Oyster::Network::NetAttributeType_Float;
this->protocol[6].type = Oyster::Network::NetAttributeType_Float;
this->protocol[7].type = Oyster::Network::NetAttributeType_Float;
this->protocol[8].type = Oyster::Network::NetAttributeType_Float;
object_ID = id;
memcpy(&this->position[0], &p[0], sizeof(float) * 3);
memcpy(&this->rotation[0], &r[0], sizeof(float) * 3);
memcpy(&this->rotation[0], &r[0], sizeof(float) * 4);
}
Oyster::Network::CustomNetProtocol GetProtocol() override
{
@ -351,6 +354,7 @@ namespace GameLogic
this->protocol[5].value = this->rotation[0];
this->protocol[6].value = this->rotation[1];
this->protocol[7].value = this->rotation[2];
this->protocol[8].value = this->rotation[3];
return protocol;
}