Refactored Math::Vector to glm::vec3 in object motion classes
parent
2690d04f64
commit
ffe1815ec9
|
@ -57,9 +57,9 @@ CMotion::CMotion(COldObject* object)
|
|||
m_actionTime = 0.0f;
|
||||
m_progress = 0.0f;
|
||||
|
||||
m_linVibration = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
m_cirVibration = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
m_inclinaison = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
m_linVibration = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
m_cirVibration = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
m_inclinaison = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
// Object's destructor.
|
||||
|
@ -77,7 +77,7 @@ void CMotion::SetPhysics(CPhysics* physics)
|
|||
|
||||
bool CMotion::EventProcess(const Event &event)
|
||||
{
|
||||
Math::Vector pos, dir;
|
||||
glm::vec3 pos, dir;
|
||||
float time;
|
||||
|
||||
if ( m_object->GetType() != OBJECT_TOTO &&
|
||||
|
@ -181,36 +181,36 @@ bool CMotion::Read(CLevelParserLine* line)
|
|||
|
||||
// Getes the linear vibration.
|
||||
|
||||
void CMotion::SetLinVibration(Math::Vector dir)
|
||||
void CMotion::SetLinVibration(glm::vec3 dir)
|
||||
{
|
||||
m_linVibration = dir;
|
||||
}
|
||||
|
||||
Math::Vector CMotion::GetLinVibration()
|
||||
glm::vec3 CMotion::GetLinVibration()
|
||||
{
|
||||
return m_linVibration;
|
||||
}
|
||||
|
||||
// Getes the circular vibration.
|
||||
|
||||
void CMotion::SetCirVibration(Math::Vector dir)
|
||||
void CMotion::SetCirVibration(glm::vec3 dir)
|
||||
{
|
||||
m_cirVibration = dir;
|
||||
}
|
||||
|
||||
Math::Vector CMotion::GetCirVibration()
|
||||
glm::vec3 CMotion::GetCirVibration()
|
||||
{
|
||||
return m_cirVibration;
|
||||
}
|
||||
|
||||
// Getes the tilt.
|
||||
|
||||
void CMotion::SetTilt(Math::Vector dir)
|
||||
void CMotion::SetTilt(glm::vec3 dir)
|
||||
{
|
||||
m_inclinaison = dir;
|
||||
}
|
||||
|
||||
Math::Vector CMotion::GetTilt()
|
||||
glm::vec3 CMotion::GetTilt()
|
||||
{
|
||||
return m_inclinaison;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
#include "object/object_type.h"
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
namespace Gfx
|
||||
{
|
||||
class CEngine;
|
||||
|
@ -53,7 +55,7 @@ public:
|
|||
void SetPhysics(CPhysics* physics);
|
||||
|
||||
virtual void DeleteObject(bool bAll=false) = 0;
|
||||
virtual void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) = 0;
|
||||
virtual void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) = 0;
|
||||
virtual bool EventProcess(const Event &event);
|
||||
virtual Error SetAction(int action, float time=0.2f);
|
||||
virtual int GetAction();
|
||||
|
@ -64,12 +66,12 @@ public:
|
|||
virtual bool Write(CLevelParserLine* line);
|
||||
virtual bool Read(CLevelParserLine* line);
|
||||
|
||||
virtual void SetLinVibration(Math::Vector dir);
|
||||
virtual Math::Vector GetLinVibration();
|
||||
virtual void SetCirVibration(Math::Vector dir);
|
||||
virtual Math::Vector GetCirVibration();
|
||||
virtual void SetTilt(Math::Vector dir);
|
||||
virtual Math::Vector GetTilt();
|
||||
virtual void SetLinVibration(glm::vec3 dir);
|
||||
virtual glm::vec3 GetLinVibration();
|
||||
virtual void SetCirVibration(glm::vec3 dir);
|
||||
virtual glm::vec3 GetCirVibration();
|
||||
virtual void SetTilt(glm::vec3 dir);
|
||||
virtual glm::vec3 GetTilt();
|
||||
|
||||
protected:
|
||||
CApplication* m_app;
|
||||
|
@ -87,7 +89,7 @@ protected:
|
|||
float m_actionTime;
|
||||
float m_progress;
|
||||
|
||||
Math::Vector m_linVibration; // linear vibration
|
||||
Math::Vector m_cirVibration; // circular vibration
|
||||
Math::Vector m_inclinaison; // tilt
|
||||
glm::vec3 m_linVibration = { 0, 0, 0 }; // linear vibration
|
||||
glm::vec3 m_cirVibration = { 0, 0, 0 }; // circular vibration
|
||||
glm::vec3 m_inclinaison = { 0, 0, 0 }; // tilt
|
||||
};
|
||||
|
|
|
@ -68,7 +68,7 @@ void CMotionAnt::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle poses some rolling on the floor.
|
||||
|
||||
void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionAnt::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank;
|
||||
|
@ -85,8 +85,8 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
|
||||
// A vehicle must have necessarily a collision
|
||||
//with a sphere of center (0, y, 0) (see GetCrashSphere).
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(-0.5f, 1.0f, 0.0f), 4.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(-0.5f, 1.0f, 0.0f), 4.0f));
|
||||
|
||||
// Creates the head.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -94,7 +94,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("ant2.mod", false, rank);
|
||||
m_object->SetPartPosition(1, Math::Vector(2.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(2.0f, 0.0f, 0.0f));
|
||||
|
||||
// Creates the tail.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -102,7 +102,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("ant3.mod", false, rank);
|
||||
m_object->SetPartPosition(2, Math::Vector(-1.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(-1.0f, 0.0f, 0.0f));
|
||||
|
||||
// Creates a right-back thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -110,7 +110,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(3, Math::Vector(-0.4f, -0.1f, -0.3f));
|
||||
m_object->SetPartPosition(3, glm::vec3(-0.4f, -0.1f, -0.3f));
|
||||
|
||||
// Creates a right-back leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -118,7 +118,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(4, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(4, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates a right-back foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -126,7 +126,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(5, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(5, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates two middle-right thighs.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -134,7 +134,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(6, Math::Vector(0.1f, -0.1f, -0.4f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.1f, -0.1f, -0.4f));
|
||||
|
||||
// Creates two middle-right legs.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -142,7 +142,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates two middle-right foots.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -150,7 +150,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 7);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(8, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates the right front thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -158,7 +158,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(9, Math::Vector(1.4f, -0.1f, -0.6f));
|
||||
m_object->SetPartPosition(9, glm::vec3(1.4f, -0.1f, -0.6f));
|
||||
|
||||
// Creates the right front leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -166,7 +166,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 9);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(10, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(10, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates the right front foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -174,7 +174,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 10);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(11, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(11, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates a left-back thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -182,7 +182,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
modelManager->AddModelReference("ant4.mod", true, rank);
|
||||
m_object->SetPartPosition(12, Math::Vector(-0.4f, -0.1f, 0.3f));
|
||||
m_object->SetPartPosition(12, glm::vec3(-0.4f, -0.1f, 0.3f));
|
||||
|
||||
// Creates a left-back leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -190,7 +190,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
modelManager->AddModelReference("ant5.mod", true, rank);
|
||||
m_object->SetPartPosition(13, Math::Vector(0.0f, 0.0f, 1.0f));
|
||||
m_object->SetPartPosition(13, glm::vec3(0.0f, 0.0f, 1.0f));
|
||||
|
||||
// Creates a left-back foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -198,7 +198,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 13);
|
||||
modelManager->AddModelReference("ant6.mod", true, rank);
|
||||
m_object->SetPartPosition(14, Math::Vector(0.0f, 0.0f, 2.0f));
|
||||
m_object->SetPartPosition(14, glm::vec3(0.0f, 0.0f, 2.0f));
|
||||
|
||||
// Creates two middle-left thighs.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -206,7 +206,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 0);
|
||||
modelManager->AddModelReference("ant4.mod", true, rank);
|
||||
m_object->SetPartPosition(15, Math::Vector(0.1f, -0.1f, 0.4f));
|
||||
m_object->SetPartPosition(15, glm::vec3(0.1f, -0.1f, 0.4f));
|
||||
|
||||
// Creates two middle-left legs.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -214,7 +214,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(16, rank);
|
||||
m_object->SetObjectParent(16, 15);
|
||||
modelManager->AddModelReference("ant5.mod", true, rank);
|
||||
m_object->SetPartPosition(16, Math::Vector(0.0f, 0.0f, 1.0f));
|
||||
m_object->SetPartPosition(16, glm::vec3(0.0f, 0.0f, 1.0f));
|
||||
|
||||
// Creates two middle-left foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -222,7 +222,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(17, rank);
|
||||
m_object->SetObjectParent(17, 16);
|
||||
modelManager->AddModelReference("ant6.mod", true, rank);
|
||||
m_object->SetPartPosition(17, Math::Vector(0.0f, 0.0f, 2.0f));
|
||||
m_object->SetPartPosition(17, glm::vec3(0.0f, 0.0f, 2.0f));
|
||||
|
||||
// Creates the left front thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -230,7 +230,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(18, rank);
|
||||
m_object->SetObjectParent(18, 0);
|
||||
modelManager->AddModelReference("ant4.mod", true, rank);
|
||||
m_object->SetPartPosition(18, Math::Vector(1.4f, -0.1f, 0.6f));
|
||||
m_object->SetPartPosition(18, glm::vec3(1.4f, -0.1f, 0.6f));
|
||||
|
||||
// Creates the left front leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -238,7 +238,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(19, rank);
|
||||
m_object->SetObjectParent(19, 18);
|
||||
modelManager->AddModelReference("ant5.mod", true, rank);
|
||||
m_object->SetPartPosition(19, Math::Vector(0.0f, 0.0f, 1.0f));
|
||||
m_object->SetPartPosition(19, glm::vec3(0.0f, 0.0f, 1.0f));
|
||||
|
||||
// Creates the left front foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -246,7 +246,7 @@ void CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(20, rank);
|
||||
m_object->SetObjectParent(20, 19);
|
||||
modelManager->AddModelReference("ant6.mod", true, rank);
|
||||
m_object->SetPartPosition(20, Math::Vector(0.0f, 0.0f, 2.0f));
|
||||
m_object->SetPartPosition(20, glm::vec3(0.0f, 0.0f, 2.0f));
|
||||
|
||||
m_object->CreateShadowCircle(4.0f, 0.5f);
|
||||
|
||||
|
@ -391,7 +391,7 @@ bool CMotionAnt::EventProcess(const Event &event)
|
|||
|
||||
bool CMotionAnt::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Vector dir, pos, speed;
|
||||
glm::vec3 dir, pos, speed;
|
||||
glm::vec2 dim;
|
||||
float s, a, prog = 0.0f, time;
|
||||
float tSt[9], tNd[9];
|
||||
|
@ -575,11 +575,11 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
}
|
||||
else if ( m_actionType == MAS_BURN ) // burning?
|
||||
{
|
||||
dir = Math::Vector(Math::PI, 0.0f, 0.0f);
|
||||
dir = glm::vec3(Math::PI, 0.0f, 0.0f);
|
||||
SetCirVibration(dir);
|
||||
dir = Math::Vector(0.0f, -1.5f, 0.0f);
|
||||
dir = glm::vec3(0.0f, -1.5f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
time = event.rTime*1.0f;
|
||||
|
@ -588,7 +588,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
}
|
||||
else if ( m_actionType == MAS_RUIN ) // destroyed?
|
||||
{
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
SetCirVibration(dir);
|
||||
SetTilt(dir);
|
||||
|
@ -627,7 +627,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
dir.z = 0.0f;
|
||||
SetCirVibration(dir);
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
if ( m_progress >= 1.0f )
|
||||
|
@ -656,7 +656,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
dir = Math::Vector(0.0f, -1.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, -1.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
dir.x = sinf(m_armTimeAbs* 4.0f)*0.10f+
|
||||
sinf(m_armTimeAbs* 7.0f)*0.20f+
|
||||
|
@ -671,7 +671,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
sinf(m_armTimeAbs* 9.0f)*0.04f+
|
||||
sinf(m_armTimeAbs*23.0f)*0.03f;
|
||||
SetCirVibration(dir);
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
m_object->SetPartRotationY(1, sinf(m_armTimeAbs*8.0f)*0.7f); // head
|
||||
|
@ -718,7 +718,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
dir.z = 0.0f;
|
||||
SetCirVibration(dir);
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
if ( m_progress >= 1.0f )
|
||||
|
@ -737,7 +737,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
{
|
||||
m_object->SetPartRotationZ(2, sinf(m_armTimeAbs*1.7f)*0.15f); // tail
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
SetTilt(dir);
|
||||
}
|
||||
|
@ -776,7 +776,7 @@ bool CMotionAnt::EventFrame(const Event &event)
|
|||
SetLinVibration(dir);
|
||||
}
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetCirVibration(dir);
|
||||
|
||||
m_object->SetPartRotationZ(1, sinf(m_armTimeAbs*1.4f)*0.20f); // head
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
~CMotionAnt();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -63,7 +63,7 @@ void CMotionBee::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle traveling any lands on the ground.
|
||||
|
||||
void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionBee::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank;
|
||||
|
@ -80,8 +80,8 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
|
||||
// A vehicle must have an obligatory collision
|
||||
// with a sphere of center (0, y, 0) (see GetCrashSphere).
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(-1.0f, 1.0f, 0.0f), 5.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(-1.0f, 1.0f, 0.0f), 5.0f));
|
||||
|
||||
// Creates the head.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -89,7 +89,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("bee2.mod", false, rank);
|
||||
m_object->SetPartPosition(1, Math::Vector(1.6f, 0.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(1.6f, 0.3f, 0.0f));
|
||||
|
||||
// Creates the tail.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -97,7 +97,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("bee3.mod", false, rank);
|
||||
m_object->SetPartPosition(2, Math::Vector(-0.8f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(-0.8f, 0.0f, 0.0f));
|
||||
|
||||
// Creates a right-back thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -105,7 +105,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(3, Math::Vector(-0.3f, -0.1f, -0.2f));
|
||||
m_object->SetPartPosition(3, glm::vec3(-0.3f, -0.1f, -0.2f));
|
||||
|
||||
// Creates a right-back leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -113,7 +113,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(4, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(4, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates a right-back foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -121,7 +121,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(5, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(5, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates two middle-right thighs.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -129,7 +129,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(6, Math::Vector(0.3f, -0.1f, -0.4f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.3f, -0.1f, -0.4f));
|
||||
|
||||
// Creates two middle-right legs.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -137,7 +137,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates two middle-right feet.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -145,7 +145,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 7);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(8, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates the right front thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -153,7 +153,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(9, Math::Vector(1.0f, -0.1f, -0.7f));
|
||||
m_object->SetPartPosition(9, glm::vec3(1.0f, -0.1f, -0.7f));
|
||||
|
||||
// Creates the right front leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -161,7 +161,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 9);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(10, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(10, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates the right front foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -169,7 +169,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 10);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(11, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(11, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates a left-back thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -177,7 +177,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(12, Math::Vector(-0.3f, -0.1f, 0.2f));
|
||||
m_object->SetPartPosition(12, glm::vec3(-0.3f, -0.1f, 0.2f));
|
||||
m_object->SetPartRotationY(12, Math::PI);
|
||||
|
||||
// Creates a left-back leg.
|
||||
|
@ -186,7 +186,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(13, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(13, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates a left-back foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -194,7 +194,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 13);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(14, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(14, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates two middle-left thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -202,7 +202,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(15, Math::Vector(0.3f, -0.1f, 0.4f));
|
||||
m_object->SetPartPosition(15, glm::vec3(0.3f, -0.1f, 0.4f));
|
||||
m_object->SetPartRotationY(15, Math::PI);
|
||||
|
||||
// Creates two middle-left legs.
|
||||
|
@ -211,7 +211,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(16, rank);
|
||||
m_object->SetObjectParent(16, 15);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(16, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(16, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates two middle-left feet.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -219,7 +219,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(17, rank);
|
||||
m_object->SetObjectParent(17, 16);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(17, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(17, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates front-left thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -227,7 +227,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(18, rank);
|
||||
m_object->SetObjectParent(18, 0);
|
||||
modelManager->AddModelReference("ant4.mod", false, rank);
|
||||
m_object->SetPartPosition(18, Math::Vector(1.0f, -0.1f, 0.7f));
|
||||
m_object->SetPartPosition(18, glm::vec3(1.0f, -0.1f, 0.7f));
|
||||
m_object->SetPartRotationY(18, Math::PI);
|
||||
|
||||
// Creates front-left leg.
|
||||
|
@ -236,7 +236,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(19, rank);
|
||||
m_object->SetObjectParent(19, 18);
|
||||
modelManager->AddModelReference("ant5.mod", false, rank);
|
||||
m_object->SetPartPosition(19, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
m_object->SetPartPosition(19, glm::vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
// Creates front-left foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -244,7 +244,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(20, rank);
|
||||
m_object->SetObjectParent(20, 19);
|
||||
modelManager->AddModelReference("ant6.mod", false, rank);
|
||||
m_object->SetPartPosition(20, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
m_object->SetPartPosition(20, glm::vec3(0.0f, 0.0f, -2.0f));
|
||||
|
||||
// Creates the right wing.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -252,7 +252,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(21, rank);
|
||||
m_object->SetObjectParent(21, 0);
|
||||
modelManager->AddModelReference("bee7.mod", false, rank);
|
||||
m_object->SetPartPosition(21, Math::Vector(0.8f, 0.4f, -0.5f));
|
||||
m_object->SetPartPosition(21, glm::vec3(0.8f, 0.4f, -0.5f));
|
||||
|
||||
// Creates the left wing.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -260,7 +260,7 @@ void CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(22, rank);
|
||||
m_object->SetObjectParent(22, 0);
|
||||
modelManager->AddModelReference("bee7.mod", true, rank);
|
||||
m_object->SetPartPosition(22, Math::Vector(0.8f, 0.4f, 0.5f));
|
||||
m_object->SetPartPosition(22, glm::vec3(0.8f, 0.4f, 0.5f));
|
||||
|
||||
m_object->CreateShadowCircle(6.0f, 0.5f);
|
||||
|
||||
|
@ -370,7 +370,7 @@ bool CMotionBee::EventProcess(const Event &event)
|
|||
|
||||
bool CMotionBee::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Vector dir;
|
||||
glm::vec3 dir;
|
||||
float s, a, prog = 0.0f;
|
||||
int action, i, st, nd;
|
||||
bool bStop;
|
||||
|
|
|
@ -45,7 +45,7 @@ public:
|
|||
~CMotionBee();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -105,7 +105,7 @@ Error CMotionHuman::SetAction(int action, float time)
|
|||
|
||||
// Creates cosmonaut on the ground.
|
||||
|
||||
void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionHuman::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
char filename[100];
|
||||
|
@ -158,8 +158,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetRotationY(angle);
|
||||
|
||||
// A vehicle must have an obligatory collision with a sphere of center (0, y, 0) (see GetCrashSphere).
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 2.0f, SOUND_AIE, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(0.0f, 1.0f, 0.0f), 4.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 0.0f, 0.0f), 2.0f, SOUND_AIE, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(0.0f, 1.0f, 0.0f), 4.0f));
|
||||
|
||||
// Creates the head.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -188,11 +188,11 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
modelManager->AddModelReference("human2t.mod", false, rank);
|
||||
}
|
||||
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 2.7f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 2.7f, 0.0f));
|
||||
if (option == 1 || // head without helmet?
|
||||
option == 2) // without a backpack?
|
||||
{
|
||||
m_object->SetPartScale(1, Math::Vector(1.0f, 1.05f, 1.0f));
|
||||
m_object->SetPartScale(1, glm::vec3(1.0f, 1.05f, 1.0f));
|
||||
}
|
||||
|
||||
// Creates the glasses.
|
||||
|
@ -213,8 +213,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("human3.mod", false, rank);
|
||||
m_object->SetPartPosition(2, Math::Vector(0.0f, 2.3f, -1.2f));
|
||||
m_object->SetPartRotation(2, Math::Vector(90.0f*Math::PI/180.0f, 90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(0.0f, 2.3f, -1.2f));
|
||||
m_object->SetPartRotation(2, glm::vec3(90.0f*Math::PI/180.0f, 90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the right forearm.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -222,8 +222,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
modelManager->AddModelReference("human4r.mod", false, rank);
|
||||
m_object->SetPartPosition(3, Math::Vector(1.3f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotation(3, Math::Vector(0.0f*Math::PI/180.0f, -20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(3, glm::vec3(1.3f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotation(3, glm::vec3(0.0f*Math::PI/180.0f, -20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates right hand.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -231,7 +231,7 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
modelManager->AddModelReference("human5.mod", false, rank);
|
||||
m_object->SetPartPosition(4, Math::Vector(1.2f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(4, glm::vec3(1.2f, 0.0f, 0.0f));
|
||||
|
||||
// Creates the right thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -239,8 +239,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 0);
|
||||
modelManager->AddModelReference("human6.mod", false, rank);
|
||||
m_object->SetPartPosition(5, Math::Vector(0.0f, 0.0f, -0.7f));
|
||||
m_object->SetPartRotation(5, Math::Vector(10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(5, glm::vec3(0.0f, 0.0f, -0.7f));
|
||||
m_object->SetPartRotation(5, glm::vec3(10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the right leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -248,8 +248,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 5);
|
||||
modelManager->AddModelReference("human7.mod", false, rank);
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(6, Math::Vector(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(6, glm::vec3(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the right foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -257,8 +257,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
modelManager->AddModelReference("human8.mod", false, rank);
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(7, Math::Vector(-10.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(7, glm::vec3(-10.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the left arm.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -266,8 +266,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
modelManager->AddModelReference("human3.mod", true, rank);
|
||||
m_object->SetPartPosition(8, Math::Vector(0.0f, 2.3f, 1.2f));
|
||||
m_object->SetPartRotation(8, Math::Vector(-90.0f*Math::PI/180.0f, -90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(0.0f, 2.3f, 1.2f));
|
||||
m_object->SetPartRotation(8, glm::vec3(-90.0f*Math::PI/180.0f, -90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the left forearm.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -275,8 +275,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 8);
|
||||
modelManager->AddModelReference("human4l.mod", true, rank);
|
||||
m_object->SetPartPosition(9, Math::Vector(1.3f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotation(9, Math::Vector(0.0f*Math::PI/180.0f, 20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(9, glm::vec3(1.3f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotation(9, glm::vec3(0.0f*Math::PI/180.0f, 20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates left hand.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -284,7 +284,7 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 9);
|
||||
modelManager->AddModelReference("human5.mod", true, rank);
|
||||
m_object->SetPartPosition(10, Math::Vector(1.2f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(10, glm::vec3(1.2f, 0.0f, 0.0f));
|
||||
|
||||
// Creates the left thigh.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -292,8 +292,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 0);
|
||||
modelManager->AddModelReference("human6.mod", true, rank);
|
||||
m_object->SetPartPosition(11, Math::Vector(0.0f, 0.0f, 0.7f));
|
||||
m_object->SetPartRotation(11, Math::Vector(-10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(11, glm::vec3(0.0f, 0.0f, 0.7f));
|
||||
m_object->SetPartRotation(11, glm::vec3(-10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the left leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -301,8 +301,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 11);
|
||||
modelManager->AddModelReference("human7.mod", true, rank);
|
||||
m_object->SetPartPosition(12, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(12, Math::Vector(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(12, glm::vec3(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(12, glm::vec3(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the left foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -310,8 +310,8 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
modelManager->AddModelReference("human8.mod", true, rank);
|
||||
m_object->SetPartPosition(13, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(13, Math::Vector(10.0f*Math::PI/180.0f, -5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
m_object->SetPartPosition(13, glm::vec3(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetPartRotation(13, glm::vec3(10.0f*Math::PI/180.0f, -5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
|
||||
// Creates the neutron gun.
|
||||
if ( option != 2 && !m_main->GetPlusExplorer()) // with backpack?
|
||||
|
@ -321,7 +321,7 @@ void CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 0);
|
||||
modelManager->AddModelReference("human9.mod", false, rank);
|
||||
m_object->SetPartPosition(14, Math::Vector(-1.5f, 0.3f, -1.35f));
|
||||
m_object->SetPartPosition(14, glm::vec3(-1.5f, 0.3f, -1.35f));
|
||||
m_object->SetPartRotationZ(14, Math::PI);
|
||||
}
|
||||
|
||||
|
@ -613,7 +613,7 @@ bool CMotionHuman::EventProcess(const Event &event)
|
|||
bool CMotionHuman::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Matrix* mat;
|
||||
Math::Vector dir, actual, pos, speed, pf;
|
||||
glm::vec3 dir, actual, pos, speed, pf;
|
||||
glm::vec2 center, dim, p2;
|
||||
float s, a, prog, rTime[2], lTime[2], time, rot, hr, hl;
|
||||
float al, ar, af;
|
||||
|
@ -644,13 +644,13 @@ bool CMotionHuman::EventFrame(const Event &event)
|
|||
if ( m_bDisplayPerso && m_main->GetGamerOnlyHead() )
|
||||
{
|
||||
m_time += event.rTime;
|
||||
m_object->SetLinVibration(Math::Vector(0.0f, -0.55f, 0.0f));
|
||||
m_object->SetCirVibration(Math::Vector(0.0f, m_main->GetPersoAngle(), 0.0f));
|
||||
m_object->SetLinVibration(glm::vec3(0.0f, -0.55f, 0.0f));
|
||||
m_object->SetCirVibration(glm::vec3(0.0f, m_main->GetPersoAngle(), 0.0f));
|
||||
return true;
|
||||
}
|
||||
if ( m_bDisplayPerso )
|
||||
{
|
||||
m_object->SetCirVibration(Math::Vector(0.0f, m_main->GetPersoAngle()+0.2f, 0.0f));
|
||||
m_object->SetCirVibration(glm::vec3(0.0f, m_main->GetPersoAngle()+0.2f, 0.0f));
|
||||
}
|
||||
|
||||
if ( m_glassesRank != -1 )
|
||||
|
@ -1181,7 +1181,7 @@ bool CMotionHuman::EventFrame(const Event &event)
|
|||
pos.x += (Math::Rand()-0.5f)*4.0f;
|
||||
pos.z += (Math::Rand()-0.5f)*4.0f;
|
||||
m_terrain->AdjustToFloor(pos);
|
||||
speed = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
speed = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
dim.x = 1.2f+Math::Rand()*1.2f;
|
||||
dim.y = dim.x;
|
||||
m_particle->CreateParticle(pos, speed, dim, Gfx::PARTICRASH, 2.0f, 0.0f, 0.0f);
|
||||
|
@ -1251,7 +1251,7 @@ bool CMotionHuman::EventFrame(const Event &event)
|
|||
pos.x += (Math::Rand()-0.5f)*8.0f;
|
||||
pos.z += (Math::Rand()-0.5f)*8.0f;
|
||||
m_terrain->AdjustToFloor(pos);
|
||||
speed = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
speed = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
dim.x = 2.0f+Math::Rand()*1.5f;
|
||||
dim.y = dim.x;
|
||||
m_particle->CreateParticle(pos, speed, dim, Gfx::PARTICRASH, 2.0f, 0.0f, 0.0f);
|
||||
|
@ -1352,7 +1352,7 @@ bool CMotionHuman::EventFrame(const Event &event)
|
|||
dir.z = Math::Smooth(actual.z, dir.z, time);
|
||||
m_object->SetTilt(dir);
|
||||
|
||||
m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetCirVibration(glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
else if ( m_actionType == MHS_LOST ) // lost?
|
||||
{
|
||||
|
@ -1374,7 +1374,7 @@ bool CMotionHuman::EventFrame(const Event &event)
|
|||
SetLinVibration(dir);
|
||||
|
||||
mat = m_object->GetWorldMatrix(0);
|
||||
pos = Math::Vector(0.5f, 3.7f, 0.0f);
|
||||
pos = glm::vec3(0.5f, 3.7f, 0.0f);
|
||||
pos.x += (Math::Rand()-0.5f)*1.0f;
|
||||
pos.y += (Math::Rand()-0.5f)*1.0f;
|
||||
pos.z += (Math::Rand()-0.5f)*1.0f;
|
||||
|
@ -1388,9 +1388,9 @@ bool CMotionHuman::EventFrame(const Event &event)
|
|||
}
|
||||
else if ( m_actionType == MHS_SATCOM ) // look at the SatCom?
|
||||
{
|
||||
SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
SetLinVibration(Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
SetTilt(Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
SetCirVibration(glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
SetLinVibration(glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
SetTilt(glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -63,7 +63,7 @@ public:
|
|||
~CMotionHuman();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
Error SetAction(int action, float time=0.2f) override;
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ void CMotionLevelController::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a LevelController motion
|
||||
|
||||
void CMotionLevelController::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionLevelController::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager*)
|
||||
{
|
||||
m_object->SetType(type);
|
||||
|
|
|
@ -29,5 +29,5 @@ public:
|
|||
~CMotionLevelController();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
};
|
||||
|
|
|
@ -63,7 +63,7 @@ void CMotionQueen::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle traveling any lands on the ground.
|
||||
|
||||
void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionQueen::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank;
|
||||
|
@ -80,8 +80,8 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
|
||||
// A vehicle must have a obligatory collision
|
||||
//with a sphere of center (0, y, 0) (see GetCrashSphere).
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 20.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(-2.0f, 10.0f, 0.0f), 25.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 0.0f, 0.0f), 20.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(-2.0f, 10.0f, 0.0f), 25.0f));
|
||||
|
||||
// Creates the head.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -89,7 +89,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("mother2.mod", false, rank);
|
||||
m_object->SetPartPosition(1, Math::Vector(16.0f, 3.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(16.0f, 3.0f, 0.0f));
|
||||
|
||||
// Creates a right-back leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -97,7 +97,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("mother3.mod", false, rank);
|
||||
m_object->SetPartPosition(2, Math::Vector(-5.0f, -1.0f, -12.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(-5.0f, -1.0f, -12.0f));
|
||||
|
||||
// Creates a right-back foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -105,7 +105,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
modelManager->AddModelReference("mother4.mod", false, rank);
|
||||
m_object->SetPartPosition(3, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
m_object->SetPartPosition(3, glm::vec3(0.0f, 0.0f, -8.5f));
|
||||
|
||||
// Creates a middle-right leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -113,7 +113,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 0);
|
||||
modelManager->AddModelReference("mother3.mod", false, rank);
|
||||
m_object->SetPartPosition(4, Math::Vector(3.5f, -1.0f, -12.0f));
|
||||
m_object->SetPartPosition(4, glm::vec3(3.5f, -1.0f, -12.0f));
|
||||
|
||||
// Creates a middle-right foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -121,7 +121,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
modelManager->AddModelReference("mother4.mod", false, rank);
|
||||
m_object->SetPartPosition(5, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
m_object->SetPartPosition(5, glm::vec3(0.0f, 0.0f, -8.5f));
|
||||
|
||||
// Creates a right-front leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -129,7 +129,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("mother3.mod", false, rank);
|
||||
m_object->SetPartPosition(6, Math::Vector(10.0f, -1.0f, -10.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(10.0f, -1.0f, -10.0f));
|
||||
|
||||
// Creates a right-front foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -137,7 +137,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
modelManager->AddModelReference("mother4.mod", false, rank);
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 0.0f, -8.5f));
|
||||
|
||||
// Creates a left-back leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -145,7 +145,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
modelManager->AddModelReference("mother3.mod", false, rank);
|
||||
m_object->SetPartPosition(8, Math::Vector(-5.0f, -1.0f, 12.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(-5.0f, -1.0f, 12.0f));
|
||||
m_object->SetPartRotationY(8, Math::PI);
|
||||
|
||||
// Creates a left-back foot.
|
||||
|
@ -154,7 +154,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 8);
|
||||
modelManager->AddModelReference("mother4.mod", false, rank);
|
||||
m_object->SetPartPosition(9, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
m_object->SetPartPosition(9, glm::vec3(0.0f, 0.0f, -8.5f));
|
||||
|
||||
// Creates a middle-left leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -162,7 +162,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 0);
|
||||
modelManager->AddModelReference("mother3.mod", false, rank);
|
||||
m_object->SetPartPosition(10, Math::Vector(3.5f, -1.0f, 12.0f));
|
||||
m_object->SetPartPosition(10, glm::vec3(3.5f, -1.0f, 12.0f));
|
||||
m_object->SetPartRotationY(10, Math::PI);
|
||||
|
||||
// Creates a middle-left foot.
|
||||
|
@ -171,7 +171,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 10);
|
||||
modelManager->AddModelReference("mother4.mod", false, rank);
|
||||
m_object->SetPartPosition(11, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
m_object->SetPartPosition(11, glm::vec3(0.0f, 0.0f, -8.5f));
|
||||
|
||||
// Creates a left-front leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -179,7 +179,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
modelManager->AddModelReference("mother3.mod", false, rank);
|
||||
m_object->SetPartPosition(12, Math::Vector(10.0f, -1.0f, 10.0f));
|
||||
m_object->SetPartPosition(12, glm::vec3(10.0f, -1.0f, 10.0f));
|
||||
m_object->SetPartRotationY(12, Math::PI);
|
||||
|
||||
// Creates a left-front foot.
|
||||
|
@ -188,7 +188,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
modelManager->AddModelReference("mother4.mod", false, rank);
|
||||
m_object->SetPartPosition(13, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
m_object->SetPartPosition(13, glm::vec3(0.0f, 0.0f, -8.5f));
|
||||
|
||||
// Creates the right antenna.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -196,14 +196,14 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 1);
|
||||
modelManager->AddModelReference("mother5.mod", false, rank);
|
||||
m_object->SetPartPosition(14, Math::Vector(6.0f, 1.0f, -2.5f));
|
||||
m_object->SetPartPosition(14, glm::vec3(6.0f, 1.0f, -2.5f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 14);
|
||||
modelManager->AddModelReference("mother6.mod", false, rank);
|
||||
m_object->SetPartPosition(15, Math::Vector(8.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(15, glm::vec3(8.0f, 0.0f, 0.0f));
|
||||
|
||||
// Creates the left antenna.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -211,14 +211,14 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(16, rank);
|
||||
m_object->SetObjectParent(16, 1);
|
||||
modelManager->AddModelReference("mother5.mod", false, rank);
|
||||
m_object->SetPartPosition(16, Math::Vector(6.0f, 1.0f, 2.5f));
|
||||
m_object->SetPartPosition(16, glm::vec3(6.0f, 1.0f, 2.5f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(17, rank);
|
||||
m_object->SetObjectParent(17, 16);
|
||||
modelManager->AddModelReference("mother6.mod", false, rank);
|
||||
m_object->SetPartPosition(17, Math::Vector(8.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(17, glm::vec3(8.0f, 0.0f, 0.0f));
|
||||
|
||||
// Creates the right claw.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -226,7 +226,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(18, rank);
|
||||
m_object->SetObjectParent(18, 1);
|
||||
modelManager->AddModelReference("mother7.mod", false, rank);
|
||||
m_object->SetPartPosition(18, Math::Vector(-4.0f, -3.5f, -8.0f));
|
||||
m_object->SetPartPosition(18, glm::vec3(-4.0f, -3.5f, -8.0f));
|
||||
m_object->SetPartScaleX(18, 1.2f);
|
||||
|
||||
// Creates the left claw.
|
||||
|
@ -235,7 +235,7 @@ void CMotionQueen::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(19, rank);
|
||||
m_object->SetObjectParent(19, 1);
|
||||
modelManager->AddModelReference("mother7.mod", true, rank);
|
||||
m_object->SetPartPosition(19, Math::Vector(-4.0f, -3.5f, 8.0f));
|
||||
m_object->SetPartPosition(19, glm::vec3(-4.0f, -3.5f, 8.0f));
|
||||
m_object->SetPartScaleX(19, 1.2f);
|
||||
|
||||
m_object->CreateShadowCircle(18.0f, 0.8f);
|
||||
|
@ -321,7 +321,7 @@ bool CMotionQueen::EventProcess(const Event &event)
|
|||
|
||||
bool CMotionQueen::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Vector dir;
|
||||
glm::vec3 dir;
|
||||
float s, a, prog;
|
||||
int i, st, nd;
|
||||
bool bStop;
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
~CMotionQueen();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -67,7 +67,7 @@ void CMotionSpider::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle traveling any lands on the ground.
|
||||
|
||||
void CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionSpider::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank, i, j, parent;
|
||||
|
@ -109,8 +109,8 @@ void CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
|
||||
// A vehicle must have a obligatory collision
|
||||
// with a sphere of center (0, y, 0) (see GetCrashSphere).
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(-0.5f, 1.0f, 0.0f), 4.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(-0.5f, 1.0f, 0.0f), 4.0f));
|
||||
|
||||
// Creates the abdomen.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -118,7 +118,7 @@ void CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("spider1.mod", false, rank);
|
||||
m_object->SetPartPosition(1, Math::Vector(1.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(1.0f, 0.0f, 0.0f));
|
||||
|
||||
// Creates the head.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -126,7 +126,7 @@ void CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("spider2.mod", false, rank);
|
||||
m_object->SetPartPosition(2, Math::Vector(1.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(1.0f, 0.0f, 0.0f));
|
||||
|
||||
// Creates legs.
|
||||
for ( i=0 ; i<4 ; i++ )
|
||||
|
@ -169,7 +169,7 @@ void CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(35, rank);
|
||||
m_object->SetObjectParent(35, 1);
|
||||
modelManager->AddModelReference("spider7.mod", false, rank);
|
||||
m_object->SetPartPosition(35, Math::Vector(0.0f, 0.0f, -0.3f));
|
||||
m_object->SetPartPosition(35, glm::vec3(0.0f, 0.0f, -0.3f));
|
||||
|
||||
// Creates the left mandible.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -177,7 +177,7 @@ void CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(36, rank);
|
||||
m_object->SetObjectParent(36, 1);
|
||||
modelManager->AddModelReference("spider7.mod", true, rank);
|
||||
m_object->SetPartPosition(36, Math::Vector(0.0f, 0.0f, 0.3f));
|
||||
m_object->SetPartPosition(36, glm::vec3(0.0f, 0.0f, 0.3f));
|
||||
|
||||
m_object->CreateShadowCircle(4.0f, 0.5f);
|
||||
|
||||
|
@ -326,7 +326,7 @@ bool CMotionSpider::EventProcess(const Event &event)
|
|||
|
||||
bool CMotionSpider::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Vector dir, pos, speed;
|
||||
glm::vec3 dir, pos, speed;
|
||||
glm::vec2 dim;
|
||||
float s, a, prog = 0.0f, time;
|
||||
float tSt[12], tNd[12];
|
||||
|
@ -490,9 +490,9 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
|
||||
if ( m_actionType == MSS_BURN ) // burning?
|
||||
{
|
||||
dir = Math::Vector(Math::PI, 0.0f, 0.0f);
|
||||
dir = glm::vec3(Math::PI, 0.0f, 0.0f);
|
||||
SetCirVibration(dir);
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
SetTilt(dir);
|
||||
|
||||
|
@ -501,7 +501,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
}
|
||||
else if ( m_actionType == MSS_RUIN ) // destroyed?
|
||||
{
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
SetCirVibration(dir);
|
||||
SetTilt(dir);
|
||||
|
@ -551,7 +551,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
dir.z = 0.0f;
|
||||
SetCirVibration(dir);
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
if ( m_progress >= 1.0f )
|
||||
|
@ -580,7 +580,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
dir.x = sinf(m_armTimeAbs* 3.0f)*0.20f+
|
||||
sinf(m_armTimeAbs* 6.0f)*0.20f+
|
||||
|
@ -595,7 +595,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
sinf(m_armTimeAbs*13.0f)*0.02f+
|
||||
sinf(m_armTimeAbs*15.0f)*0.03f;
|
||||
SetCirVibration(dir);
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
m_object->SetPartRotationY(1, sinf(m_armTimeAbs*5.0f)*0.05f); // tail
|
||||
|
@ -642,7 +642,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
dir.z = 0.0f;
|
||||
SetCirVibration(dir);
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
|
||||
if ( m_progress >= 1.0f )
|
||||
|
@ -655,7 +655,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
{
|
||||
if ( bStop )
|
||||
{
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetTilt(dir);
|
||||
}
|
||||
else
|
||||
|
@ -674,7 +674,7 @@ bool CMotionSpider::EventFrame(const Event &event)
|
|||
SetTilt(dir);
|
||||
}
|
||||
|
||||
dir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
SetLinVibration(dir);
|
||||
SetCirVibration(dir);
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ public:
|
|||
~CMotionSpider();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -81,7 +81,7 @@ void CMotionToto::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle traveling any lands on the ground.
|
||||
|
||||
void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionToto::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank;
|
||||
|
@ -103,7 +103,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("toto2.mod", false, rank);
|
||||
m_object->SetPartPosition(1, Math::Vector(1.00f, 0.17f, 0.00f));
|
||||
m_object->SetPartPosition(1, glm::vec3(1.00f, 0.17f, 0.00f));
|
||||
|
||||
// Creates the left eye.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -111,7 +111,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("toto3.mod", true, rank);
|
||||
m_object->SetPartPosition(2, Math::Vector(0.85f, 1.04f, 0.25f));
|
||||
m_object->SetPartPosition(2, glm::vec3(0.85f, 1.04f, 0.25f));
|
||||
m_object->SetPartRotationY(2, -20.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the right eye.
|
||||
|
@ -120,7 +120,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 0);
|
||||
modelManager->AddModelReference("toto3.mod", false, rank);
|
||||
m_object->SetPartPosition(3, Math::Vector(0.85f, 1.04f, -0.25f));
|
||||
m_object->SetPartPosition(3, glm::vec3(0.85f, 1.04f, -0.25f));
|
||||
m_object->SetPartRotationY(3, 20.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates left antenna.
|
||||
|
@ -129,7 +129,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 0);
|
||||
modelManager->AddModelReference("toto4.mod", false, rank);
|
||||
m_object->SetPartPosition(4, Math::Vector(0.0f, 1.9f, 0.3f));
|
||||
m_object->SetPartPosition(4, glm::vec3(0.0f, 1.9f, 0.3f));
|
||||
m_object->SetPartRotationX(4, 30.0f*Math::PI/180.0f);
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -137,7 +137,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
modelManager->AddModelReference("toto4.mod", false, rank);
|
||||
m_object->SetPartPosition(5, Math::Vector(0.0f, 0.67f, 0.0f));
|
||||
m_object->SetPartPosition(5, glm::vec3(0.0f, 0.67f, 0.0f));
|
||||
m_object->SetPartRotationX(5, 30.0f*Math::PI/180.0f);
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -145,7 +145,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 5);
|
||||
modelManager->AddModelReference("toto5.mod", false, rank);
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, 0.70f, 0.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, 0.70f, 0.0f));
|
||||
m_object->SetPartRotationX(6, 30.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates right antenna.
|
||||
|
@ -154,7 +154,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelReference("toto4.mod", false, rank);
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 1.9f, -0.3f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 1.9f, -0.3f));
|
||||
m_object->SetPartRotationX(7, -30.0f*Math::PI/180.0f);
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -162,7 +162,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 7);
|
||||
modelManager->AddModelReference("toto4.mod", false, rank);
|
||||
m_object->SetPartPosition(8, Math::Vector(0.0f, 0.67f, 0.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(0.0f, 0.67f, 0.0f));
|
||||
m_object->SetPartRotationX(8, -30.0f*Math::PI/180.0f);
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -170,7 +170,7 @@ void CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 8);
|
||||
modelManager->AddModelReference("toto5.mod", false, rank);
|
||||
m_object->SetPartPosition(9, Math::Vector(0.0f, 0.70f, 0.0f));
|
||||
m_object->SetPartPosition(9, glm::vec3(0.0f, 0.70f, 0.0f));
|
||||
m_object->SetPartRotationX(9, -30.0f*Math::PI/180.0f);
|
||||
|
||||
m_object->SetScale(0.5f); // is little
|
||||
|
@ -234,8 +234,8 @@ bool CMotionToto::EventProcess(const Event &event)
|
|||
bool CMotionToto::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Matrix* mat;
|
||||
Math::Vector eye, lookat, dir, perp, nPos, aPos, pos, speed;
|
||||
Math::Vector vibLin, vibCir, dirSpeed, aAntenna;
|
||||
glm::vec3 eye, lookat, dir, perp, nPos, aPos, pos, speed;
|
||||
glm::vec3 vibLin, vibCir, dirSpeed, aAntenna;
|
||||
glm::vec2 dim;
|
||||
glm::ivec2 wDim;
|
||||
Gfx::ParticleType type;
|
||||
|
@ -304,9 +304,9 @@ bool CMotionToto::EventFrame(const Event &event)
|
|||
eye = m_engine->GetEyePt();
|
||||
lookat = m_engine->GetLookatPt();
|
||||
|
||||
vibLin = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
vibCir = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
aAntenna = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
vibLin = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
vibCir = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
aAntenna = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
aAntenna.x += 30.0f*Math::PI/180.0f;
|
||||
|
||||
// Calculates the new position.
|
||||
|
@ -717,7 +717,7 @@ bool CMotionToto::EventFrame(const Event &event)
|
|||
float t = Math::Mod(m_time, 3.5f);
|
||||
if ( t >= 2.2f || ( t >= 1.2f && t <= 1.4f ) ) // breathe?
|
||||
{
|
||||
pos = Math::Vector(1.0f, 0.2f, 0.0f);
|
||||
pos = glm::vec3(1.0f, 0.2f, 0.0f);
|
||||
pos.z += (Math::Rand()-0.5f)*0.5f;
|
||||
|
||||
speed = pos;
|
||||
|
@ -735,7 +735,7 @@ bool CMotionToto::EventFrame(const Event &event)
|
|||
}
|
||||
else // out of water?
|
||||
{
|
||||
pos = Math::Vector(0.0f, -0.5f, 0.0f);
|
||||
pos = glm::vec3(0.0f, -0.5f, 0.0f);
|
||||
pos.z += (Math::Rand()-0.5f)*0.5f;
|
||||
|
||||
speed = pos;
|
||||
|
@ -759,7 +759,7 @@ bool CMotionToto::EventFrame(const Event &event)
|
|||
pos.y = (Math::Rand()-0.5f)*1.0f+3.5f;
|
||||
pos.z = (Math::Rand()-0.5f)*1.0f;
|
||||
pos = Transform(*mat, pos);
|
||||
speed = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
speed = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
dim.x = (Math::Rand()*0.3f+0.3f);
|
||||
dim.y = dim.x;
|
||||
if ( m_actionType == MT_ERROR ) type = Gfx::PARTIERROR;
|
||||
|
@ -783,7 +783,7 @@ bool CMotionToto::EventFrame(const Event &event)
|
|||
pos.y = (Math::Rand()-0.5f)*1.4f+3.5f;
|
||||
pos.z = (Math::Rand()-0.5f)*1.4f;
|
||||
pos = Transform(*mat, pos);
|
||||
speed = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
speed = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
dim.x = (Math::Rand()*0.5f+0.5f);
|
||||
dim.y = dim.x;
|
||||
m_particle->CreateParticle(pos, speed, dim, Gfx::PARTIERROR, 0.5f+Math::Rand()*0.5f, 0.0f, 1.0f, sheet);
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
~CMotionToto();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
Error SetAction(int action, float time=0.2f) override;
|
||||
|
||||
|
|
|
@ -59,9 +59,9 @@ CMotionVehicle::CMotionVehicle(COldObject* object)
|
|||
m_armTimeAbs = 1000.0f;
|
||||
m_armMember = 1000.0f;
|
||||
m_canonTime = 0.0f;
|
||||
m_wheelLastPos = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
m_wheelLastAngle = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
m_posKey = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
m_wheelLastPos = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
m_wheelLastAngle = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
m_posKey = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
m_bFlyFix = false;
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ void CMotionVehicle::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle traveling any lands on the ground.
|
||||
|
||||
void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionVehicle::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank, i, j, parent;
|
||||
|
@ -281,28 +281,28 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
type == OBJECT_MOBILErs ||
|
||||
type == OBJECT_MOBILErp)
|
||||
{
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 6.5f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(0.0f, 3.0f, 0.0f), 7.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 4.0f, 0.0f), 6.5f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(0.0f, 3.0f, 0.0f), 7.0f));
|
||||
}
|
||||
else if (type == OBJECT_MOBILEsa ||
|
||||
type == OBJECT_MOBILEst)
|
||||
{
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(0.0f, 3.0f, 0.0f), 6.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(0.0f, 3.0f, 0.0f), 6.0f));
|
||||
}
|
||||
else if (type == OBJECT_MOBILEdr)
|
||||
{
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(0.0f, 3.0f, 0.0f), 7.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(0.0f, 3.0f, 0.0f), 7.0f));
|
||||
}
|
||||
else if (type == OBJECT_APOLLO2)
|
||||
{
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 0.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(0.0f, 4.0f, 0.0f), 6.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(0.0f, 4.0f, 0.0f), 6.0f));
|
||||
}
|
||||
|
||||
if (type == OBJECT_MOBILEfa ||
|
||||
|
@ -316,7 +316,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("lem2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, ARM_NEUTRAL_ANGLE1);
|
||||
|
||||
// Creates the forearm.
|
||||
|
@ -325,7 +325,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
modelManager->AddModelReference("lem3.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(5.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(5.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(2, ARM_NEUTRAL_ANGLE2);
|
||||
|
||||
// Creates the hand.
|
||||
|
@ -334,7 +334,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
modelManager->AddModelReference("lem4.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(3, Math::Vector(3.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(3, glm::vec3(3.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(3, ARM_NEUTRAL_ANGLE3);
|
||||
m_object->SetPartRotationX(3, Math::PI/2.0f);
|
||||
|
||||
|
@ -344,7 +344,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
modelManager->AddModelReference("lem5.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(4, Math::Vector(1.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(4, glm::vec3(1.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(4, -Math::PI*0.10f);
|
||||
|
||||
// Creates the remote clamp.
|
||||
|
@ -353,7 +353,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 3);
|
||||
modelManager->AddModelReference("lem6.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(5, Math::Vector(1.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(5, glm::vec3(1.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(5, Math::PI*0.10f);
|
||||
}
|
||||
|
||||
|
@ -368,7 +368,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("lem2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, 110.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the forearm.
|
||||
|
@ -377,7 +377,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
modelManager->AddModelReference("lem3.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(5.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(5.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(2, -110.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the sensor.
|
||||
|
@ -386,7 +386,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
modelManager->AddModelReference("lem4s.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(3, Math::Vector(3.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(3, glm::vec3(3.5f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(3, -65.0f*Math::PI/180.0f);
|
||||
}
|
||||
|
||||
|
@ -401,8 +401,8 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("canon.mod", false, rank, m_object->GetTeam());
|
||||
//? m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
//? m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, 0.0f);
|
||||
}
|
||||
|
||||
|
@ -417,7 +417,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("canoni1.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, 0.0f);
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -425,7 +425,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
modelManager->AddModelReference("canoni2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(0.0f, 2.5f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(0.0f, 2.5f, 0.0f));
|
||||
m_object->SetPartRotationZ(2, 0.0f);
|
||||
}
|
||||
|
||||
|
@ -440,8 +440,8 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("neutron.mod", false, rank, m_object->GetTeam());
|
||||
//? m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
//? m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, 0.0f);
|
||||
}
|
||||
|
||||
|
@ -458,7 +458,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(6, Math::Vector(-3.0f, 1.0f, -3.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(-3.0f, 1.0f, -3.0f));
|
||||
|
||||
// Creates the left-back wheel.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -466,7 +466,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(7, Math::Vector(-3.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(-3.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartRotationY(7, Math::PI);
|
||||
|
||||
// Creates the right-front wheel.
|
||||
|
@ -475,7 +475,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(8, Math::Vector(2.0f, 1.0f, -3.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(2.0f, 1.0f, -3.0f));
|
||||
|
||||
// Creates the left-front wheel.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -483,7 +483,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(9, Math::Vector(2.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartPosition(9, glm::vec3(2.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartRotationY(9, Math::PI);
|
||||
}
|
||||
|
||||
|
@ -495,7 +495,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(6, Math::Vector(-2.0f, 1.0f, -3.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(-2.0f, 1.0f, -3.0f));
|
||||
|
||||
// Creates the left-back wheel.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -503,7 +503,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(7, Math::Vector(-2.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(-2.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartRotationY(7, Math::PI);
|
||||
|
||||
// Creates the right-front wheel.
|
||||
|
@ -512,7 +512,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(8, Math::Vector(3.0f, 1.0f, -3.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(3.0f, 1.0f, -3.0f));
|
||||
|
||||
// Creates the left-front wheel.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -520,7 +520,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
modelManager->AddModelReference("lem2w.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(9, Math::Vector(3.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartPosition(9, glm::vec3(3.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartRotationY(9, Math::PI);
|
||||
}
|
||||
|
||||
|
@ -539,11 +539,11 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
modelManager->AddModelCopy("lem2t.mod", false, rank, m_object->GetTeam());
|
||||
if (m_object->GetTrainer() || type == OBJECT_MOBILEtt)
|
||||
{
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, 2.0f, -3.55f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, 2.0f, -3.55f));
|
||||
m_object->SetPartScaleZ(6, 0.725f);
|
||||
}
|
||||
else
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, 2.0f, -3.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, 2.0f, -3.0f));
|
||||
|
||||
// Creates the left caterpillar.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -553,11 +553,11 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
modelManager->AddModelCopy("lem3t.mod", false, rank, m_object->GetTeam());
|
||||
if (m_object->GetTrainer() || type == OBJECT_MOBILEtt)
|
||||
{
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 2.0f, 3.55f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 2.0f, 3.55f));
|
||||
m_object->SetPartScaleZ(7, 0.725f);
|
||||
}
|
||||
else
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 2.0f, 3.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 2.0f, 3.0f));
|
||||
}
|
||||
|
||||
if (type == OBJECT_MOBILErt ||
|
||||
|
@ -572,7 +572,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelCopy("roller2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, 2.0f, -3.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, 2.0f, -3.0f));
|
||||
|
||||
// Creates the left caterpillar.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -580,7 +580,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelCopy("roller3.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 2.0f, 3.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 2.0f, 3.0f));
|
||||
}
|
||||
|
||||
if (type == OBJECT_MOBILEsa ||
|
||||
|
@ -592,7 +592,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelCopy("subm4.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, 1.0f, -3.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, 1.0f, -3.0f));
|
||||
|
||||
// Creates the left caterpillar.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -600,7 +600,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelCopy("subm5.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 1.0f, 3.0f));
|
||||
}
|
||||
|
||||
if (type == OBJECT_MOBILEdr) // caterpillars?
|
||||
|
@ -611,7 +611,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelCopy("drawer2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(6, Math::Vector(0.0f, 1.0f, -3.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(0.0f, 1.0f, -3.0f));
|
||||
|
||||
// Creates the left caterpillar.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -619,7 +619,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelCopy("drawer3.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(7, Math::Vector(0.0f, 1.0f, 3.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(0.0f, 1.0f, 3.0f));
|
||||
}
|
||||
|
||||
if (type == OBJECT_MOBILEfa ||
|
||||
|
@ -635,7 +635,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("lem2f.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(6, Math::Vector(1.7f, 3.0f, 0.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(1.7f, 3.0f, 0.0f));
|
||||
|
||||
// Creates the right-back foot.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -643,7 +643,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelReference("lem2f.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(7, Math::Vector(-1.8f, 3.0f, -1.5f));
|
||||
m_object->SetPartPosition(7, glm::vec3(-1.8f, 3.0f, -1.5f));
|
||||
m_object->SetPartRotationY(7, 120.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the left-back foot.
|
||||
|
@ -652,7 +652,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
modelManager->AddModelReference("lem2f.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(8, Math::Vector(-1.8f, 3.0f, 1.5f));
|
||||
m_object->SetPartPosition(8, glm::vec3(-1.8f, 3.0f, 1.5f));
|
||||
m_object->SetPartRotationY(8, -120.0f*Math::PI/180.0f);
|
||||
}
|
||||
|
||||
|
@ -722,7 +722,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("roller2t.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, 0.0f);
|
||||
|
||||
// Creates the pestle.
|
||||
|
@ -731,7 +731,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("roller3t.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(9.0f, 4.0f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(9.0f, 4.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(2, 0.0f);
|
||||
}
|
||||
|
||||
|
@ -743,7 +743,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("roller2c.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(3.0f, 4.6f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(3.0f, 4.6f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, Math::PI/8.0f);
|
||||
|
||||
// Creates the cannon.
|
||||
|
@ -752,7 +752,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("roller3p.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(7.0f, 6.5f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(7.0f, 6.5f, 0.0f));
|
||||
m_object->SetPartRotationZ(2, 0.0f);
|
||||
}
|
||||
|
||||
|
@ -764,7 +764,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("recover1.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(2.0f, 5.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(2.0f, 5.0f, 0.0f));
|
||||
|
||||
// Creates the right arm.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -772,7 +772,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
modelManager->AddModelReference("recover2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(0.1f, 0.0f, -5.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(0.1f, 0.0f, -5.0f));
|
||||
m_object->SetPartRotationZ(2, 126.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the right forearm.
|
||||
|
@ -781,7 +781,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
modelManager->AddModelReference("recover3.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(3, Math::Vector(5.0f, 0.0f, -0.5f));
|
||||
m_object->SetPartPosition(3, glm::vec3(5.0f, 0.0f, -0.5f));
|
||||
m_object->SetPartRotationZ(3, -144.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the left arm.
|
||||
|
@ -790,7 +790,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 1);
|
||||
modelManager->AddModelReference("recover2.mod", true, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(4, Math::Vector(0.1f, 0.0f, 5.0f));
|
||||
m_object->SetPartPosition(4, glm::vec3(0.1f, 0.0f, 5.0f));
|
||||
m_object->SetPartRotationZ(4, 126.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the left forearm.
|
||||
|
@ -799,7 +799,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
modelManager->AddModelReference("recover3.mod", true, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(5, Math::Vector(5.0f, 0.0f, 0.5f));
|
||||
m_object->SetPartPosition(5, glm::vec3(5.0f, 0.0f, 0.5f));
|
||||
m_object->SetPartRotationZ(5, -144.0f*Math::PI/180.0f);
|
||||
}
|
||||
|
||||
|
@ -811,7 +811,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("roller2s.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(1, 0.0f);
|
||||
|
||||
// Creates the intermediate piston.
|
||||
|
@ -820,7 +820,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
modelManager->AddModelReference("roller3s.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(7.0f, 4.5f, 0.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(7.0f, 4.5f, 0.0f));
|
||||
m_object->SetPartRotationZ(2, 0.0f);
|
||||
|
||||
// Creates the piston with the sphere.
|
||||
|
@ -829,7 +829,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
modelManager->AddModelReference("roller4s.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(3, Math::Vector(0.0f, 1.0f, 0.0f));
|
||||
m_object->SetPartPosition(3, glm::vec3(0.0f, 1.0f, 0.0f));
|
||||
m_object->SetPartRotationZ(3, 0.0f);
|
||||
}
|
||||
|
||||
|
@ -841,7 +841,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("subm2.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(4.2f, 3.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(4.2f, 3.0f, 0.0f));
|
||||
|
||||
// Creates the right tong.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -849,7 +849,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
modelManager->AddModelReference("subm3.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(2, Math::Vector(0.5f, 0.0f, -1.5f));
|
||||
m_object->SetPartPosition(2, glm::vec3(0.5f, 0.0f, -1.5f));
|
||||
|
||||
// Creates the left tong.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -857,7 +857,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 1);
|
||||
modelManager->AddModelReference("subm3.mod", true, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(3, Math::Vector(0.5f, 0.0f, 1.5f));
|
||||
m_object->SetPartPosition(3, glm::vec3(0.5f, 0.0f, 1.5f));
|
||||
|
||||
if (m_object->GetTrainer())
|
||||
{
|
||||
|
@ -877,7 +877,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("drawer4.mod", false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(1, Math::Vector(-3.0f, 3.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(-3.0f, 3.0f, 0.0f));
|
||||
|
||||
// Creates the key.
|
||||
if ( m_object->GetToy() )
|
||||
|
@ -887,7 +887,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("drawer5.mod", false, rank, m_object->GetTeam());
|
||||
m_posKey = Math::Vector(3.0f, 5.7f, 0.0f);
|
||||
m_posKey = glm::vec3(3.0f, 5.7f, 0.0f);
|
||||
m_object->SetPartPosition(2, m_posKey);
|
||||
m_object->SetPartRotationY(2, 90.0f*Math::PI/180.0f);
|
||||
}
|
||||
|
@ -901,7 +901,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectParent(10+i, 1);
|
||||
sprintf(name, "drawer%d.mod", 10+i);
|
||||
modelManager->AddModelReference(name, false, rank, m_object->GetTeam());
|
||||
m_object->SetPartPosition(10+i, Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(10+i, glm::vec3(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetPartRotationY(10+i, 45.0f*Math::PI/180.0f*i);
|
||||
}
|
||||
}
|
||||
|
@ -916,7 +916,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("drawer5.mod", false, rank, m_object->GetTeam());
|
||||
m_posKey = Math::Vector(0.2f, 4.1f, 0.0f);
|
||||
m_posKey = glm::vec3(0.2f, 4.1f, 0.0f);
|
||||
m_object->SetPartPosition(2, m_posKey);
|
||||
m_object->SetPartRotationY(2, 90.0f*Math::PI/180.0f);
|
||||
}
|
||||
|
@ -930,7 +930,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("apolloj2.mod", false, rank, m_object->GetTeam()); // antenna
|
||||
m_object->SetPartPosition(1, Math::Vector(5.5f, 8.8f, 2.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(5.5f, 8.8f, 2.0f));
|
||||
m_object->SetPartRotationY(1, -120.0f*Math::PI/180.0f);
|
||||
m_object->SetPartRotationZ(1, 45.0f*Math::PI/180.0f);
|
||||
|
||||
|
@ -939,7 +939,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
modelManager->AddModelReference("apolloj3.mod", false, rank, m_object->GetTeam()); // camera
|
||||
m_object->SetPartPosition(2, Math::Vector(5.5f, 2.8f, -2.0f));
|
||||
m_object->SetPartPosition(2, glm::vec3(5.5f, 2.8f, -2.0f));
|
||||
m_object->SetPartRotationY(2, 30.0f*Math::PI/180.0f);
|
||||
|
||||
// Creates the wheels.
|
||||
|
@ -948,28 +948,28 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
modelManager->AddModelReference("apolloj4.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(6, Math::Vector(-5.75f, 1.65f, -5.0f));
|
||||
m_object->SetPartPosition(6, glm::vec3(-5.75f, 1.65f, -5.0f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
modelManager->AddModelReference("apolloj4.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(7, Math::Vector(-5.75f, 1.65f, 5.0f));
|
||||
m_object->SetPartPosition(7, glm::vec3(-5.75f, 1.65f, 5.0f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
modelManager->AddModelReference("apolloj4.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(8, Math::Vector(5.75f, 1.65f, -5.0f));
|
||||
m_object->SetPartPosition(8, glm::vec3(5.75f, 1.65f, -5.0f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
modelManager->AddModelReference("apolloj4.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(9, Math::Vector(5.75f, 1.65f, 5.00f));
|
||||
m_object->SetPartPosition(9, glm::vec3(5.75f, 1.65f, 5.00f));
|
||||
|
||||
// Creates mud guards.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -977,28 +977,28 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 0);
|
||||
modelManager->AddModelReference("apolloj6.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(10, Math::Vector(-5.75f, 1.65f, -5.0f));
|
||||
m_object->SetPartPosition(10, glm::vec3(-5.75f, 1.65f, -5.0f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 0);
|
||||
modelManager->AddModelReference("apolloj6.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(11, Math::Vector(-5.75f, 1.65f, 5.0f));
|
||||
m_object->SetPartPosition(11, glm::vec3(-5.75f, 1.65f, 5.0f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
modelManager->AddModelReference("apolloj5.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(12, Math::Vector(5.75f, 1.65f, -5.0f));
|
||||
m_object->SetPartPosition(12, glm::vec3(5.75f, 1.65f, -5.0f));
|
||||
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 0);
|
||||
modelManager->AddModelReference("apolloj5.mod", false, rank, m_object->GetTeam()); // wheel
|
||||
m_object->SetPartPosition(13, Math::Vector(5.75f, 1.65f, 5.00f));
|
||||
m_object->SetPartPosition(13, glm::vec3(5.75f, 1.65f, 5.00f));
|
||||
}
|
||||
|
||||
if (type == OBJECT_MOBILErt ||
|
||||
|
@ -1061,7 +1061,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
type != OBJECT_APOLLO2)
|
||||
{
|
||||
CObject* powerCell = nullptr;
|
||||
Math::Vector powerCellPos = m_object->GetPowerPosition();
|
||||
glm::vec3 powerCellPos = m_object->GetPowerPosition();
|
||||
float powerCellAngle = 0.0f;
|
||||
if (power <= 1.0f)
|
||||
{
|
||||
|
@ -1074,7 +1074,7 @@ void CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
assert(powerCell->Implements(ObjectInterfaceType::Transportable));
|
||||
|
||||
powerCell->SetPosition(powerCellPos);
|
||||
powerCell->SetRotation(Math::Vector(0.0f, powerCellAngle, 0.0f));
|
||||
powerCell->SetRotation(glm::vec3(0.0f, powerCellAngle, 0.0f));
|
||||
dynamic_cast<CTransportableObject&>(*powerCell).SetTransporter(m_object);
|
||||
assert(m_object->Implements(ObjectInterfaceType::Powered));
|
||||
m_object->SetPower(powerCell);
|
||||
|
@ -1105,7 +1105,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 4.0f;
|
||||
character->wheelLeft = 4.0f;
|
||||
character->wheelRight = 4.0f;
|
||||
m_object->SetPowerPosition(Math::Vector(-3.2f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-3.2f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 20.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
|
||||
|
@ -1131,7 +1131,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 3.0f;
|
||||
character->wheelLeft = 4.0f;
|
||||
character->wheelRight = 4.0f;
|
||||
m_object->SetPowerPosition(Math::Vector(-3.2f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-3.2f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 20.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
|
||||
|
@ -1162,7 +1162,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 4.0f;
|
||||
character->wheelLeft = 4.8f;
|
||||
character->wheelRight = 4.8f;
|
||||
m_object->SetPowerPosition(Math::Vector(-3.2f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-3.2f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 8.0f);
|
||||
|
@ -1193,7 +1193,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 4.0f;
|
||||
character->wheelLeft = 5.0f;
|
||||
character->wheelRight = 5.0f;
|
||||
m_object->SetPowerPosition(Math::Vector(-3.2f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-3.2f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 8.0f);
|
||||
|
@ -1225,7 +1225,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 4.0f;
|
||||
character->wheelLeft = 4.5f;
|
||||
character->wheelRight = 4.5f;
|
||||
m_object->SetPowerPosition(Math::Vector(-3.2f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-3.2f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 50.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 50.0f);
|
||||
|
@ -1260,7 +1260,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 5.0f;
|
||||
character->wheelLeft = 6.0f;
|
||||
character->wheelRight = 6.0f;
|
||||
m_object->SetPowerPosition(Math::Vector(-5.8f, 4.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-5.8f, 4.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 10.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 5.0f);
|
||||
|
@ -1287,7 +1287,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 4.0f;
|
||||
character->wheelLeft = 4.0f;
|
||||
character->wheelRight = 4.0f;
|
||||
m_object->SetPowerPosition(Math::Vector(-5.0f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-5.0f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
|
||||
|
@ -1313,7 +1313,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
|
|||
character->wheelBack = 4.0f;
|
||||
character->wheelLeft = 4.0f;
|
||||
character->wheelRight = 4.0f;
|
||||
m_object->SetPowerPosition(Math::Vector(-5.0f, 3.0f, 0.0f));
|
||||
m_object->SetPowerPosition(glm::vec3(-5.0f, 3.0f, 0.0f));
|
||||
|
||||
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
|
||||
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
|
||||
|
@ -1384,7 +1384,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
|
|||
{
|
||||
Math::Matrix* mat;
|
||||
Character* character;
|
||||
Math::Vector pos, angle, floor;
|
||||
glm::vec3 pos, angle, floor;
|
||||
ObjectType type;
|
||||
float s, a, speedBL, speedBR, speedFL, speedFR, h, a1, a2;
|
||||
float back, front, dist, radius, limit[2];
|
||||
|
@ -1545,17 +1545,17 @@ bool CMotionVehicle::EventFrame(const Event &event)
|
|||
}
|
||||
else
|
||||
{
|
||||
m_object->SetPartPosition(6, Math::Vector(back, radius, -dist));
|
||||
m_object->SetPartPosition(7, Math::Vector(back, radius, dist));
|
||||
m_object->SetPartPosition(8, Math::Vector(front, radius, -dist));
|
||||
m_object->SetPartPosition(9, Math::Vector(front, radius, dist));
|
||||
m_object->SetPartPosition(6, glm::vec3(back, radius, -dist));
|
||||
m_object->SetPartPosition(7, glm::vec3(back, radius, dist));
|
||||
m_object->SetPartPosition(8, glm::vec3(front, radius, -dist));
|
||||
m_object->SetPartPosition(9, glm::vec3(front, radius, dist));
|
||||
|
||||
if ( type == OBJECT_APOLLO2 )
|
||||
{
|
||||
m_object->SetPartPosition(10, Math::Vector(back, radius, -dist));
|
||||
m_object->SetPartPosition(11, Math::Vector(back, radius, dist));
|
||||
m_object->SetPartPosition(12, Math::Vector(front, radius, -dist));
|
||||
m_object->SetPartPosition(13, Math::Vector(front, radius, dist));
|
||||
m_object->SetPartPosition(10, glm::vec3(back, radius, -dist));
|
||||
m_object->SetPartPosition(11, glm::vec3(back, radius, dist));
|
||||
m_object->SetPartPosition(12, glm::vec3(front, radius, -dist));
|
||||
m_object->SetPartPosition(13, glm::vec3(front, radius, dist));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1721,7 +1721,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
|
|||
bool CMotionVehicle::EventFrameFly(const Event &event)
|
||||
{
|
||||
Math::Matrix* mat;
|
||||
Math::Vector pos, angle, paw[3];
|
||||
glm::vec3 pos, angle, paw[3];
|
||||
float hope[3], actual, final, h, a;
|
||||
int i;
|
||||
|
||||
|
@ -1741,9 +1741,9 @@ bool CMotionVehicle::EventFrameFly(const Event &event)
|
|||
if ( m_physics->GetLand() ) // on the ground?
|
||||
{
|
||||
mat = m_object->GetWorldMatrix(0);
|
||||
paw[0] = Transform(*mat, Math::Vector( 4.2f, 0.0f, 0.0f)); // front
|
||||
paw[1] = Transform(*mat, Math::Vector(-3.0f, 0.0f, -3.7f)); // right back
|
||||
paw[2] = Transform(*mat, Math::Vector(-3.0f, 0.0f, 3.7f)); // left back
|
||||
paw[0] = Transform(*mat, glm::vec3( 4.2f, 0.0f, 0.0f)); // front
|
||||
paw[1] = Transform(*mat, glm::vec3(-3.0f, 0.0f, -3.7f)); // right back
|
||||
paw[2] = Transform(*mat, glm::vec3(-3.0f, 0.0f, 3.7f)); // left back
|
||||
|
||||
for ( i=0 ; i<3 ; i++ )
|
||||
{
|
||||
|
@ -1780,7 +1780,7 @@ bool CMotionVehicle::EventFrameFly(const Event &event)
|
|||
|
||||
bool CMotionVehicle::EventFrameInsect(const Event &event)
|
||||
{
|
||||
Math::Vector dir;
|
||||
glm::vec3 dir;
|
||||
float s, a, prog = 0.0f, time;
|
||||
int i, st, nd, action;
|
||||
bool bStop, bOnBoard;
|
||||
|
@ -1933,7 +1933,7 @@ bool CMotionVehicle::EventFrameInsect(const Event &event)
|
|||
|
||||
bool CMotionVehicle::EventFrameCanoni(const Event &event)
|
||||
{
|
||||
Math::Vector pos, speed;
|
||||
glm::vec3 pos, speed;
|
||||
glm::vec2 dim;
|
||||
float zoom, angle, factor;
|
||||
bool bOnBoard = false;
|
||||
|
|
|
@ -30,7 +30,7 @@ public:
|
|||
~CMotionVehicle();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
|
||||
protected:
|
||||
|
@ -50,8 +50,8 @@ protected:
|
|||
float m_armTimeAbs;
|
||||
float m_armMember;
|
||||
float m_canonTime;
|
||||
Math::Vector m_wheelLastPos;
|
||||
Math::Vector m_wheelLastAngle;
|
||||
Math::Vector m_posKey;
|
||||
glm::vec3 m_wheelLastPos = { 0, 0, 0 };
|
||||
glm::vec3 m_wheelLastAngle = { 0, 0, 0 };
|
||||
glm::vec3 m_posKey = { 0, 0, 0 };
|
||||
bool m_bFlyFix;
|
||||
};
|
||||
|
|
|
@ -85,7 +85,7 @@ void CMotionWorm::DeleteObject(bool bAll)
|
|||
|
||||
// Creates a vehicle traveling any lands on the ground.
|
||||
|
||||
void CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
void CMotionWorm::Create(glm::vec3 pos, float angle, ObjectType type,
|
||||
float power, Gfx::COldModelManager* modelManager)
|
||||
{
|
||||
int rank, i;
|
||||
|
@ -102,8 +102,8 @@ void CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetRotationY(angle);
|
||||
|
||||
// A vehicle must have a obligatory collision with a sphere of center (0, y, 0) (see GetCrashSphere).
|
||||
m_object->AddCrashSphere(CrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(Math::Vector(0.0f, 0.0f, 0.0f), 5.0f));
|
||||
m_object->AddCrashSphere(CrashSphere(glm::vec3(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f));
|
||||
m_object->SetCameraCollisionSphere(Math::Sphere(glm::vec3(0.0f, 0.0f, 0.0f), 5.0f));
|
||||
|
||||
px = 1.0f+WORM_PART/2;
|
||||
|
||||
|
@ -113,7 +113,7 @@ void CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
modelManager->AddModelReference("worm1.mod", false, rank);
|
||||
m_object->SetPartPosition(1, Math::Vector(px, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(1, glm::vec3(px, 0.0f, 0.0f));
|
||||
px -= 1.0f;
|
||||
|
||||
// Creates the body.
|
||||
|
@ -124,7 +124,7 @@ void CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2+i, rank);
|
||||
m_object->SetObjectParent(2+i, 0);
|
||||
modelManager->AddModelReference("worm2.mod", false, rank);
|
||||
m_object->SetPartPosition(2+i, Math::Vector(px, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2+i, glm::vec3(px, 0.0f, 0.0f));
|
||||
px -= 1.0f;
|
||||
}
|
||||
|
||||
|
@ -134,7 +134,7 @@ void CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_object->SetObjectRank(2+WORM_PART, rank);
|
||||
m_object->SetObjectParent(2+WORM_PART, 0);
|
||||
modelManager->AddModelReference("worm3.mod", false, rank);
|
||||
m_object->SetPartPosition(2+WORM_PART, Math::Vector(px, 0.0f, 0.0f));
|
||||
m_object->SetPartPosition(2+WORM_PART, glm::vec3(px, 0.0f, 0.0f));
|
||||
|
||||
m_object->CreateShadowCircle(0.0f, 1.0f, Gfx::ENG_SHADOW_WORM);
|
||||
|
||||
|
@ -231,7 +231,7 @@ bool CMotionWorm::EventProcess(const Event &event)
|
|||
bool CMotionWorm::EventFrame(const Event &event)
|
||||
{
|
||||
Math::Matrix* mat;
|
||||
Math::Vector pos, p, angle, speed;
|
||||
glm::vec3 pos, p, angle, speed;
|
||||
glm::vec2 center, pp, dim;
|
||||
float height[WORM_PART+2];
|
||||
float floor, a, s, px, curve, phase, h, zoom, radius;
|
||||
|
@ -331,7 +331,7 @@ bool CMotionWorm::EventFrame(const Event &event)
|
|||
pos.y += -height[i];
|
||||
pos.x += (Math::Rand()-0.5f)*4.0f;
|
||||
pos.z += (Math::Rand()-0.5f)*4.0f;
|
||||
speed = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
speed = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
dim.x = Math::Rand()*2.0f+1.5f;
|
||||
dim.y = dim.x;
|
||||
m_particle->CreateParticle(pos, speed, dim, Gfx::PARTICRASH, 2.0f);
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
~CMotionWorm();
|
||||
|
||||
void DeleteObject(bool bAll=false) override;
|
||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
void Create(glm::vec3 pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager) override;
|
||||
bool EventProcess(const Event &event) override;
|
||||
|
||||
bool SetParam(int rank, float value) override;
|
||||
|
|
Loading…
Reference in New Issue